com.amazonaws.services.route53.AmazonRoute53Client Maven / Gradle / Ivy
Show all versions of aws-java-sdk-route53 Show documentation
/*
* Copyright 2019-2024 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.route53;
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.route53.AmazonRoute53ClientBuilder;
import com.amazonaws.services.route53.waiters.AmazonRoute53Waiters;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.services.route53.model.*;
import com.amazonaws.services.route53.model.transform.*;
/**
* Client for accessing Route 53. All service calls made using this client are blocking, and will not return until the
* service call completes.
*
*
* Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service.
*
*
* You can use Route 53 to:
*
*
* -
*
* Register domain names.
*
*
* For more information, see How domain
* registration works.
*
*
* -
*
* Route internet traffic to the resources for your domain
*
*
* For more information, see How internet traffic is
* routed to your website or web application.
*
*
* -
*
* Check the health of your resources.
*
*
* For more information, see How Route 53 checks the
* health of your resources.
*
*
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AmazonRoute53Client extends AmazonWebServiceClient implements AmazonRoute53 {
/** Provider for AWS credentials. */
private final AWSCredentialsProvider awsCredentialsProvider;
private static final Log log = LogFactory.getLog(AmazonRoute53.class);
/** Default signing name for the service. */
private static final String DEFAULT_SIGNING_NAME = "route53";
private volatile AmazonRoute53Waiters waiters;
/** Client configuration factory providing ClientConfigurations tailored to this client */
protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory();
private final AdvancedConfig advancedConfig;
/**
* Map of exception unmarshallers for all modeled exceptions
*/
private final Map> exceptionUnmarshallersMap = new HashMap>();
/**
* List of exception unmarshallers for all modeled exceptions Even though this exceptionUnmarshallers is not used in
* Clients, this is not removed since this was directly used by Client extended classes. Using this list can cause
* performance impact.
*/
protected final List> exceptionUnmarshallers = new ArrayList>();
protected Unmarshaller defaultUnmarshaller;
/**
* Constructs a new client to invoke service methods on Route 53. A credentials provider chain will be used that
* searches for credentials in this order:
*
* - Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
* - Java System Properties - aws.accessKeyId and aws.secretKey
* - Instance profile credentials delivered through the Amazon EC2 metadata service
*
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @see DefaultAWSCredentialsProviderChain
* @deprecated use {@link AmazonRoute53ClientBuilder#defaultClient()}
*/
@Deprecated
public AmazonRoute53Client() {
this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on Route 53. A credentials provider chain will be used that
* searches for credentials in this order:
*
* - Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
* - Java System Properties - aws.accessKeyId and aws.secretKey
* - Instance profile credentials delivered through the Amazon EC2 metadata service
*
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientConfiguration
* The client configuration options controlling how this client connects to Route 53 (ex: proxy settings,
* retry counts, etc.).
*
* @see DefaultAWSCredentialsProviderChain
* @deprecated use {@link AmazonRoute53ClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AmazonRoute53Client(ClientConfiguration clientConfiguration) {
this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration);
}
/**
* Constructs a new client to invoke service methods on Route 53 using the specified AWS account credentials.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentials
* The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
* @deprecated use {@link AmazonRoute53ClientBuilder#withCredentials(AWSCredentialsProvider)} for example:
* {@code AmazonRoute53ClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();}
*/
@Deprecated
public AmazonRoute53Client(AWSCredentials awsCredentials) {
this(awsCredentials, configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on Route 53 using the specified AWS account credentials and
* client configuration options.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentials
* The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
* @param clientConfiguration
* The client configuration options controlling how this client connects to Route 53 (ex: proxy settings,
* retry counts, etc.).
* @deprecated use {@link AmazonRoute53ClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AmazonRoute53ClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AmazonRoute53Client(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) {
super(clientConfiguration);
this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials);
this.advancedConfig = AdvancedConfig.EMPTY;
init();
}
/**
* Constructs a new client to invoke service methods on Route 53 using the specified AWS account credentials
* provider.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
* @deprecated use {@link AmazonRoute53ClientBuilder#withCredentials(AWSCredentialsProvider)}
*/
@Deprecated
public AmazonRoute53Client(AWSCredentialsProvider awsCredentialsProvider) {
this(awsCredentialsProvider, configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on Route 53 using the specified AWS account credentials
* provider and client configuration options.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
* @param clientConfiguration
* The client configuration options controlling how this client connects to Route 53 (ex: proxy settings,
* retry counts, etc.).
* @deprecated use {@link AmazonRoute53ClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AmazonRoute53ClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AmazonRoute53Client(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) {
this(awsCredentialsProvider, clientConfiguration, null);
}
/**
* Constructs a new client to invoke service methods on Route 53 using the specified AWS account credentials
* provider, client configuration options, and request metric collector.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
* @param clientConfiguration
* The client configuration options controlling how this client connects to Route 53 (ex: proxy settings,
* retry counts, etc.).
* @param requestMetricCollector
* optional request metric collector
* @deprecated use {@link AmazonRoute53ClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AmazonRoute53ClientBuilder#withClientConfiguration(ClientConfiguration)} and
* {@link AmazonRoute53ClientBuilder#withMetricsCollector(RequestMetricCollector)}
*/
@Deprecated
public AmazonRoute53Client(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration,
RequestMetricCollector requestMetricCollector) {
super(clientConfiguration, requestMetricCollector);
this.awsCredentialsProvider = awsCredentialsProvider;
this.advancedConfig = AdvancedConfig.EMPTY;
init();
}
public static AmazonRoute53ClientBuilder builder() {
return AmazonRoute53ClientBuilder.standard();
}
/**
* Constructs a new client to invoke service methods on Route 53 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.
*/
AmazonRoute53Client(AwsSyncClientParams clientParams) {
this(clientParams, false);
}
/**
* Constructs a new client to invoke service methods on Route 53 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.
*/
AmazonRoute53Client(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) {
super(clientParams);
this.awsCredentialsProvider = clientParams.getCredentialsProvider();
this.advancedConfig = clientParams.getAdvancedConfig();
init();
}
private void init() {
if (exceptionUnmarshallersMap.get("ConcurrentModification") == null) {
exceptionUnmarshallersMap.put("ConcurrentModification", new ConcurrentModificationExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new ConcurrentModificationExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InvalidKeySigningKeyName") == null) {
exceptionUnmarshallersMap.put("InvalidKeySigningKeyName", new InvalidKeySigningKeyNameExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InvalidKeySigningKeyNameExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("TooManyTrafficPolicyVersionsForCurrentPolicy") == null) {
exceptionUnmarshallersMap.put("TooManyTrafficPolicyVersionsForCurrentPolicy",
new TooManyTrafficPolicyVersionsForCurrentPolicyExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new TooManyTrafficPolicyVersionsForCurrentPolicyExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchCidrLocationException") == null) {
exceptionUnmarshallersMap.put("NoSuchCidrLocationException", new NoSuchCidrLocationExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchCidrLocationExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("IncompatibleVersion") == null) {
exceptionUnmarshallersMap.put("IncompatibleVersion", new IncompatibleVersionExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new IncompatibleVersionExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchTrafficPolicy") == null) {
exceptionUnmarshallersMap.put("NoSuchTrafficPolicy", new NoSuchTrafficPolicyExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchTrafficPolicyExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("TooManyTrafficPolicies") == null) {
exceptionUnmarshallersMap.put("TooManyTrafficPolicies", new TooManyTrafficPoliciesExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new TooManyTrafficPoliciesExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("DelegationSetAlreadyCreated") == null) {
exceptionUnmarshallersMap.put("DelegationSetAlreadyCreated", new DelegationSetAlreadyCreatedExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new DelegationSetAlreadyCreatedExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchHostedZone") == null) {
exceptionUnmarshallersMap.put("NoSuchHostedZone", new NoSuchHostedZoneExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchHostedZoneExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("QueryLoggingConfigAlreadyExists") == null) {
exceptionUnmarshallersMap.put("QueryLoggingConfigAlreadyExists", new QueryLoggingConfigAlreadyExistsExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new QueryLoggingConfigAlreadyExistsExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("VPCAssociationNotFound") == null) {
exceptionUnmarshallersMap.put("VPCAssociationNotFound", new VPCAssociationNotFoundExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new VPCAssociationNotFoundExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("HostedZoneNotPrivate") == null) {
exceptionUnmarshallersMap.put("HostedZoneNotPrivate", new HostedZoneNotPrivateExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new HostedZoneNotPrivateExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("PublicZoneVPCAssociation") == null) {
exceptionUnmarshallersMap.put("PublicZoneVPCAssociation", new PublicZoneVPCAssociationExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new PublicZoneVPCAssociationExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchGeoLocation") == null) {
exceptionUnmarshallersMap.put("NoSuchGeoLocation", new NoSuchGeoLocationExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchGeoLocationExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("KeySigningKeyInUse") == null) {
exceptionUnmarshallersMap.put("KeySigningKeyInUse", new KeySigningKeyInUseExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new KeySigningKeyInUseExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("KeySigningKeyAlreadyExists") == null) {
exceptionUnmarshallersMap.put("KeySigningKeyAlreadyExists", new KeySigningKeyAlreadyExistsExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new KeySigningKeyAlreadyExistsExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("KeySigningKeyWithActiveStatusNotFound") == null) {
exceptionUnmarshallersMap.put("KeySigningKeyWithActiveStatusNotFound", new KeySigningKeyWithActiveStatusNotFoundExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new KeySigningKeyWithActiveStatusNotFoundExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("CidrCollectionInUseException") == null) {
exceptionUnmarshallersMap.put("CidrCollectionInUseException", new CidrCollectionInUseExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new CidrCollectionInUseExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InsufficientCloudWatchLogsResourcePolicy") == null) {
exceptionUnmarshallersMap.put("InsufficientCloudWatchLogsResourcePolicy", new InsufficientCloudWatchLogsResourcePolicyExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InsufficientCloudWatchLogsResourcePolicyExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("KeySigningKeyInParentDSRecord") == null) {
exceptionUnmarshallersMap.put("KeySigningKeyInParentDSRecord", new KeySigningKeyInParentDSRecordExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new KeySigningKeyInParentDSRecordExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("HealthCheckVersionMismatch") == null) {
exceptionUnmarshallersMap.put("HealthCheckVersionMismatch", new HealthCheckVersionMismatchExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new HealthCheckVersionMismatchExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("HealthCheckAlreadyExists") == null) {
exceptionUnmarshallersMap.put("HealthCheckAlreadyExists", new HealthCheckAlreadyExistsExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new HealthCheckAlreadyExistsExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchDelegationSet") == null) {
exceptionUnmarshallersMap.put("NoSuchDelegationSet", new NoSuchDelegationSetExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchDelegationSetExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NotAuthorizedException") == null) {
exceptionUnmarshallersMap.put("NotAuthorizedException", new NotAuthorizedExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NotAuthorizedExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("CidrBlockInUseException") == null) {
exceptionUnmarshallersMap.put("CidrBlockInUseException", new CidrBlockInUseExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new CidrBlockInUseExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("TooManyTrafficPolicyInstances") == null) {
exceptionUnmarshallersMap.put("TooManyTrafficPolicyInstances", new TooManyTrafficPolicyInstancesExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new TooManyTrafficPolicyInstancesExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("CidrCollectionVersionMismatchException") == null) {
exceptionUnmarshallersMap.put("CidrCollectionVersionMismatchException", new CidrCollectionVersionMismatchExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new CidrCollectionVersionMismatchExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InvalidPaginationToken") == null) {
exceptionUnmarshallersMap.put("InvalidPaginationToken", new InvalidPaginationTokenExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InvalidPaginationTokenExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("DelegationSetNotAvailable") == null) {
exceptionUnmarshallersMap.put("DelegationSetNotAvailable", new DelegationSetNotAvailableExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new DelegationSetNotAvailableExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchTrafficPolicyInstance") == null) {
exceptionUnmarshallersMap.put("NoSuchTrafficPolicyInstance", new NoSuchTrafficPolicyInstanceExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchTrafficPolicyInstanceExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("HostedZoneNotEmpty") == null) {
exceptionUnmarshallersMap.put("HostedZoneNotEmpty", new HostedZoneNotEmptyExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new HostedZoneNotEmptyExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("VPCAssociationAuthorizationNotFound") == null) {
exceptionUnmarshallersMap.put("VPCAssociationAuthorizationNotFound", new VPCAssociationAuthorizationNotFoundExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new VPCAssociationAuthorizationNotFoundExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InvalidDomainName") == null) {
exceptionUnmarshallersMap.put("InvalidDomainName", new InvalidDomainNameExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InvalidDomainNameExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("TooManyHealthChecks") == null) {
exceptionUnmarshallersMap.put("TooManyHealthChecks", new TooManyHealthChecksExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new TooManyHealthChecksExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("DNSSECNotFound") == null) {
exceptionUnmarshallersMap.put("DNSSECNotFound", new DNSSECNotFoundExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new DNSSECNotFoundExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("HealthCheckInUse") == null) {
exceptionUnmarshallersMap.put("HealthCheckInUse", new HealthCheckInUseExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new HealthCheckInUseExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InvalidChangeBatch") == null) {
exceptionUnmarshallersMap.put("InvalidChangeBatch", new InvalidChangeBatchExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InvalidChangeBatchExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("HostedZoneAlreadyExists") == null) {
exceptionUnmarshallersMap.put("HostedZoneAlreadyExists", new HostedZoneAlreadyExistsExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new HostedZoneAlreadyExistsExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InvalidTrafficPolicyDocument") == null) {
exceptionUnmarshallersMap.put("InvalidTrafficPolicyDocument", new InvalidTrafficPolicyDocumentExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InvalidTrafficPolicyDocumentExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("ThrottlingException") == null) {
exceptionUnmarshallersMap.put("ThrottlingException", new ThrottlingExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new ThrottlingExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("TrafficPolicyAlreadyExists") == null) {
exceptionUnmarshallersMap.put("TrafficPolicyAlreadyExists", new TrafficPolicyAlreadyExistsExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new TrafficPolicyAlreadyExistsExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("DelegationSetAlreadyReusable") == null) {
exceptionUnmarshallersMap.put("DelegationSetAlreadyReusable", new DelegationSetAlreadyReusableExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new DelegationSetAlreadyReusableExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InvalidVPCId") == null) {
exceptionUnmarshallersMap.put("InvalidVPCId", new InvalidVPCIdExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InvalidVPCIdExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("TrafficPolicyInUse") == null) {
exceptionUnmarshallersMap.put("TrafficPolicyInUse", new TrafficPolicyInUseExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new TrafficPolicyInUseExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("TooManyHostedZones") == null) {
exceptionUnmarshallersMap.put("TooManyHostedZones", new TooManyHostedZonesExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new TooManyHostedZonesExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("HostedZonePartiallyDelegated") == null) {
exceptionUnmarshallersMap.put("HostedZonePartiallyDelegated", new HostedZonePartiallyDelegatedExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new HostedZonePartiallyDelegatedExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("TrafficPolicyInstanceAlreadyExists") == null) {
exceptionUnmarshallersMap.put("TrafficPolicyInstanceAlreadyExists", new TrafficPolicyInstanceAlreadyExistsExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new TrafficPolicyInstanceAlreadyExistsExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchChange") == null) {
exceptionUnmarshallersMap.put("NoSuchChange", new NoSuchChangeExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchChangeExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InvalidKeySigningKeyStatus") == null) {
exceptionUnmarshallersMap.put("InvalidKeySigningKeyStatus", new InvalidKeySigningKeyStatusExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InvalidKeySigningKeyStatusExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InvalidKMSArn") == null) {
exceptionUnmarshallersMap.put("InvalidKMSArn", new InvalidKMSArnExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InvalidKMSArnExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("ConflictingTypes") == null) {
exceptionUnmarshallersMap.put("ConflictingTypes", new ConflictingTypesExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new ConflictingTypesExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("LastVPCAssociation") == null) {
exceptionUnmarshallersMap.put("LastVPCAssociation", new LastVPCAssociationExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new LastVPCAssociationExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("DelegationSetNotReusable") == null) {
exceptionUnmarshallersMap.put("DelegationSetNotReusable", new DelegationSetNotReusableExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new DelegationSetNotReusableExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("PriorRequestNotComplete") == null) {
exceptionUnmarshallersMap.put("PriorRequestNotComplete", new PriorRequestNotCompleteExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new PriorRequestNotCompleteExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("HostedZoneNotFound") == null) {
exceptionUnmarshallersMap.put("HostedZoneNotFound", new HostedZoneNotFoundExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new HostedZoneNotFoundExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InvalidArgument") == null) {
exceptionUnmarshallersMap.put("InvalidArgument", new InvalidArgumentExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InvalidArgumentExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchKeySigningKey") == null) {
exceptionUnmarshallersMap.put("NoSuchKeySigningKey", new NoSuchKeySigningKeyExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchKeySigningKeyExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InvalidInput") == null) {
exceptionUnmarshallersMap.put("InvalidInput", new InvalidInputExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InvalidInputExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("ConflictingDomainExists") == null) {
exceptionUnmarshallersMap.put("ConflictingDomainExists", new ConflictingDomainExistsExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new ConflictingDomainExistsExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("CidrCollectionAlreadyExistsException") == null) {
exceptionUnmarshallersMap.put("CidrCollectionAlreadyExistsException", new CidrCollectionAlreadyExistsExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new CidrCollectionAlreadyExistsExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("InvalidSigningStatus") == null) {
exceptionUnmarshallersMap.put("InvalidSigningStatus", new InvalidSigningStatusExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new InvalidSigningStatusExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("DelegationSetInUse") == null) {
exceptionUnmarshallersMap.put("DelegationSetInUse", new DelegationSetInUseExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new DelegationSetInUseExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchQueryLoggingConfig") == null) {
exceptionUnmarshallersMap.put("NoSuchQueryLoggingConfig", new NoSuchQueryLoggingConfigExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchQueryLoggingConfigExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchHealthCheck") == null) {
exceptionUnmarshallersMap.put("NoSuchHealthCheck", new NoSuchHealthCheckExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchHealthCheckExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("TooManyVPCAssociationAuthorizations") == null) {
exceptionUnmarshallersMap.put("TooManyVPCAssociationAuthorizations", new TooManyVPCAssociationAuthorizationsExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new TooManyVPCAssociationAuthorizationsExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchCloudWatchLogsLogGroup") == null) {
exceptionUnmarshallersMap.put("NoSuchCloudWatchLogsLogGroup", new NoSuchCloudWatchLogsLogGroupExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchCloudWatchLogsLogGroupExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("TooManyKeySigningKeys") == null) {
exceptionUnmarshallersMap.put("TooManyKeySigningKeys", new TooManyKeySigningKeysExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new TooManyKeySigningKeysExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("LimitsExceeded") == null) {
exceptionUnmarshallersMap.put("LimitsExceeded", new LimitsExceededExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new LimitsExceededExceptionUnmarshaller());
if (exceptionUnmarshallersMap.get("NoSuchCidrCollectionException") == null) {
exceptionUnmarshallersMap.put("NoSuchCidrCollectionException", new NoSuchCidrCollectionExceptionUnmarshaller());
}
exceptionUnmarshallers.add(new NoSuchCidrCollectionExceptionUnmarshaller());
defaultUnmarshaller = new StandardErrorUnmarshaller(com.amazonaws.services.route53.model.AmazonRoute53Exception.class);
exceptionUnmarshallers.add(new StandardErrorUnmarshaller(com.amazonaws.services.route53.model.AmazonRoute53Exception.class));
setServiceNameIntern(DEFAULT_SIGNING_NAME);
setEndpointPrefix(ENDPOINT_PREFIX);
// calling this.setEndPoint(...) will also modify the signer accordingly
this.setEndpoint("https://route53.amazonaws.com");
HandlerChainFactory chainFactory = new HandlerChainFactory();
requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/route53/request.handlers"));
requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/route53/request.handler2s"));
requestHandler2s.addAll(chainFactory.getGlobalHandlers());
}
/**
*
* Activates a key-signing key (KSK) so that it can be used for signing by DNSSEC. This operation changes the KSK
* status to ACTIVE
.
*
*
* @param activateKeySigningKeyRequest
* @return Result of the ActivateKeySigningKey operation returned by the service.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @throws NoSuchKeySigningKeyException
* The specified key-signing key (KSK) doesn't exist.
* @throws InvalidKeySigningKeyStatusException
* The key-signing key (KSK) status isn't valid or another KSK has the status INTERNAL_FAILURE
.
* @throws InvalidSigningStatusException
* Your hosted zone status isn't valid for this operation. In the hosted zone, change the status to enable
* DNSSEC
or disable DNSSEC
.
* @throws InvalidKMSArnException
* The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC signing.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.ActivateKeySigningKey
* @see AWS
* API Documentation
*/
@Override
public ActivateKeySigningKeyResult activateKeySigningKey(ActivateKeySigningKeyRequest request) {
request = beforeClientExecution(request);
return executeActivateKeySigningKey(request);
}
@SdkInternalApi
final ActivateKeySigningKeyResult executeActivateKeySigningKey(ActivateKeySigningKeyRequest activateKeySigningKeyRequest) {
ExecutionContext executionContext = createExecutionContext(activateKeySigningKeyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ActivateKeySigningKeyRequestMarshaller().marshall(super.beforeMarshalling(activateKeySigningKeyRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ActivateKeySigningKey");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ActivateKeySigningKeyResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Associates an Amazon VPC with a private hosted zone.
*
*
*
* To perform the association, the VPC and the private hosted zone must already exist. You can't convert a public
* hosted zone into a private hosted zone.
*
*
*
* If you want to associate a VPC that was created by using one Amazon Web Services account with a private hosted
* zone that was created by using a different account, the Amazon Web Services account that created the private
* hosted zone must first submit a CreateVPCAssociationAuthorization
request. Then the account that
* created the VPC must submit an AssociateVPCWithHostedZone
request.
*
*
*
* When granting access, the hosted zone and the Amazon VPC must belong to the same partition. A partition is a
* group of Amazon Web Services Regions. Each Amazon Web Services account is scoped to one partition.
*
*
* The following are the supported partitions:
*
*
* -
*
* aws
- Amazon Web Services Regions
*
*
* -
*
* aws-cn
- China Regions
*
*
* -
*
* aws-us-gov
- Amazon Web Services GovCloud (US) Region
*
*
*
*
* For more information, see Access Management in the
* Amazon Web Services General Reference.
*
*
*
* @param associateVPCWithHostedZoneRequest
* A complex type that contains information about the request to associate a VPC with a private hosted zone.
* @return Result of the AssociateVPCWithHostedZone operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws NotAuthorizedException
* Associating the specified VPC with the specified hosted zone has not been authorized.
* @throws InvalidVPCIdException
* The VPC ID that you specified either isn't a valid ID or the current account is not authorized to access
* this VPC.
* @throws InvalidInputException
* The input is not valid.
* @throws PublicZoneVPCAssociationException
* You're trying to associate a VPC with a public hosted zone. Amazon Route 53 doesn't support associating a
* VPC with a public hosted zone.
* @throws ConflictingDomainExistsException
* The cause of this error depends on the operation that you're performing:
*
* -
*
* Create a public hosted zone: Two hosted zones that have the same name or that have a parent/child
* relationship (example.com and test.example.com) can't have any common name servers. You tried to create a
* hosted zone that has the same name as an existing hosted zone or that's the parent or child of an
* existing hosted zone, and you specified a delegation set that shares one or more name servers with the
* existing hosted zone. For more information, see CreateReusableDelegationSet.
*
*
* -
*
* Create a private hosted zone: A hosted zone with the specified name already exists and is already
* associated with the Amazon VPC that you specified.
*
*
* -
*
* Associate VPCs with a private hosted zone: The VPC that you specified is already associated with
* another hosted zone that has the same name.
*
*
* @throws LimitsExceededException
* This operation can't be completed because the current account has reached the limit on the resource you
* are trying to create. To request a higher limit, create a
* case with the Amazon Web Services Support Center.
* @throws PriorRequestNotCompleteException
* If Amazon Route 53 can't process a request before the next request arrives, it will reject subsequent
* requests for the same hosted zone and return an HTTP 400 error
(Bad request
).
* If Route 53 returns this error repeatedly for the same request, we recommend that you wait, in intervals
* of increasing duration, before you try the request again.
* @sample AmazonRoute53.AssociateVPCWithHostedZone
* @see AWS API Documentation
*/
@Override
public AssociateVPCWithHostedZoneResult associateVPCWithHostedZone(AssociateVPCWithHostedZoneRequest request) {
request = beforeClientExecution(request);
return executeAssociateVPCWithHostedZone(request);
}
@SdkInternalApi
final AssociateVPCWithHostedZoneResult executeAssociateVPCWithHostedZone(AssociateVPCWithHostedZoneRequest associateVPCWithHostedZoneRequest) {
ExecutionContext executionContext = createExecutionContext(associateVPCWithHostedZoneRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AssociateVPCWithHostedZoneRequestMarshaller().marshall(super.beforeMarshalling(associateVPCWithHostedZoneRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateVPCWithHostedZone");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new AssociateVPCWithHostedZoneResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates, changes, or deletes CIDR blocks within a collection. Contains authoritative IP information mapping
* blocks to one or multiple locations.
*
*
* A change request can update multiple locations in a collection at a time, which is helpful if you want to move
* one or more CIDR blocks from one location to another in one transaction, without downtime.
*
*
* Limits
*
*
* The max number of CIDR blocks included in the request is 1000. As a result, big updates require multiple API
* calls.
*
*
* PUT and DELETE_IF_EXISTS
*
*
* Use ChangeCidrCollection
to perform the following actions:
*
*
* -
*
* PUT
: Create a CIDR block within the specified collection.
*
*
* -
*
* DELETE_IF_EXISTS
: Delete an existing CIDR block from the collection.
*
*
*
*
* @param changeCidrCollectionRequest
* @return Result of the ChangeCidrCollection operation returned by the service.
* @throws NoSuchCidrCollectionException
* The CIDR collection you specified, doesn't exist.
* @throws CidrCollectionVersionMismatchException
* The CIDR collection version you provided, doesn't match the one in the ListCidrCollections
* operation.
* @throws InvalidInputException
* The input is not valid.
* @throws CidrBlockInUseException
* This CIDR block is already in use.
* @throws LimitsExceededException
* This operation can't be completed because the current account has reached the limit on the resource you
* are trying to create. To request a higher limit, create a
* case with the Amazon Web Services Support Center.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @sample AmazonRoute53.ChangeCidrCollection
* @see AWS
* API Documentation
*/
@Override
public ChangeCidrCollectionResult changeCidrCollection(ChangeCidrCollectionRequest request) {
request = beforeClientExecution(request);
return executeChangeCidrCollection(request);
}
@SdkInternalApi
final ChangeCidrCollectionResult executeChangeCidrCollection(ChangeCidrCollectionRequest changeCidrCollectionRequest) {
ExecutionContext executionContext = createExecutionContext(changeCidrCollectionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ChangeCidrCollectionRequestMarshaller().marshall(super.beforeMarshalling(changeCidrCollectionRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ChangeCidrCollection");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ChangeCidrCollectionResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates, changes, or deletes a resource record set, which contains authoritative DNS information for a specified
* domain name or subdomain name. For example, you can use ChangeResourceRecordSets
to create a
* resource record set that routes traffic for test.example.com to a web server that has an IP address of
* 192.0.2.44.
*
*
* Deleting Resource Record Sets
*
*
* To delete a resource record set, you must specify all the same values that you specified when you created it.
*
*
* Change Batches and Transactional Changes
*
*
* The request body must include a document with a ChangeResourceRecordSetsRequest
element. The request
* body contains a list of change items, known as a change batch. Change batches are considered transactional
* changes. Route 53 validates the changes in the request and then either makes all or none of the changes in the
* change batch request. This ensures that DNS routing isn't adversely affected by partial changes to the resource
* record sets in a hosted zone.
*
*
* For example, suppose a change batch request contains two changes: it deletes the CNAME
resource
* record set for www.example.com and creates an alias resource record set for www.example.com. If validation for
* both records succeeds, Route 53 deletes the first resource record set and creates the second resource record set
* in a single operation. If validation for either the DELETE
or the CREATE
action fails,
* then the request is canceled, and the original CNAME
record continues to exist.
*
*
*
* If you try to delete the same resource record set more than once in a single change batch, Route 53 returns an
* InvalidChangeBatch
error.
*
*
*
* Traffic Flow
*
*
* To create resource record sets for complex routing configurations, use either the traffic flow visual editor in
* the Route 53 console or the API actions for traffic policies and traffic policy instances. Save the configuration
* as a traffic policy, then associate the traffic policy with one or more domain names (such as example.com) or
* subdomain names (such as www.example.com), in the same hosted zone or in multiple hosted zones. You can roll back
* the updates if the new configuration isn't performing as expected. For more information, see Using Traffic Flow to Route
* DNS Traffic in the Amazon Route 53 Developer Guide.
*
*
* Create, Delete, and Upsert
*
*
* Use ChangeResourceRecordsSetsRequest
to perform the following actions:
*
*
* -
*
* CREATE
: Creates a resource record set that has the specified values.
*
*
* -
*
* DELETE
: Deletes an existing resource record set that has the specified values.
*
*
* -
*
* UPSERT
: If a resource set doesn't exist, Route 53 creates it. If a resource set exists Route 53
* updates it with the values in the request.
*
*
*
*
* Syntaxes for Creating, Updating, and Deleting Resource Record Sets
*
*
* The syntax for a request depends on the type of resource record set that you want to create, delete, or update,
* such as weighted, alias, or failover. The XML elements in your request must appear in the order listed in the
* syntax.
*
*
* For an example for each type of resource record set, see "Examples."
*
*
* Don't refer to the syntax in the "Parameter Syntax" section, which includes all of the elements for every kind of
* resource record set that you can create, delete, or update by using ChangeResourceRecordSets
.
*
*
* Change Propagation to Route 53 DNS Servers
*
*
* When you submit a ChangeResourceRecordSets
request, Route 53 propagates your changes to all of the
* Route 53 authoritative DNS servers managing the hosted zone. While your changes are propagating,
* GetChange
returns a status of PENDING
. When propagation is complete,
* GetChange
returns a status of INSYNC
. Changes generally propagate to all Route 53 name
* servers managing the hosted zone within 60 seconds. For more information, see GetChange.
*
*
* Limits on ChangeResourceRecordSets Requests
*
*
* For information about the limits on a ChangeResourceRecordSets
request, see Limits in the Amazon
* Route 53 Developer Guide.
*
*
* @param changeResourceRecordSetsRequest
* A complex type that contains change information for the resource record set.
* @return Result of the ChangeResourceRecordSets operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws NoSuchHealthCheckException
* No health check exists with the specified ID.
* @throws InvalidChangeBatchException
* This exception contains a list of messages that might contain one or more error messages. Each error
* message indicates one error in the change batch.
* @throws InvalidInputException
* The input is not valid.
* @throws PriorRequestNotCompleteException
* If Amazon Route 53 can't process a request before the next request arrives, it will reject subsequent
* requests for the same hosted zone and return an HTTP 400 error
(Bad request
).
* If Route 53 returns this error repeatedly for the same request, we recommend that you wait, in intervals
* of increasing duration, before you try the request again.
* @sample AmazonRoute53.ChangeResourceRecordSets
* @see AWS API Documentation
*/
@Override
public ChangeResourceRecordSetsResult changeResourceRecordSets(ChangeResourceRecordSetsRequest request) {
request = beforeClientExecution(request);
return executeChangeResourceRecordSets(request);
}
@SdkInternalApi
final ChangeResourceRecordSetsResult executeChangeResourceRecordSets(ChangeResourceRecordSetsRequest changeResourceRecordSetsRequest) {
ExecutionContext executionContext = createExecutionContext(changeResourceRecordSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ChangeResourceRecordSetsRequestMarshaller().marshall(super.beforeMarshalling(changeResourceRecordSetsRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ChangeResourceRecordSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ChangeResourceRecordSetsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Adds, edits, or deletes tags for a health check or a hosted zone.
*
*
* For information about using tags for cost allocation, see Using Cost Allocation
* Tags in the Billing and Cost Management User Guide.
*
*
* @param changeTagsForResourceRequest
* A complex type that contains information about the tags that you want to add, edit, or delete.
* @return Result of the ChangeTagsForResource operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws NoSuchHealthCheckException
* No health check exists with the specified ID.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws PriorRequestNotCompleteException
* If Amazon Route 53 can't process a request before the next request arrives, it will reject subsequent
* requests for the same hosted zone and return an HTTP 400 error
(Bad request
).
* If Route 53 returns this error repeatedly for the same request, we recommend that you wait, in intervals
* of increasing duration, before you try the request again.
* @throws ThrottlingException
* The limit on the number of requests per second was exceeded.
* @sample AmazonRoute53.ChangeTagsForResource
* @see AWS
* API Documentation
*/
@Override
public ChangeTagsForResourceResult changeTagsForResource(ChangeTagsForResourceRequest request) {
request = beforeClientExecution(request);
return executeChangeTagsForResource(request);
}
@SdkInternalApi
final ChangeTagsForResourceResult executeChangeTagsForResource(ChangeTagsForResourceRequest changeTagsForResourceRequest) {
ExecutionContext executionContext = createExecutionContext(changeTagsForResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ChangeTagsForResourceRequestMarshaller().marshall(super.beforeMarshalling(changeTagsForResourceRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ChangeTagsForResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ChangeTagsForResourceResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a CIDR collection in the current Amazon Web Services account.
*
*
* @param createCidrCollectionRequest
* @return Result of the CreateCidrCollection operation returned by the service.
* @throws LimitsExceededException
* This operation can't be completed because the current account has reached the limit on the resource you
* are trying to create. To request a higher limit, create a
* case with the Amazon Web Services Support Center.
* @throws InvalidInputException
* The input is not valid.
* @throws CidrCollectionAlreadyExistsException
* A CIDR collection with this name and a different caller reference already exists in this account.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @sample AmazonRoute53.CreateCidrCollection
* @see AWS
* API Documentation
*/
@Override
public CreateCidrCollectionResult createCidrCollection(CreateCidrCollectionRequest request) {
request = beforeClientExecution(request);
return executeCreateCidrCollection(request);
}
@SdkInternalApi
final CreateCidrCollectionResult executeCreateCidrCollection(CreateCidrCollectionRequest createCidrCollectionRequest) {
ExecutionContext executionContext = createExecutionContext(createCidrCollectionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateCidrCollectionRequestMarshaller().marshall(super.beforeMarshalling(createCidrCollectionRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateCidrCollection");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new CreateCidrCollectionResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a new health check.
*
*
* For information about adding health checks to resource record sets, see HealthCheckId in ChangeResourceRecordSets.
*
*
* ELB Load Balancers
*
*
* If you're registering EC2 instances with an Elastic Load Balancing (ELB) load balancer, do not create Amazon
* Route 53 health checks for the EC2 instances. When you register an EC2 instance with a load balancer, you
* configure settings for an ELB health check, which performs a similar function to a Route 53 health check.
*
*
* Private Hosted Zones
*
*
* You can associate health checks with failover resource record sets in a private hosted zone. Note the following:
*
*
* -
*
* Route 53 health checkers are outside the VPC. To check the health of an endpoint within a VPC by IP address, you
* must assign a public IP address to the instance in the VPC.
*
*
* -
*
* You can configure a health checker to check the health of an external resource that the instance relies on, such
* as a database server.
*
*
* -
*
* You can create a CloudWatch metric, associate an alarm with the metric, and then create a health check that is
* based on the state of the alarm. For example, you might create a CloudWatch metric that checks the status of the
* Amazon EC2 StatusCheckFailed
metric, add an alarm to the metric, and then create a health check that
* is based on the state of the alarm. For information about creating CloudWatch metrics and alarms by using the
* CloudWatch console, see the Amazon CloudWatch
* User Guide.
*
*
*
*
* @param createHealthCheckRequest
* A complex type that contains the health check request information.
* @return Result of the CreateHealthCheck operation returned by the service.
* @throws TooManyHealthChecksException
* This health check can't be created because the current account has reached the limit on the number of
* active health checks.
*
* For information about default limits, see Limits in the
* Amazon Route 53 Developer Guide.
*
*
* For information about how to get the current limit for an account, see GetAccountLimit. To request a higher limit, create a
* case with the Amazon Web Services Support Center.
*
*
* You have reached the maximum number of active health checks for an Amazon Web Services account. To
* request a higher limit, create a case with the Amazon
* Web Services Support Center.
* @throws HealthCheckAlreadyExistsException
* The health check you're attempting to create already exists. Amazon Route 53 returns this error when you
* submit a request that has the following values:
*
*
* -
*
* The same value for CallerReference
as an existing health check, and one or more values that
* differ from the existing health check that has the same caller reference.
*
*
* -
*
* The same value for CallerReference
as a health check that you created and later deleted,
* regardless of the other settings in the request.
*
*
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.CreateHealthCheck
* @see AWS API
* Documentation
*/
@Override
public CreateHealthCheckResult createHealthCheck(CreateHealthCheckRequest request) {
request = beforeClientExecution(request);
return executeCreateHealthCheck(request);
}
@SdkInternalApi
final CreateHealthCheckResult executeCreateHealthCheck(CreateHealthCheckRequest createHealthCheckRequest) {
ExecutionContext executionContext = createExecutionContext(createHealthCheckRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateHealthCheckRequestMarshaller().marshall(super.beforeMarshalling(createHealthCheckRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateHealthCheck");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new CreateHealthCheckResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a new public or private hosted zone. You create records in a public hosted zone to define how you want to
* route traffic on the internet for a domain, such as example.com, and its subdomains (apex.example.com,
* acme.example.com). You create records in a private hosted zone to define how you want to route traffic for a
* domain and its subdomains within one or more Amazon Virtual Private Clouds (Amazon VPCs).
*
*
*
* You can't convert a public hosted zone to a private hosted zone or vice versa. Instead, you must create a new
* hosted zone with the same name and create new resource record sets.
*
*
*
* For more information about charges for hosted zones, see Amazon
* Route 53 Pricing.
*
*
* Note the following:
*
*
* -
*
* You can't create a hosted zone for a top-level domain (TLD) such as .com.
*
*
* -
*
* For public hosted zones, Route 53 automatically creates a default SOA record and four NS records for the zone.
* For more information about SOA and NS records, see NS and SOA Records that
* Route 53 Creates for a Hosted Zone in the Amazon Route 53 Developer Guide.
*
*
* If you want to use the same name servers for multiple public hosted zones, you can optionally associate a
* reusable delegation set with the hosted zone. See the DelegationSetId
element.
*
*
* -
*
* If your domain is registered with a registrar other than Route 53, you must update the name servers with your
* registrar to make Route 53 the DNS service for the domain. For more information, see Migrating DNS Service for an
* Existing Domain to Amazon Route 53 in the Amazon Route 53 Developer Guide.
*
*
*
*
* When you submit a CreateHostedZone
request, the initial status of the hosted zone is
* PENDING
. For public hosted zones, this means that the NS and SOA records are not yet available on
* all Route 53 DNS servers. When the NS and SOA records are available, the status of the zone changes to
* INSYNC
.
*
*
* The CreateHostedZone
request requires the caller to have an ec2:DescribeVpcs
* permission.
*
*
*
* When creating private hosted zones, the Amazon VPC must belong to the same partition where the hosted zone is
* created. A partition is a group of Amazon Web Services Regions. Each Amazon Web Services account is scoped to one
* partition.
*
*
* The following are the supported partitions:
*
*
* -
*
* aws
- Amazon Web Services Regions
*
*
* -
*
* aws-cn
- China Regions
*
*
* -
*
* aws-us-gov
- Amazon Web Services GovCloud (US) Region
*
*
*
*
* For more information, see Access Management in the
* Amazon Web Services General Reference.
*
*
*
* @param createHostedZoneRequest
* A complex type that contains information about the request to create a public or private hosted zone.
* @return Result of the CreateHostedZone operation returned by the service.
* @throws InvalidDomainNameException
* The specified domain name is not valid.
* @throws HostedZoneAlreadyExistsException
* The hosted zone you're trying to create already exists. Amazon Route 53 returns this error when a hosted
* zone has already been created with the specified CallerReference
.
* @throws TooManyHostedZonesException
* This operation can't be completed either because the current account has reached the limit on the number
* of hosted zones or because you've reached the limit on the number of hosted zones that can be associated
* with a reusable delegation set.
*
* For information about default limits, see Limits in the
* Amazon Route 53 Developer Guide.
*
*
* To get the current limit on hosted zones that can be created by an account, see GetAccountLimit.
*
*
* To get the current limit on hosted zones that can be associated with a reusable delegation set, see
* GetReusableDelegationSetLimit.
*
*
* To request a higher limit, create a case with the
* Amazon Web Services Support Center.
* @throws InvalidVPCIdException
* The VPC ID that you specified either isn't a valid ID or the current account is not authorized to access
* this VPC.
* @throws InvalidInputException
* The input is not valid.
* @throws DelegationSetNotAvailableException
* You can create a hosted zone that has the same name as an existing hosted zone (example.com is common),
* but there is a limit to the number of hosted zones that have the same name. If you get this error, Amazon
* Route 53 has reached that limit. If you own the domain name and Route 53 generates this error, contact
* Customer Support.
* @throws ConflictingDomainExistsException
* The cause of this error depends on the operation that you're performing:
*
*
* -
*
* Create a public hosted zone: Two hosted zones that have the same name or that have a parent/child
* relationship (example.com and test.example.com) can't have any common name servers. You tried to create a
* hosted zone that has the same name as an existing hosted zone or that's the parent or child of an
* existing hosted zone, and you specified a delegation set that shares one or more name servers with the
* existing hosted zone. For more information, see CreateReusableDelegationSet.
*
*
* -
*
* Create a private hosted zone: A hosted zone with the specified name already exists and is already
* associated with the Amazon VPC that you specified.
*
*
* -
*
* Associate VPCs with a private hosted zone: The VPC that you specified is already associated with
* another hosted zone that has the same name.
*
*
* @throws NoSuchDelegationSetException
* A reusable delegation set with the specified ID does not exist.
* @throws DelegationSetNotReusableException
* A reusable delegation set with the specified ID does not exist.
* @sample AmazonRoute53.CreateHostedZone
* @see AWS API
* Documentation
*/
@Override
public CreateHostedZoneResult createHostedZone(CreateHostedZoneRequest request) {
request = beforeClientExecution(request);
return executeCreateHostedZone(request);
}
@SdkInternalApi
final CreateHostedZoneResult executeCreateHostedZone(CreateHostedZoneRequest createHostedZoneRequest) {
ExecutionContext executionContext = createExecutionContext(createHostedZoneRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateHostedZoneRequestMarshaller().marshall(super.beforeMarshalling(createHostedZoneRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateHostedZone");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new CreateHostedZoneResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a new key-signing key (KSK) associated with a hosted zone. You can only have two KSKs per hosted zone.
*
*
* @param createKeySigningKeyRequest
* @return Result of the CreateKeySigningKey operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws InvalidArgumentException
* Parameter name is not valid.
* @throws InvalidInputException
* The input is not valid.
* @throws InvalidKMSArnException
* The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC signing.
* @throws InvalidKeySigningKeyStatusException
* The key-signing key (KSK) status isn't valid or another KSK has the status INTERNAL_FAILURE
.
* @throws InvalidSigningStatusException
* Your hosted zone status isn't valid for this operation. In the hosted zone, change the status to enable
* DNSSEC
or disable DNSSEC
.
* @throws InvalidKeySigningKeyNameException
* The key-signing key (KSK) name that you specified isn't a valid name.
* @throws KeySigningKeyAlreadyExistsException
* You've already created a key-signing key (KSK) with this name or with the same customer managed key ARN.
* @throws TooManyKeySigningKeysException
* You've reached the limit for the number of key-signing keys (KSKs). Remove at least one KSK, and then try
* again.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @sample AmazonRoute53.CreateKeySigningKey
* @see AWS
* API Documentation
*/
@Override
public CreateKeySigningKeyResult createKeySigningKey(CreateKeySigningKeyRequest request) {
request = beforeClientExecution(request);
return executeCreateKeySigningKey(request);
}
@SdkInternalApi
final CreateKeySigningKeyResult executeCreateKeySigningKey(CreateKeySigningKeyRequest createKeySigningKeyRequest) {
ExecutionContext executionContext = createExecutionContext(createKeySigningKeyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateKeySigningKeyRequestMarshaller().marshall(super.beforeMarshalling(createKeySigningKeyRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateKeySigningKey");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new CreateKeySigningKeyResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a configuration for DNS query logging. After you create a query logging configuration, Amazon Route 53
* begins to publish log data to an Amazon CloudWatch Logs log group.
*
*
* DNS query logs contain information about the queries that Route 53 receives for a specified public hosted zone,
* such as the following:
*
*
* -
*
* Route 53 edge location that responded to the DNS query
*
*
* -
*
* Domain or subdomain that was requested
*
*
* -
*
* DNS record type, such as A or AAAA
*
*
* -
*
* DNS response code, such as NoError
or ServFail
*
*
*
*
* - Log Group and Resource Policy
* -
*
* Before you create a query logging configuration, perform the following operations.
*
*
*
* If you create a query logging configuration using the Route 53 console, Route 53 performs these operations
* automatically.
*
*
*
* -
*
* Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging
* configuration. Note the following:
*
*
* -
*
* You must create the log group in the us-east-1 region.
*
*
* -
*
* You must use the same Amazon Web Services account to create the log group and the hosted zone that you want to
* configure query logging for.
*
*
* -
*
* When you create log groups for query logging, we recommend that you use a consistent prefix, for example:
*
*
* /aws/route53/hosted zone name
*
*
* In the next step, you'll create a resource policy, which controls access to one or more log groups and the
* associated Amazon Web Services resources, such as Route 53 hosted zones. There's a limit on the number of
* resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same
* resource policy for all the log groups that you create for query logging.
*
*
*
*
* -
*
* Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams
* and to send query logs to log streams. For the value of Resource
, specify the ARN for the log group
* that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups
* that you created for query logging configurations, replace the hosted zone name with *
, for example:
*
*
* arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*
*
*
* To avoid the confused deputy problem, a security issue where an entity without a permission for an action can
* coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a
* resource in a resource-based policy by supplying the following values:
*
*
* -
*
* For aws:SourceArn
, supply the hosted zone ARN used in creating the query logging configuration. For
* example, aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID
.
*
*
* -
*
* For aws:SourceAccount
, supply the account ID for the account that creates the query logging
* configuration. For example, aws:SourceAccount:111111111111
.
*
*
*
*
* For more information, see The
* confused deputy problem in the Amazon Web Services IAM User Guide.
*
*
*
* You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of
* the Amazon Web Services SDKs, or the CLI.
*
*
*
*
* - Log Streams and Edge Locations
* -
*
* When Route 53 finishes creating the configuration for DNS query logging, it does the following:
*
*
* -
*
* Creates a log stream for an edge location the first time that the edge location responds to DNS queries for the
* specified hosted zone. That log stream is used to log all queries that Route 53 responds to for that edge
* location.
*
*
* -
*
* Begins to send query logs to the applicable log stream.
*
*
*
*
* The name of each log stream is in the following format:
*
*
* hosted zone ID/edge location code
*
*
* The edge location code is a three-letter code and an arbitrarily assigned number, for example, DFW3. The
* three-letter code typically corresponds with the International Air Transport Association airport code for an
* airport near the edge location. (These abbreviations might change in the future.) For a list of edge locations,
* see "The Route 53 Global Network" on the Route 53 Product
* Details page.
*
*
* - Queries That Are Logged
* -
*
* Query logs contain only the queries that DNS resolvers forward to Route 53. If a DNS resolver has already cached
* the response to a query (such as the IP address for a load balancer for example.com), the resolver will continue
* to return the cached response. It doesn't forward another query to Route 53 until the TTL for the corresponding
* resource record set expires. Depending on how many DNS queries are submitted for a resource record set, and
* depending on the TTL for that resource record set, query logs might contain information about only one query out
* of every several thousand queries that are submitted to DNS. For more information about how DNS works, see Routing Internet
* Traffic to Your Website or Web Application in the Amazon Route 53 Developer Guide.
*
*
* - Log File Format
* -
*
* For a list of the values in each query log and the format of each value, see Logging DNS Queries in the
* Amazon Route 53 Developer Guide.
*
*
* - Pricing
* -
*
* For information about charges for query logs, see Amazon
* CloudWatch Pricing.
*
*
* - How to Stop Logging
* -
*
* If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For
* more information, see DeleteQueryLoggingConfig.
*
*
*
*
* @param createQueryLoggingConfigRequest
* @return Result of the CreateQueryLoggingConfig operation returned by the service.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws NoSuchCloudWatchLogsLogGroupException
* There is no CloudWatch Logs log group with the specified ARN.
* @throws InvalidInputException
* The input is not valid.
* @throws QueryLoggingConfigAlreadyExistsException
* You can create only one query logging configuration for a hosted zone, and a query logging configuration
* already exists for this hosted zone.
* @throws InsufficientCloudWatchLogsResourcePolicyException
* Amazon Route 53 doesn't have the permissions required to create log streams and send query logs to log
* streams. Possible causes include the following:
*
* -
*
* There is no resource policy that specifies the log group ARN in the value for Resource
.
*
*
* -
*
* The resource policy that includes the log group ARN in the value for Resource
doesn't have
* the necessary permissions.
*
*
* -
*
* The resource policy hasn't finished propagating yet.
*
*
* -
*
* The Key management service (KMS) key you specified doesn’t exist or it can’t be used with the log group
* associated with query log. Update or provide a resource policy to grant permissions for the KMS key.
*
*
* -
*
* The Key management service (KMS) key you specified is marked as disabled for the log group associated
* with query log. Update or provide a resource policy to grant permissions for the KMS key.
*
*
* @sample AmazonRoute53.CreateQueryLoggingConfig
* @see AWS API Documentation
*/
@Override
public CreateQueryLoggingConfigResult createQueryLoggingConfig(CreateQueryLoggingConfigRequest request) {
request = beforeClientExecution(request);
return executeCreateQueryLoggingConfig(request);
}
@SdkInternalApi
final CreateQueryLoggingConfigResult executeCreateQueryLoggingConfig(CreateQueryLoggingConfigRequest createQueryLoggingConfigRequest) {
ExecutionContext executionContext = createExecutionContext(createQueryLoggingConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateQueryLoggingConfigRequestMarshaller().marshall(super.beforeMarshalling(createQueryLoggingConfigRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateQueryLoggingConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new CreateQueryLoggingConfigResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a delegation set (a group of four name servers) that can be reused by multiple hosted zones that were
* created by the same Amazon Web Services account.
*
*
* You can also create a reusable delegation set that uses the four name servers that are associated with an
* existing hosted zone. Specify the hosted zone ID in the CreateReusableDelegationSet
request.
*
*
*
* You can't associate a reusable delegation set with a private hosted zone.
*
*
*
* For information about using a reusable delegation set to configure white label name servers, see Configuring White
* Label Name Servers.
*
*
* The process for migrating existing hosted zones to use a reusable delegation set is comparable to the process for
* configuring white label name servers. You need to perform the following steps:
*
*
* -
*
* Create a reusable delegation set.
*
*
* -
*
* Recreate hosted zones, and reduce the TTL to 60 seconds or less.
*
*
* -
*
* Recreate resource record sets in the new hosted zones.
*
*
* -
*
* Change the registrar's name servers to use the name servers for the new hosted zones.
*
*
* -
*
* Monitor traffic for the website or application.
*
*
* -
*
* Change TTLs back to their original values.
*
*
*
*
* If you want to migrate existing hosted zones to use a reusable delegation set, the existing hosted zones can't
* use any of the name servers that are assigned to the reusable delegation set. If one or more hosted zones do use
* one or more name servers that are assigned to the reusable delegation set, you can do one of the following:
*
*
* -
*
* For small numbers of hosted zones—up to a few hundred—it's relatively easy to create reusable delegation sets
* until you get one that has four name servers that don't overlap with any of the name servers in your hosted
* zones.
*
*
* -
*
* For larger numbers of hosted zones, the easiest solution is to use more than one reusable delegation set.
*
*
* -
*
* For larger numbers of hosted zones, you can also migrate hosted zones that have overlapping name servers to
* hosted zones that don't have overlapping name servers, then migrate the hosted zones again to use the reusable
* delegation set.
*
*
*
*
* @param createReusableDelegationSetRequest
* @return Result of the CreateReusableDelegationSet operation returned by the service.
* @throws DelegationSetAlreadyCreatedException
* A delegation set with the same owner and caller reference combination has already been created.
* @throws LimitsExceededException
* This operation can't be completed because the current account has reached the limit on the resource you
* are trying to create. To request a higher limit, create a
* case with the Amazon Web Services Support Center.
* @throws HostedZoneNotFoundException
* The specified HostedZone can't be found.
* @throws InvalidArgumentException
* Parameter name is not valid.
* @throws InvalidInputException
* The input is not valid.
* @throws DelegationSetNotAvailableException
* You can create a hosted zone that has the same name as an existing hosted zone (example.com is common),
* but there is a limit to the number of hosted zones that have the same name. If you get this error, Amazon
* Route 53 has reached that limit. If you own the domain name and Route 53 generates this error, contact
* Customer Support.
* @throws DelegationSetAlreadyReusableException
* The specified delegation set has already been marked as reusable.
* @sample AmazonRoute53.CreateReusableDelegationSet
* @see AWS API Documentation
*/
@Override
public CreateReusableDelegationSetResult createReusableDelegationSet(CreateReusableDelegationSetRequest request) {
request = beforeClientExecution(request);
return executeCreateReusableDelegationSet(request);
}
@SdkInternalApi
final CreateReusableDelegationSetResult executeCreateReusableDelegationSet(CreateReusableDelegationSetRequest createReusableDelegationSetRequest) {
ExecutionContext executionContext = createExecutionContext(createReusableDelegationSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateReusableDelegationSetRequestMarshaller().marshall(super.beforeMarshalling(createReusableDelegationSetRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateReusableDelegationSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new CreateReusableDelegationSetResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a traffic policy, which you use to create multiple DNS resource record sets for one domain name (such as
* example.com) or one subdomain name (such as www.example.com).
*
*
* @param createTrafficPolicyRequest
* A complex type that contains information about the traffic policy that you want to create.
* @return Result of the CreateTrafficPolicy operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws TooManyTrafficPoliciesException
* This traffic policy can't be created because the current account has reached the limit on the number of
* traffic policies.
*
* For information about default limits, see Limits in the
* Amazon Route 53 Developer Guide.
*
*
* To get the current limit for an account, see GetAccountLimit.
*
*
* To request a higher limit, create a case with the
* Amazon Web Services Support Center.
* @throws TrafficPolicyAlreadyExistsException
* A traffic policy that has the same value for Name
already exists.
* @throws InvalidTrafficPolicyDocumentException
* The format of the traffic policy document that you specified in the Document
element is not
* valid.
* @sample AmazonRoute53.CreateTrafficPolicy
* @see AWS
* API Documentation
*/
@Override
public CreateTrafficPolicyResult createTrafficPolicy(CreateTrafficPolicyRequest request) {
request = beforeClientExecution(request);
return executeCreateTrafficPolicy(request);
}
@SdkInternalApi
final CreateTrafficPolicyResult executeCreateTrafficPolicy(CreateTrafficPolicyRequest createTrafficPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(createTrafficPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateTrafficPolicyRequestMarshaller().marshall(super.beforeMarshalling(createTrafficPolicyRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTrafficPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new CreateTrafficPolicyResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates resource record sets in a specified hosted zone based on the settings in a specified traffic policy
* version. In addition, CreateTrafficPolicyInstance
associates the resource record sets with a
* specified domain name (such as example.com) or subdomain name (such as www.example.com). Amazon Route 53 responds
* to DNS queries for the domain or subdomain name by using the resource record sets that
* CreateTrafficPolicyInstance
created.
*
*
*
* After you submit an CreateTrafficPolicyInstance
request, there's a brief delay while Amazon Route 53
* creates the resource record sets that are specified in the traffic policy definition. Use
* GetTrafficPolicyInstance
with the id
of new traffic policy instance to confirm that the
* CreateTrafficPolicyInstance
request completed successfully. For more information, see the
* State
response element.
*
*
*
* @param createTrafficPolicyInstanceRequest
* A complex type that contains information about the resource record sets that you want to create based on a
* specified traffic policy.
* @return Result of the CreateTrafficPolicyInstance operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws InvalidInputException
* The input is not valid.
* @throws TooManyTrafficPolicyInstancesException
* This traffic policy instance can't be created because the current account has reached the limit on the
* number of traffic policy instances.
*
* For information about default limits, see Limits in the
* Amazon Route 53 Developer Guide.
*
*
* For information about how to get the current limit for an account, see GetAccountLimit.
*
*
* To request a higher limit, create a case with the
* Amazon Web Services Support Center.
* @throws NoSuchTrafficPolicyException
* No traffic policy exists with the specified ID.
* @throws TrafficPolicyInstanceAlreadyExistsException
* There is already a traffic policy instance with the specified ID.
* @sample AmazonRoute53.CreateTrafficPolicyInstance
* @see AWS API Documentation
*/
@Override
public CreateTrafficPolicyInstanceResult createTrafficPolicyInstance(CreateTrafficPolicyInstanceRequest request) {
request = beforeClientExecution(request);
return executeCreateTrafficPolicyInstance(request);
}
@SdkInternalApi
final CreateTrafficPolicyInstanceResult executeCreateTrafficPolicyInstance(CreateTrafficPolicyInstanceRequest createTrafficPolicyInstanceRequest) {
ExecutionContext executionContext = createExecutionContext(createTrafficPolicyInstanceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateTrafficPolicyInstanceRequestMarshaller().marshall(super.beforeMarshalling(createTrafficPolicyInstanceRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTrafficPolicyInstance");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new CreateTrafficPolicyInstanceResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates a new version of an existing traffic policy. When you create a new version of a traffic policy, you
* specify the ID of the traffic policy that you want to update and a JSON-formatted document that describes the new
* version. You use traffic policies to create multiple DNS resource record sets for one domain name (such as
* example.com) or one subdomain name (such as www.example.com). You can create a maximum of 1000 versions of a
* traffic policy. If you reach the limit and need to create another version, you'll need to start a new traffic
* policy.
*
*
* @param createTrafficPolicyVersionRequest
* A complex type that contains information about the traffic policy that you want to create a new version
* for.
* @return Result of the CreateTrafficPolicyVersion operation returned by the service.
* @throws NoSuchTrafficPolicyException
* No traffic policy exists with the specified ID.
* @throws InvalidInputException
* The input is not valid.
* @throws TooManyTrafficPolicyVersionsForCurrentPolicyException
* This traffic policy version can't be created because you've reached the limit of 1000 on the number of
* versions that you can create for the current traffic policy.
*
* To create more traffic policy versions, you can use GetTrafficPolicy to get the traffic policy document for a specified traffic policy version, and then
* use
* CreateTrafficPolicy to create a new traffic policy using the traffic policy document.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @throws InvalidTrafficPolicyDocumentException
* The format of the traffic policy document that you specified in the Document
element is not
* valid.
* @sample AmazonRoute53.CreateTrafficPolicyVersion
* @see AWS API Documentation
*/
@Override
public CreateTrafficPolicyVersionResult createTrafficPolicyVersion(CreateTrafficPolicyVersionRequest request) {
request = beforeClientExecution(request);
return executeCreateTrafficPolicyVersion(request);
}
@SdkInternalApi
final CreateTrafficPolicyVersionResult executeCreateTrafficPolicyVersion(CreateTrafficPolicyVersionRequest createTrafficPolicyVersionRequest) {
ExecutionContext executionContext = createExecutionContext(createTrafficPolicyVersionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateTrafficPolicyVersionRequestMarshaller().marshall(super.beforeMarshalling(createTrafficPolicyVersionRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTrafficPolicyVersion");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new CreateTrafficPolicyVersionResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Authorizes the Amazon Web Services account that created a specified VPC to submit an
* AssociateVPCWithHostedZone
request to associate the VPC with a specified hosted zone that was
* created by a different account. To submit a CreateVPCAssociationAuthorization
request, you must use
* the account that created the hosted zone. After you authorize the association, use the account that created the
* VPC to submit an AssociateVPCWithHostedZone
request.
*
*
*
* If you want to associate multiple VPCs that you created by using one account with a hosted zone that you created
* by using a different account, you must submit one authorization request for each VPC.
*
*
*
* @param createVPCAssociationAuthorizationRequest
* A complex type that contains information about the request to authorize associating a VPC with your
* private hosted zone. Authorization is only required when a private hosted zone and a VPC were created by
* using different accounts.
* @return Result of the CreateVPCAssociationAuthorization operation returned by the service.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @throws TooManyVPCAssociationAuthorizationsException
* You've created the maximum number of authorizations that can be created for the specified hosted zone. To
* authorize another VPC to be associated with the hosted zone, submit a
* DeleteVPCAssociationAuthorization
request to remove an existing authorization. To get a list
* of existing authorizations, submit a ListVPCAssociationAuthorizations
request.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws InvalidVPCIdException
* The VPC ID that you specified either isn't a valid ID or the current account is not authorized to access
* this VPC.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.CreateVPCAssociationAuthorization
* @see AWS API Documentation
*/
@Override
public CreateVPCAssociationAuthorizationResult createVPCAssociationAuthorization(CreateVPCAssociationAuthorizationRequest request) {
request = beforeClientExecution(request);
return executeCreateVPCAssociationAuthorization(request);
}
@SdkInternalApi
final CreateVPCAssociationAuthorizationResult executeCreateVPCAssociationAuthorization(
CreateVPCAssociationAuthorizationRequest createVPCAssociationAuthorizationRequest) {
ExecutionContext executionContext = createExecutionContext(createVPCAssociationAuthorizationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateVPCAssociationAuthorizationRequestMarshaller().marshall(super.beforeMarshalling(createVPCAssociationAuthorizationRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateVPCAssociationAuthorization");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new CreateVPCAssociationAuthorizationResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deactivates a key-signing key (KSK) so that it will not be used for signing by DNSSEC. This operation changes the
* KSK status to INACTIVE
.
*
*
* @param deactivateKeySigningKeyRequest
* @return Result of the DeactivateKeySigningKey operation returned by the service.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @throws NoSuchKeySigningKeyException
* The specified key-signing key (KSK) doesn't exist.
* @throws InvalidKeySigningKeyStatusException
* The key-signing key (KSK) status isn't valid or another KSK has the status INTERNAL_FAILURE
.
* @throws InvalidSigningStatusException
* Your hosted zone status isn't valid for this operation. In the hosted zone, change the status to enable
* DNSSEC
or disable DNSSEC
.
* @throws KeySigningKeyInUseException
* The key-signing key (KSK) that you specified can't be deactivated because it's the only KSK for a
* currently-enabled DNSSEC. Disable DNSSEC signing, or add or enable another KSK.
* @throws KeySigningKeyInParentDSRecordException
* The key-signing key (KSK) is specified in a parent DS record.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.DeactivateKeySigningKey
* @see AWS API Documentation
*/
@Override
public DeactivateKeySigningKeyResult deactivateKeySigningKey(DeactivateKeySigningKeyRequest request) {
request = beforeClientExecution(request);
return executeDeactivateKeySigningKey(request);
}
@SdkInternalApi
final DeactivateKeySigningKeyResult executeDeactivateKeySigningKey(DeactivateKeySigningKeyRequest deactivateKeySigningKeyRequest) {
ExecutionContext executionContext = createExecutionContext(deactivateKeySigningKeyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeactivateKeySigningKeyRequestMarshaller().marshall(super.beforeMarshalling(deactivateKeySigningKeyRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeactivateKeySigningKey");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DeactivateKeySigningKeyResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a CIDR collection in the current Amazon Web Services account. The collection must be empty before it can
* be deleted.
*
*
* @param deleteCidrCollectionRequest
* @return Result of the DeleteCidrCollection operation returned by the service.
* @throws NoSuchCidrCollectionException
* The CIDR collection you specified, doesn't exist.
* @throws CidrCollectionInUseException
* This CIDR collection is in use, and isn't empty.
* @throws InvalidInputException
* The input is not valid.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @sample AmazonRoute53.DeleteCidrCollection
* @see AWS
* API Documentation
*/
@Override
public DeleteCidrCollectionResult deleteCidrCollection(DeleteCidrCollectionRequest request) {
request = beforeClientExecution(request);
return executeDeleteCidrCollection(request);
}
@SdkInternalApi
final DeleteCidrCollectionResult executeDeleteCidrCollection(DeleteCidrCollectionRequest deleteCidrCollectionRequest) {
ExecutionContext executionContext = createExecutionContext(deleteCidrCollectionRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteCidrCollectionRequestMarshaller().marshall(super.beforeMarshalling(deleteCidrCollectionRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteCidrCollection");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DeleteCidrCollectionResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a health check.
*
*
*
* Amazon Route 53 does not prevent you from deleting a health check even if the health check is associated with one
* or more resource record sets. If you delete a health check and you don't update the associated resource record
* sets, the future status of the health check can't be predicted and may change. This will affect the routing of
* DNS queries for your DNS failover configuration. For more information, see Replacing and Deleting Health Checks in the Amazon Route 53 Developer Guide.
*
*
*
* If you're using Cloud Map and you configured Cloud Map to create a Route 53 health check when you register an
* instance, you can't use the Route 53 DeleteHealthCheck
command to delete the health check. The
* health check is deleted automatically when you deregister the instance; there can be a delay of several hours
* before the health check is deleted from Route 53.
*
*
* @param deleteHealthCheckRequest
* This action deletes a health check.
* @return Result of the DeleteHealthCheck operation returned by the service.
* @throws NoSuchHealthCheckException
* No health check exists with the specified ID.
* @throws HealthCheckInUseException
* This error code is not in use.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.DeleteHealthCheck
* @see AWS API
* Documentation
*/
@Override
public DeleteHealthCheckResult deleteHealthCheck(DeleteHealthCheckRequest request) {
request = beforeClientExecution(request);
return executeDeleteHealthCheck(request);
}
@SdkInternalApi
final DeleteHealthCheckResult executeDeleteHealthCheck(DeleteHealthCheckRequest deleteHealthCheckRequest) {
ExecutionContext executionContext = createExecutionContext(deleteHealthCheckRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteHealthCheckRequestMarshaller().marshall(super.beforeMarshalling(deleteHealthCheckRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteHealthCheck");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DeleteHealthCheckResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a hosted zone.
*
*
* If the hosted zone was created by another service, such as Cloud Map, see Deleting Public Hosted Zones That Were Created by Another Service in the Amazon Route 53 Developer
* Guide for information about how to delete it. (The process is the same for public and private hosted zones
* that were created by another service.)
*
*
* If you want to keep your domain registration but you want to stop routing internet traffic to your website or web
* application, we recommend that you delete resource record sets in the hosted zone instead of deleting the hosted
* zone.
*
*
*
* If you delete a hosted zone, you can't undelete it. You must create a new hosted zone and update the name servers
* for your domain registration, which can require up to 48 hours to take effect. (If you delegated responsibility
* for a subdomain to a hosted zone and you delete the child hosted zone, you must update the name servers in the
* parent hosted zone.) In addition, if you delete a hosted zone, someone could hijack the domain and route traffic
* to their own resources using your domain name.
*
*
*
* If you want to avoid the monthly charge for the hosted zone, you can transfer DNS service for the domain to a
* free DNS service. When you transfer DNS service, you have to update the name servers for the domain registration.
* If the domain is registered with Route 53, see UpdateDomainNameservers for information about how to replace Route 53 name servers with name servers for the
* new DNS service. If the domain is registered with another registrar, use the method provided by the registrar to
* update name servers for the domain registration. For more information, perform an internet search on
* "free DNS service."
*
*
* You can delete a hosted zone only if it contains only the default SOA record and NS resource record sets. If the
* hosted zone contains other resource record sets, you must delete them before you can delete the hosted zone. If
* you try to delete a hosted zone that contains other resource record sets, the request fails, and Route 53 returns
* a HostedZoneNotEmpty
error. For information about deleting records from your hosted zone, see
* ChangeResourceRecordSets.
*
*
* To verify that the hosted zone has been deleted, do one of the following:
*
*
* -
*
* Use the GetHostedZone
action to request information about the hosted zone.
*
*
* -
*
* Use the ListHostedZones
action to get a list of the hosted zones associated with the current Amazon
* Web Services account.
*
*
*
*
* @param deleteHostedZoneRequest
* A request to delete a hosted zone.
* @return Result of the DeleteHostedZone operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws HostedZoneNotEmptyException
* The hosted zone contains resource records that are not SOA or NS records.
* @throws PriorRequestNotCompleteException
* If Amazon Route 53 can't process a request before the next request arrives, it will reject subsequent
* requests for the same hosted zone and return an HTTP 400 error
(Bad request
).
* If Route 53 returns this error repeatedly for the same request, we recommend that you wait, in intervals
* of increasing duration, before you try the request again.
* @throws InvalidInputException
* The input is not valid.
* @throws InvalidDomainNameException
* The specified domain name is not valid.
* @sample AmazonRoute53.DeleteHostedZone
* @see AWS API
* Documentation
*/
@Override
public DeleteHostedZoneResult deleteHostedZone(DeleteHostedZoneRequest request) {
request = beforeClientExecution(request);
return executeDeleteHostedZone(request);
}
@SdkInternalApi
final DeleteHostedZoneResult executeDeleteHostedZone(DeleteHostedZoneRequest deleteHostedZoneRequest) {
ExecutionContext executionContext = createExecutionContext(deleteHostedZoneRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteHostedZoneRequestMarshaller().marshall(super.beforeMarshalling(deleteHostedZoneRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteHostedZone");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DeleteHostedZoneResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a key-signing key (KSK). Before you can delete a KSK, you must deactivate it. The KSK must be deactivated
* before you can delete it regardless of whether the hosted zone is enabled for DNSSEC signing.
*
*
* You can use
* DeactivateKeySigningKey to deactivate the key before you delete it.
*
*
* Use GetDNSSEC to verify
* that the KSK is in an INACTIVE
status.
*
*
* @param deleteKeySigningKeyRequest
* @return Result of the DeleteKeySigningKey operation returned by the service.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @throws NoSuchKeySigningKeyException
* The specified key-signing key (KSK) doesn't exist.
* @throws InvalidKeySigningKeyStatusException
* The key-signing key (KSK) status isn't valid or another KSK has the status INTERNAL_FAILURE
.
* @throws InvalidSigningStatusException
* Your hosted zone status isn't valid for this operation. In the hosted zone, change the status to enable
* DNSSEC
or disable DNSSEC
.
* @throws InvalidKMSArnException
* The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC signing.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.DeleteKeySigningKey
* @see AWS
* API Documentation
*/
@Override
public DeleteKeySigningKeyResult deleteKeySigningKey(DeleteKeySigningKeyRequest request) {
request = beforeClientExecution(request);
return executeDeleteKeySigningKey(request);
}
@SdkInternalApi
final DeleteKeySigningKeyResult executeDeleteKeySigningKey(DeleteKeySigningKeyRequest deleteKeySigningKeyRequest) {
ExecutionContext executionContext = createExecutionContext(deleteKeySigningKeyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteKeySigningKeyRequestMarshaller().marshall(super.beforeMarshalling(deleteKeySigningKeyRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteKeySigningKey");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DeleteKeySigningKeyResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a configuration for DNS query logging. If you delete a configuration, Amazon Route 53 stops sending query
* logs to CloudWatch Logs. Route 53 doesn't delete any logs that are already in CloudWatch Logs.
*
*
* For more information about DNS query logs, see CreateQueryLoggingConfig.
*
*
* @param deleteQueryLoggingConfigRequest
* @return Result of the DeleteQueryLoggingConfig operation returned by the service.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @throws NoSuchQueryLoggingConfigException
* There is no DNS query logging configuration with the specified ID.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.DeleteQueryLoggingConfig
* @see AWS API Documentation
*/
@Override
public DeleteQueryLoggingConfigResult deleteQueryLoggingConfig(DeleteQueryLoggingConfigRequest request) {
request = beforeClientExecution(request);
return executeDeleteQueryLoggingConfig(request);
}
@SdkInternalApi
final DeleteQueryLoggingConfigResult executeDeleteQueryLoggingConfig(DeleteQueryLoggingConfigRequest deleteQueryLoggingConfigRequest) {
ExecutionContext executionContext = createExecutionContext(deleteQueryLoggingConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteQueryLoggingConfigRequestMarshaller().marshall(super.beforeMarshalling(deleteQueryLoggingConfigRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteQueryLoggingConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DeleteQueryLoggingConfigResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a reusable delegation set.
*
*
*
* You can delete a reusable delegation set only if it isn't associated with any hosted zones.
*
*
*
* To verify that the reusable delegation set is not associated with any hosted zones, submit a GetReusableDelegationSet request and specify the ID of the reusable delegation set that you want to delete.
*
*
* @param deleteReusableDelegationSetRequest
* A request to delete a reusable delegation set.
* @return Result of the DeleteReusableDelegationSet operation returned by the service.
* @throws NoSuchDelegationSetException
* A reusable delegation set with the specified ID does not exist.
* @throws DelegationSetInUseException
* The specified delegation contains associated hosted zones which must be deleted before the reusable
* delegation set can be deleted.
* @throws DelegationSetNotReusableException
* A reusable delegation set with the specified ID does not exist.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.DeleteReusableDelegationSet
* @see AWS API Documentation
*/
@Override
public DeleteReusableDelegationSetResult deleteReusableDelegationSet(DeleteReusableDelegationSetRequest request) {
request = beforeClientExecution(request);
return executeDeleteReusableDelegationSet(request);
}
@SdkInternalApi
final DeleteReusableDelegationSetResult executeDeleteReusableDelegationSet(DeleteReusableDelegationSetRequest deleteReusableDelegationSetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteReusableDelegationSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteReusableDelegationSetRequestMarshaller().marshall(super.beforeMarshalling(deleteReusableDelegationSetRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteReusableDelegationSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DeleteReusableDelegationSetResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a traffic policy.
*
*
* When you delete a traffic policy, Route 53 sets a flag on the policy to indicate that it has been deleted.
* However, Route 53 never fully deletes the traffic policy. Note the following:
*
*
* -
*
* Deleted traffic policies aren't listed if you run ListTrafficPolicies.
*
*
* -
*
* There's no way to get a list of deleted policies.
*
*
* -
*
* If you retain the ID of the policy, you can get information about the policy, including the traffic policy
* document, by running GetTrafficPolicy.
*
*
*
*
* @param deleteTrafficPolicyRequest
* A request to delete a specified traffic policy version.
* @return Result of the DeleteTrafficPolicy operation returned by the service.
* @throws NoSuchTrafficPolicyException
* No traffic policy exists with the specified ID.
* @throws InvalidInputException
* The input is not valid.
* @throws TrafficPolicyInUseException
* One or more traffic policy instances were created by using the specified traffic policy.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @sample AmazonRoute53.DeleteTrafficPolicy
* @see AWS
* API Documentation
*/
@Override
public DeleteTrafficPolicyResult deleteTrafficPolicy(DeleteTrafficPolicyRequest request) {
request = beforeClientExecution(request);
return executeDeleteTrafficPolicy(request);
}
@SdkInternalApi
final DeleteTrafficPolicyResult executeDeleteTrafficPolicy(DeleteTrafficPolicyRequest deleteTrafficPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(deleteTrafficPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteTrafficPolicyRequestMarshaller().marshall(super.beforeMarshalling(deleteTrafficPolicyRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTrafficPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DeleteTrafficPolicyResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Deletes a traffic policy instance and all of the resource record sets that Amazon Route 53 created when you
* created the instance.
*
*
*
* In the Route 53 console, traffic policy instances are known as policy records.
*
*
*
* @param deleteTrafficPolicyInstanceRequest
* A request to delete a specified traffic policy instance.
* @return Result of the DeleteTrafficPolicyInstance operation returned by the service.
* @throws NoSuchTrafficPolicyInstanceException
* No traffic policy instance exists with the specified ID.
* @throws InvalidInputException
* The input is not valid.
* @throws PriorRequestNotCompleteException
* If Amazon Route 53 can't process a request before the next request arrives, it will reject subsequent
* requests for the same hosted zone and return an HTTP 400 error
(Bad request
).
* If Route 53 returns this error repeatedly for the same request, we recommend that you wait, in intervals
* of increasing duration, before you try the request again.
* @sample AmazonRoute53.DeleteTrafficPolicyInstance
* @see AWS API Documentation
*/
@Override
public DeleteTrafficPolicyInstanceResult deleteTrafficPolicyInstance(DeleteTrafficPolicyInstanceRequest request) {
request = beforeClientExecution(request);
return executeDeleteTrafficPolicyInstance(request);
}
@SdkInternalApi
final DeleteTrafficPolicyInstanceResult executeDeleteTrafficPolicyInstance(DeleteTrafficPolicyInstanceRequest deleteTrafficPolicyInstanceRequest) {
ExecutionContext executionContext = createExecutionContext(deleteTrafficPolicyInstanceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteTrafficPolicyInstanceRequestMarshaller().marshall(super.beforeMarshalling(deleteTrafficPolicyInstanceRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTrafficPolicyInstance");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DeleteTrafficPolicyInstanceResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Removes authorization to submit an AssociateVPCWithHostedZone
request to associate a specified VPC
* with a hosted zone that was created by a different account. You must use the account that created the hosted zone
* to submit a DeleteVPCAssociationAuthorization
request.
*
*
*
* Sending this request only prevents the Amazon Web Services account that created the VPC from associating the VPC
* with the Amazon Route 53 hosted zone in the future. If the VPC is already associated with the hosted zone,
* DeleteVPCAssociationAuthorization
won't disassociate the VPC from the hosted zone. If you want to
* delete an existing association, use DisassociateVPCFromHostedZone
.
*
*
*
* @param deleteVPCAssociationAuthorizationRequest
* A complex type that contains information about the request to remove authorization to associate a VPC that
* was created by one Amazon Web Services account with a hosted zone that was created with a different Amazon
* Web Services account.
* @return Result of the DeleteVPCAssociationAuthorization operation returned by the service.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @throws VPCAssociationAuthorizationNotFoundException
* The VPC that you specified is not authorized to be associated with the hosted zone.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws InvalidVPCIdException
* The VPC ID that you specified either isn't a valid ID or the current account is not authorized to access
* this VPC.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.DeleteVPCAssociationAuthorization
* @see AWS API Documentation
*/
@Override
public DeleteVPCAssociationAuthorizationResult deleteVPCAssociationAuthorization(DeleteVPCAssociationAuthorizationRequest request) {
request = beforeClientExecution(request);
return executeDeleteVPCAssociationAuthorization(request);
}
@SdkInternalApi
final DeleteVPCAssociationAuthorizationResult executeDeleteVPCAssociationAuthorization(
DeleteVPCAssociationAuthorizationRequest deleteVPCAssociationAuthorizationRequest) {
ExecutionContext executionContext = createExecutionContext(deleteVPCAssociationAuthorizationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteVPCAssociationAuthorizationRequestMarshaller().marshall(super.beforeMarshalling(deleteVPCAssociationAuthorizationRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteVPCAssociationAuthorization");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DeleteVPCAssociationAuthorizationResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Disables DNSSEC signing in a specific hosted zone. This action does not deactivate any key-signing keys (KSKs)
* that are active in the hosted zone.
*
*
* @param disableHostedZoneDNSSECRequest
* @return Result of the DisableHostedZoneDNSSEC operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws InvalidArgumentException
* Parameter name is not valid.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @throws KeySigningKeyInParentDSRecordException
* The key-signing key (KSK) is specified in a parent DS record.
* @throws DNSSECNotFoundException
* The hosted zone doesn't have any DNSSEC resources.
* @throws InvalidKeySigningKeyStatusException
* The key-signing key (KSK) status isn't valid or another KSK has the status INTERNAL_FAILURE
.
* @throws InvalidKMSArnException
* The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC signing.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.DisableHostedZoneDNSSEC
* @see AWS API Documentation
*/
@Override
public DisableHostedZoneDNSSECResult disableHostedZoneDNSSEC(DisableHostedZoneDNSSECRequest request) {
request = beforeClientExecution(request);
return executeDisableHostedZoneDNSSEC(request);
}
@SdkInternalApi
final DisableHostedZoneDNSSECResult executeDisableHostedZoneDNSSEC(DisableHostedZoneDNSSECRequest disableHostedZoneDNSSECRequest) {
ExecutionContext executionContext = createExecutionContext(disableHostedZoneDNSSECRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DisableHostedZoneDNSSECRequestMarshaller().marshall(super.beforeMarshalling(disableHostedZoneDNSSECRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisableHostedZoneDNSSEC");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DisableHostedZoneDNSSECResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Disassociates an Amazon Virtual Private Cloud (Amazon VPC) from an Amazon Route 53 private hosted zone. Note the
* following:
*
*
* -
*
* You can't disassociate the last Amazon VPC from a private hosted zone.
*
*
* -
*
* You can't convert a private hosted zone into a public hosted zone.
*
*
* -
*
* You can submit a DisassociateVPCFromHostedZone
request using either the account that created the
* hosted zone or the account that created the Amazon VPC.
*
*
* -
*
* Some services, such as Cloud Map and Amazon Elastic File System (Amazon EFS) automatically create hosted zones
* and associate VPCs with the hosted zones. A service can create a hosted zone using your account or using its own
* account. You can disassociate a VPC from a hosted zone only if the service created the hosted zone using your
* account.
*
*
* When you run
* DisassociateVPCFromHostedZone, if the hosted zone has a value for OwningAccount
, you can use
* DisassociateVPCFromHostedZone
. If the hosted zone has a value for OwningService
, you
* can't use DisassociateVPCFromHostedZone
.
*
*
*
*
*
* When revoking access, the hosted zone and the Amazon VPC must belong to the same partition. A partition is a
* group of Amazon Web Services Regions. Each Amazon Web Services account is scoped to one partition.
*
*
* The following are the supported partitions:
*
*
* -
*
* aws
- Amazon Web Services Regions
*
*
* -
*
* aws-cn
- China Regions
*
*
* -
*
* aws-us-gov
- Amazon Web Services GovCloud (US) Region
*
*
*
*
* For more information, see Access Management in the
* Amazon Web Services General Reference.
*
*
*
* @param disassociateVPCFromHostedZoneRequest
* A complex type that contains information about the VPC that you want to disassociate from a specified
* private hosted zone.
* @return Result of the DisassociateVPCFromHostedZone operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws InvalidVPCIdException
* The VPC ID that you specified either isn't a valid ID or the current account is not authorized to access
* this VPC.
* @throws VPCAssociationNotFoundException
* The specified VPC and hosted zone are not currently associated.
* @throws LastVPCAssociationException
* The VPC that you're trying to disassociate from the private hosted zone is the last VPC that is
* associated with the hosted zone. Amazon Route 53 doesn't support disassociating the last VPC from a
* hosted zone.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.DisassociateVPCFromHostedZone
* @see AWS API Documentation
*/
@Override
public DisassociateVPCFromHostedZoneResult disassociateVPCFromHostedZone(DisassociateVPCFromHostedZoneRequest request) {
request = beforeClientExecution(request);
return executeDisassociateVPCFromHostedZone(request);
}
@SdkInternalApi
final DisassociateVPCFromHostedZoneResult executeDisassociateVPCFromHostedZone(DisassociateVPCFromHostedZoneRequest disassociateVPCFromHostedZoneRequest) {
ExecutionContext executionContext = createExecutionContext(disassociateVPCFromHostedZoneRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DisassociateVPCFromHostedZoneRequestMarshaller().marshall(super.beforeMarshalling(disassociateVPCFromHostedZoneRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateVPCFromHostedZone");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new DisassociateVPCFromHostedZoneResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Enables DNSSEC signing in a specific hosted zone.
*
*
* @param enableHostedZoneDNSSECRequest
* @return Result of the EnableHostedZoneDNSSEC operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws InvalidArgumentException
* Parameter name is not valid.
* @throws ConcurrentModificationException
* Another user submitted a request to create, update, or delete the object at the same time that you did.
* Retry the request.
* @throws KeySigningKeyWithActiveStatusNotFoundException
* A key-signing key (KSK) with ACTIVE
status wasn't found.
* @throws InvalidKMSArnException
* The KeyManagementServiceArn that you specified isn't valid to use with DNSSEC signing.
* @throws HostedZonePartiallyDelegatedException
* The hosted zone nameservers don't match the parent nameservers. The hosted zone and parent must have the
* same nameservers.
* @throws DNSSECNotFoundException
* The hosted zone doesn't have any DNSSEC resources.
* @throws InvalidKeySigningKeyStatusException
* The key-signing key (KSK) status isn't valid or another KSK has the status INTERNAL_FAILURE
.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.EnableHostedZoneDNSSEC
* @see AWS
* API Documentation
*/
@Override
public EnableHostedZoneDNSSECResult enableHostedZoneDNSSEC(EnableHostedZoneDNSSECRequest request) {
request = beforeClientExecution(request);
return executeEnableHostedZoneDNSSEC(request);
}
@SdkInternalApi
final EnableHostedZoneDNSSECResult executeEnableHostedZoneDNSSEC(EnableHostedZoneDNSSECRequest enableHostedZoneDNSSECRequest) {
ExecutionContext executionContext = createExecutionContext(enableHostedZoneDNSSECRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new EnableHostedZoneDNSSECRequestMarshaller().marshall(super.beforeMarshalling(enableHostedZoneDNSSECRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "EnableHostedZoneDNSSEC");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new EnableHostedZoneDNSSECResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets the specified limit for the current account, for example, the maximum number of health checks that you can
* create using the account.
*
*
* For the default limit, see Limits in the Amazon
* Route 53 Developer Guide. To request a higher limit, open a case.
*
*
*
* You can also view account limits in Amazon Web Services Trusted Advisor. Sign in to the Amazon Web Services
* Management Console and open the Trusted Advisor console at https://console.aws.amazon.com/trustedadvisor/. Then
* choose Service limits in the navigation pane.
*
*
*
* @param getAccountLimitRequest
* A complex type that contains information about the request to create a hosted zone.
* @return Result of the GetAccountLimit operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetAccountLimit
* @see AWS API
* Documentation
*/
@Override
public GetAccountLimitResult getAccountLimit(GetAccountLimitRequest request) {
request = beforeClientExecution(request);
return executeGetAccountLimit(request);
}
@SdkInternalApi
final GetAccountLimitResult executeGetAccountLimit(GetAccountLimitRequest getAccountLimitRequest) {
ExecutionContext executionContext = createExecutionContext(getAccountLimitRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetAccountLimitRequestMarshaller().marshall(super.beforeMarshalling(getAccountLimitRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetAccountLimit");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetAccountLimitResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns the current status of a change batch request. The status is one of the following values:
*
*
* -
*
* PENDING
indicates that the changes in this request have not propagated to all Amazon Route 53 DNS
* servers managing the hosted zone. This is the initial status of all change batch requests.
*
*
* -
*
* INSYNC
indicates that the changes have propagated to all Route 53 DNS servers managing the hosted
* zone.
*
*
*
*
* @param getChangeRequest
* The input for a GetChange request.
* @return Result of the GetChange operation returned by the service.
* @throws NoSuchChangeException
* A change with the specified change ID does not exist.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetChange
* @see AWS API
* Documentation
*/
@Override
public GetChangeResult getChange(GetChangeRequest request) {
request = beforeClientExecution(request);
return executeGetChange(request);
}
@SdkInternalApi
final GetChangeResult executeGetChange(GetChangeRequest getChangeRequest) {
ExecutionContext executionContext = createExecutionContext(getChangeRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetChangeRequestMarshaller().marshall(super.beforeMarshalling(getChangeRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetChange");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(new GetChangeResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Route 53 does not perform authorization for this API because it retrieves information that is already available
* to the public.
*
*
*
* GetCheckerIpRanges
still works, but we recommend that you download ip-ranges.json, which includes IP
* address ranges for all Amazon Web Services services. For more information, see IP Address Ranges of
* Amazon Route 53 Servers in the Amazon Route 53 Developer Guide.
*
*
*
* @param getCheckerIpRangesRequest
* Empty request.
* @return Result of the GetCheckerIpRanges operation returned by the service.
* @sample AmazonRoute53.GetCheckerIpRanges
* @see AWS API
* Documentation
*/
@Override
public GetCheckerIpRangesResult getCheckerIpRanges(GetCheckerIpRangesRequest request) {
request = beforeClientExecution(request);
return executeGetCheckerIpRanges(request);
}
@SdkInternalApi
final GetCheckerIpRangesResult executeGetCheckerIpRanges(GetCheckerIpRangesRequest getCheckerIpRangesRequest) {
ExecutionContext executionContext = createExecutionContext(getCheckerIpRangesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetCheckerIpRangesRequestMarshaller().marshall(super.beforeMarshalling(getCheckerIpRangesRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetCheckerIpRanges");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetCheckerIpRangesResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public GetCheckerIpRangesResult getCheckerIpRanges() {
return getCheckerIpRanges(new GetCheckerIpRangesRequest());
}
/**
*
* Returns information about DNSSEC for a specific hosted zone, including the key-signing keys (KSKs) in the hosted
* zone.
*
*
* @param getDNSSECRequest
* @return Result of the GetDNSSEC operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws InvalidArgumentException
* Parameter name is not valid.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetDNSSEC
* @see AWS API
* Documentation
*/
@Override
public GetDNSSECResult getDNSSEC(GetDNSSECRequest request) {
request = beforeClientExecution(request);
return executeGetDNSSEC(request);
}
@SdkInternalApi
final GetDNSSECResult executeGetDNSSEC(GetDNSSECRequest getDNSSECRequest) {
ExecutionContext executionContext = createExecutionContext(getDNSSECRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetDNSSECRequestMarshaller().marshall(super.beforeMarshalling(getDNSSECRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetDNSSEC");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(new GetDNSSECResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets information about whether a specified geographic location is supported for Amazon Route 53 geolocation
* resource record sets.
*
*
* Route 53 does not perform authorization for this API because it retrieves information that is already available
* to the public.
*
*
* Use the following syntax to determine whether a continent is supported for geolocation:
*
*
* GET /2013-04-01/geolocation?continentcode=two-letter abbreviation for a continent
*
*
* Use the following syntax to determine whether a country is supported for geolocation:
*
*
* GET /2013-04-01/geolocation?countrycode=two-character country code
*
*
* Use the following syntax to determine whether a subdivision of a country is supported for geolocation:
*
*
* GET /2013-04-01/geolocation?countrycode=two-character country code&subdivisioncode=subdivision code
*
*
* @param getGeoLocationRequest
* A request for information about whether a specified geographic location is supported for Amazon Route 53
* geolocation resource record sets.
* @return Result of the GetGeoLocation operation returned by the service.
* @throws NoSuchGeoLocationException
* Amazon Route 53 doesn't support the specified geographic location. For a list of supported geolocation
* codes, see the GeoLocation data
* type.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetGeoLocation
* @see AWS API
* Documentation
*/
@Override
public GetGeoLocationResult getGeoLocation(GetGeoLocationRequest request) {
request = beforeClientExecution(request);
return executeGetGeoLocation(request);
}
@SdkInternalApi
final GetGeoLocationResult executeGetGeoLocation(GetGeoLocationRequest getGeoLocationRequest) {
ExecutionContext executionContext = createExecutionContext(getGeoLocationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetGeoLocationRequestMarshaller().marshall(super.beforeMarshalling(getGeoLocationRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetGeoLocation");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetGeoLocationResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public GetGeoLocationResult getGeoLocation() {
return getGeoLocation(new GetGeoLocationRequest());
}
/**
*
* Gets information about a specified health check.
*
*
* @param getHealthCheckRequest
* A request to get information about a specified health check.
* @return Result of the GetHealthCheck operation returned by the service.
* @throws NoSuchHealthCheckException
* No health check exists with the specified ID.
* @throws InvalidInputException
* The input is not valid.
* @throws IncompatibleVersionException
* The resource you're trying to access is unsupported on this Amazon Route 53 endpoint.
* @sample AmazonRoute53.GetHealthCheck
* @see AWS API
* Documentation
*/
@Override
public GetHealthCheckResult getHealthCheck(GetHealthCheckRequest request) {
request = beforeClientExecution(request);
return executeGetHealthCheck(request);
}
@SdkInternalApi
final GetHealthCheckResult executeGetHealthCheck(GetHealthCheckRequest getHealthCheckRequest) {
ExecutionContext executionContext = createExecutionContext(getHealthCheckRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetHealthCheckRequestMarshaller().marshall(super.beforeMarshalling(getHealthCheckRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetHealthCheck");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetHealthCheckResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the number of health checks that are associated with the current Amazon Web Services account.
*
*
* @param getHealthCheckCountRequest
* A request for the number of health checks that are associated with the current Amazon Web Services
* account.
* @return Result of the GetHealthCheckCount operation returned by the service.
* @sample AmazonRoute53.GetHealthCheckCount
* @see AWS
* API Documentation
*/
@Override
public GetHealthCheckCountResult getHealthCheckCount(GetHealthCheckCountRequest request) {
request = beforeClientExecution(request);
return executeGetHealthCheckCount(request);
}
@SdkInternalApi
final GetHealthCheckCountResult executeGetHealthCheckCount(GetHealthCheckCountRequest getHealthCheckCountRequest) {
ExecutionContext executionContext = createExecutionContext(getHealthCheckCountRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetHealthCheckCountRequestMarshaller().marshall(super.beforeMarshalling(getHealthCheckCountRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetHealthCheckCount");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetHealthCheckCountResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public GetHealthCheckCountResult getHealthCheckCount() {
return getHealthCheckCount(new GetHealthCheckCountRequest());
}
/**
*
* Gets the reason that a specified health check failed most recently.
*
*
* @param getHealthCheckLastFailureReasonRequest
* A request for the reason that a health check failed most recently.
* @return Result of the GetHealthCheckLastFailureReason operation returned by the service.
* @throws NoSuchHealthCheckException
* No health check exists with the specified ID.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetHealthCheckLastFailureReason
* @see AWS API Documentation
*/
@Override
public GetHealthCheckLastFailureReasonResult getHealthCheckLastFailureReason(GetHealthCheckLastFailureReasonRequest request) {
request = beforeClientExecution(request);
return executeGetHealthCheckLastFailureReason(request);
}
@SdkInternalApi
final GetHealthCheckLastFailureReasonResult executeGetHealthCheckLastFailureReason(
GetHealthCheckLastFailureReasonRequest getHealthCheckLastFailureReasonRequest) {
ExecutionContext executionContext = createExecutionContext(getHealthCheckLastFailureReasonRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetHealthCheckLastFailureReasonRequestMarshaller().marshall(super.beforeMarshalling(getHealthCheckLastFailureReasonRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetHealthCheckLastFailureReason");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetHealthCheckLastFailureReasonResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets status of a specified health check.
*
*
*
* This API is intended for use during development to diagnose behavior. It doesn’t support production use-cases
* with high query rates that require immediate and actionable responses.
*
*
*
* @param getHealthCheckStatusRequest
* A request to get the status for a health check.
* @return Result of the GetHealthCheckStatus operation returned by the service.
* @throws NoSuchHealthCheckException
* No health check exists with the specified ID.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetHealthCheckStatus
* @see AWS
* API Documentation
*/
@Override
public GetHealthCheckStatusResult getHealthCheckStatus(GetHealthCheckStatusRequest request) {
request = beforeClientExecution(request);
return executeGetHealthCheckStatus(request);
}
@SdkInternalApi
final GetHealthCheckStatusResult executeGetHealthCheckStatus(GetHealthCheckStatusRequest getHealthCheckStatusRequest) {
ExecutionContext executionContext = createExecutionContext(getHealthCheckStatusRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetHealthCheckStatusRequestMarshaller().marshall(super.beforeMarshalling(getHealthCheckStatusRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetHealthCheckStatus");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetHealthCheckStatusResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets information about a specified hosted zone including the four name servers assigned to the hosted zone.
*
*
* @param getHostedZoneRequest
* A request to get information about a specified hosted zone.
* @return Result of the GetHostedZone operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetHostedZone
* @see AWS API
* Documentation
*/
@Override
public GetHostedZoneResult getHostedZone(GetHostedZoneRequest request) {
request = beforeClientExecution(request);
return executeGetHostedZone(request);
}
@SdkInternalApi
final GetHostedZoneResult executeGetHostedZone(GetHostedZoneRequest getHostedZoneRequest) {
ExecutionContext executionContext = createExecutionContext(getHostedZoneRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetHostedZoneRequestMarshaller().marshall(super.beforeMarshalling(getHostedZoneRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetHostedZone");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(new GetHostedZoneResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves the number of hosted zones that are associated with the current Amazon Web Services account.
*
*
* @param getHostedZoneCountRequest
* A request to retrieve a count of all the hosted zones that are associated with the current Amazon Web
* Services account.
* @return Result of the GetHostedZoneCount operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetHostedZoneCount
* @see AWS API
* Documentation
*/
@Override
public GetHostedZoneCountResult getHostedZoneCount(GetHostedZoneCountRequest request) {
request = beforeClientExecution(request);
return executeGetHostedZoneCount(request);
}
@SdkInternalApi
final GetHostedZoneCountResult executeGetHostedZoneCount(GetHostedZoneCountRequest getHostedZoneCountRequest) {
ExecutionContext executionContext = createExecutionContext(getHostedZoneCountRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetHostedZoneCountRequestMarshaller().marshall(super.beforeMarshalling(getHostedZoneCountRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetHostedZoneCount");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetHostedZoneCountResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public GetHostedZoneCountResult getHostedZoneCount() {
return getHostedZoneCount(new GetHostedZoneCountRequest());
}
/**
*
* Gets the specified limit for a specified hosted zone, for example, the maximum number of records that you can
* create in the hosted zone.
*
*
* For the default limit, see Limits in the Amazon
* Route 53 Developer Guide. To request a higher limit, open a case.
*
*
* @param getHostedZoneLimitRequest
* A complex type that contains information about the request to create a hosted zone.
* @return Result of the GetHostedZoneLimit operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws InvalidInputException
* The input is not valid.
* @throws HostedZoneNotPrivateException
* The specified hosted zone is a public hosted zone, not a private hosted zone.
* @sample AmazonRoute53.GetHostedZoneLimit
* @see AWS API
* Documentation
*/
@Override
public GetHostedZoneLimitResult getHostedZoneLimit(GetHostedZoneLimitRequest request) {
request = beforeClientExecution(request);
return executeGetHostedZoneLimit(request);
}
@SdkInternalApi
final GetHostedZoneLimitResult executeGetHostedZoneLimit(GetHostedZoneLimitRequest getHostedZoneLimitRequest) {
ExecutionContext executionContext = createExecutionContext(getHostedZoneLimitRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetHostedZoneLimitRequestMarshaller().marshall(super.beforeMarshalling(getHostedZoneLimitRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetHostedZoneLimit");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetHostedZoneLimitResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets information about a specified configuration for DNS query logging.
*
*
* For more information about DNS query logs, see CreateQueryLoggingConfig and Logging DNS Queries.
*
*
* @param getQueryLoggingConfigRequest
* @return Result of the GetQueryLoggingConfig operation returned by the service.
* @throws NoSuchQueryLoggingConfigException
* There is no DNS query logging configuration with the specified ID.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetQueryLoggingConfig
* @see AWS
* API Documentation
*/
@Override
public GetQueryLoggingConfigResult getQueryLoggingConfig(GetQueryLoggingConfigRequest request) {
request = beforeClientExecution(request);
return executeGetQueryLoggingConfig(request);
}
@SdkInternalApi
final GetQueryLoggingConfigResult executeGetQueryLoggingConfig(GetQueryLoggingConfigRequest getQueryLoggingConfigRequest) {
ExecutionContext executionContext = createExecutionContext(getQueryLoggingConfigRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetQueryLoggingConfigRequestMarshaller().marshall(super.beforeMarshalling(getQueryLoggingConfigRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetQueryLoggingConfig");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetQueryLoggingConfigResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves information about a specified reusable delegation set, including the four name servers that are
* assigned to the delegation set.
*
*
* @param getReusableDelegationSetRequest
* A request to get information about a specified reusable delegation set.
* @return Result of the GetReusableDelegationSet operation returned by the service.
* @throws NoSuchDelegationSetException
* A reusable delegation set with the specified ID does not exist.
* @throws DelegationSetNotReusableException
* A reusable delegation set with the specified ID does not exist.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetReusableDelegationSet
* @see AWS API Documentation
*/
@Override
public GetReusableDelegationSetResult getReusableDelegationSet(GetReusableDelegationSetRequest request) {
request = beforeClientExecution(request);
return executeGetReusableDelegationSet(request);
}
@SdkInternalApi
final GetReusableDelegationSetResult executeGetReusableDelegationSet(GetReusableDelegationSetRequest getReusableDelegationSetRequest) {
ExecutionContext executionContext = createExecutionContext(getReusableDelegationSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetReusableDelegationSetRequestMarshaller().marshall(super.beforeMarshalling(getReusableDelegationSetRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetReusableDelegationSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetReusableDelegationSetResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets the maximum number of hosted zones that you can associate with the specified reusable delegation set.
*
*
* For the default limit, see Limits in the Amazon
* Route 53 Developer Guide. To request a higher limit, open a case.
*
*
* @param getReusableDelegationSetLimitRequest
* A complex type that contains information about the request to create a hosted zone.
* @return Result of the GetReusableDelegationSetLimit operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws NoSuchDelegationSetException
* A reusable delegation set with the specified ID does not exist.
* @sample AmazonRoute53.GetReusableDelegationSetLimit
* @see AWS API Documentation
*/
@Override
public GetReusableDelegationSetLimitResult getReusableDelegationSetLimit(GetReusableDelegationSetLimitRequest request) {
request = beforeClientExecution(request);
return executeGetReusableDelegationSetLimit(request);
}
@SdkInternalApi
final GetReusableDelegationSetLimitResult executeGetReusableDelegationSetLimit(GetReusableDelegationSetLimitRequest getReusableDelegationSetLimitRequest) {
ExecutionContext executionContext = createExecutionContext(getReusableDelegationSetLimitRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetReusableDelegationSetLimitRequestMarshaller().marshall(super.beforeMarshalling(getReusableDelegationSetLimitRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetReusableDelegationSetLimit");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetReusableDelegationSetLimitResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets information about a specific traffic policy version.
*
*
* For information about how of deleting a traffic policy affects the response from GetTrafficPolicy
,
* see DeleteTrafficPolicy
* .
*
*
* @param getTrafficPolicyRequest
* Gets information about a specific traffic policy version.
* @return Result of the GetTrafficPolicy operation returned by the service.
* @throws NoSuchTrafficPolicyException
* No traffic policy exists with the specified ID.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetTrafficPolicy
* @see AWS API
* Documentation
*/
@Override
public GetTrafficPolicyResult getTrafficPolicy(GetTrafficPolicyRequest request) {
request = beforeClientExecution(request);
return executeGetTrafficPolicy(request);
}
@SdkInternalApi
final GetTrafficPolicyResult executeGetTrafficPolicy(GetTrafficPolicyRequest getTrafficPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(getTrafficPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetTrafficPolicyRequestMarshaller().marshall(super.beforeMarshalling(getTrafficPolicyRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetTrafficPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetTrafficPolicyResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets information about a specified traffic policy instance.
*
*
*
* Use GetTrafficPolicyInstance
with the id
of new traffic policy instance to confirm that
* the CreateTrafficPolicyInstance
or an UpdateTrafficPolicyInstance
request completed
* successfully. For more information, see the State
response element.
*
*
*
* In the Route 53 console, traffic policy instances are known as policy records.
*
*
*
* @param getTrafficPolicyInstanceRequest
* Gets information about a specified traffic policy instance.
* @return Result of the GetTrafficPolicyInstance operation returned by the service.
* @throws NoSuchTrafficPolicyInstanceException
* No traffic policy instance exists with the specified ID.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.GetTrafficPolicyInstance
* @see AWS API Documentation
*/
@Override
public GetTrafficPolicyInstanceResult getTrafficPolicyInstance(GetTrafficPolicyInstanceRequest request) {
request = beforeClientExecution(request);
return executeGetTrafficPolicyInstance(request);
}
@SdkInternalApi
final GetTrafficPolicyInstanceResult executeGetTrafficPolicyInstance(GetTrafficPolicyInstanceRequest getTrafficPolicyInstanceRequest) {
ExecutionContext executionContext = createExecutionContext(getTrafficPolicyInstanceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetTrafficPolicyInstanceRequestMarshaller().marshall(super.beforeMarshalling(getTrafficPolicyInstanceRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetTrafficPolicyInstance");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetTrafficPolicyInstanceResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets the number of traffic policy instances that are associated with the current Amazon Web Services account.
*
*
* @param getTrafficPolicyInstanceCountRequest
* Request to get the number of traffic policy instances that are associated with the current Amazon Web
* Services account.
* @return Result of the GetTrafficPolicyInstanceCount operation returned by the service.
* @sample AmazonRoute53.GetTrafficPolicyInstanceCount
* @see AWS API Documentation
*/
@Override
public GetTrafficPolicyInstanceCountResult getTrafficPolicyInstanceCount(GetTrafficPolicyInstanceCountRequest request) {
request = beforeClientExecution(request);
return executeGetTrafficPolicyInstanceCount(request);
}
@SdkInternalApi
final GetTrafficPolicyInstanceCountResult executeGetTrafficPolicyInstanceCount(GetTrafficPolicyInstanceCountRequest getTrafficPolicyInstanceCountRequest) {
ExecutionContext executionContext = createExecutionContext(getTrafficPolicyInstanceCountRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetTrafficPolicyInstanceCountRequestMarshaller().marshall(super.beforeMarshalling(getTrafficPolicyInstanceCountRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetTrafficPolicyInstanceCount");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new GetTrafficPolicyInstanceCountResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public GetTrafficPolicyInstanceCountResult getTrafficPolicyInstanceCount() {
return getTrafficPolicyInstanceCount(new GetTrafficPolicyInstanceCountRequest());
}
/**
*
* Returns a paginated list of location objects and their CIDR blocks.
*
*
* @param listCidrBlocksRequest
* @return Result of the ListCidrBlocks operation returned by the service.
* @throws NoSuchCidrCollectionException
* The CIDR collection you specified, doesn't exist.
* @throws NoSuchCidrLocationException
* The CIDR collection location doesn't match any locations in your account.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.ListCidrBlocks
* @see AWS API
* Documentation
*/
@Override
public ListCidrBlocksResult listCidrBlocks(ListCidrBlocksRequest request) {
request = beforeClientExecution(request);
return executeListCidrBlocks(request);
}
@SdkInternalApi
final ListCidrBlocksResult executeListCidrBlocks(ListCidrBlocksRequest listCidrBlocksRequest) {
ExecutionContext executionContext = createExecutionContext(listCidrBlocksRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListCidrBlocksRequestMarshaller().marshall(super.beforeMarshalling(listCidrBlocksRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListCidrBlocks");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListCidrBlocksResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a paginated list of CIDR collections in the Amazon Web Services account (metadata only).
*
*
* @param listCidrCollectionsRequest
* @return Result of the ListCidrCollections operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.ListCidrCollections
* @see AWS
* API Documentation
*/
@Override
public ListCidrCollectionsResult listCidrCollections(ListCidrCollectionsRequest request) {
request = beforeClientExecution(request);
return executeListCidrCollections(request);
}
@SdkInternalApi
final ListCidrCollectionsResult executeListCidrCollections(ListCidrCollectionsRequest listCidrCollectionsRequest) {
ExecutionContext executionContext = createExecutionContext(listCidrCollectionsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListCidrCollectionsRequestMarshaller().marshall(super.beforeMarshalling(listCidrCollectionsRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListCidrCollections");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListCidrCollectionsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Returns a paginated list of CIDR locations for the given collection (metadata only, does not include CIDR
* blocks).
*
*
* @param listCidrLocationsRequest
* @return Result of the ListCidrLocations operation returned by the service.
* @throws NoSuchCidrCollectionException
* The CIDR collection you specified, doesn't exist.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.ListCidrLocations
* @see AWS API
* Documentation
*/
@Override
public ListCidrLocationsResult listCidrLocations(ListCidrLocationsRequest request) {
request = beforeClientExecution(request);
return executeListCidrLocations(request);
}
@SdkInternalApi
final ListCidrLocationsResult executeListCidrLocations(ListCidrLocationsRequest listCidrLocationsRequest) {
ExecutionContext executionContext = createExecutionContext(listCidrLocationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListCidrLocationsRequestMarshaller().marshall(super.beforeMarshalling(listCidrLocationsRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListCidrLocations");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListCidrLocationsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves a list of supported geographic locations.
*
*
* Countries are listed first, and continents are listed last. If Amazon Route 53 supports subdivisions for a
* country (for example, states or provinces), the subdivisions for that country are listed in alphabetical order
* immediately after the corresponding country.
*
*
* Route 53 does not perform authorization for this API because it retrieves information that is already available
* to the public.
*
*
* For a list of supported geolocation codes, see the GeoLocation data type.
*
*
* @param listGeoLocationsRequest
* A request to get a list of geographic locations that Amazon Route 53 supports for geolocation resource
* record sets.
* @return Result of the ListGeoLocations operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.ListGeoLocations
* @see AWS API
* Documentation
*/
@Override
public ListGeoLocationsResult listGeoLocations(ListGeoLocationsRequest request) {
request = beforeClientExecution(request);
return executeListGeoLocations(request);
}
@SdkInternalApi
final ListGeoLocationsResult executeListGeoLocations(ListGeoLocationsRequest listGeoLocationsRequest) {
ExecutionContext executionContext = createExecutionContext(listGeoLocationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListGeoLocationsRequestMarshaller().marshall(super.beforeMarshalling(listGeoLocationsRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListGeoLocations");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListGeoLocationsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public ListGeoLocationsResult listGeoLocations() {
return listGeoLocations(new ListGeoLocationsRequest());
}
/**
*
* Retrieve a list of the health checks that are associated with the current Amazon Web Services account.
*
*
* @param listHealthChecksRequest
* A request to retrieve a list of the health checks that are associated with the current Amazon Web Services
* account.
* @return Result of the ListHealthChecks operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws IncompatibleVersionException
* The resource you're trying to access is unsupported on this Amazon Route 53 endpoint.
* @sample AmazonRoute53.ListHealthChecks
* @see AWS API
* Documentation
*/
@Override
public ListHealthChecksResult listHealthChecks(ListHealthChecksRequest request) {
request = beforeClientExecution(request);
return executeListHealthChecks(request);
}
@SdkInternalApi
final ListHealthChecksResult executeListHealthChecks(ListHealthChecksRequest listHealthChecksRequest) {
ExecutionContext executionContext = createExecutionContext(listHealthChecksRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListHealthChecksRequestMarshaller().marshall(super.beforeMarshalling(listHealthChecksRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListHealthChecks");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListHealthChecksResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public ListHealthChecksResult listHealthChecks() {
return listHealthChecks(new ListHealthChecksRequest());
}
/**
*
* Retrieves a list of the public and private hosted zones that are associated with the current Amazon Web Services
* account. The response includes a HostedZones
child element for each hosted zone.
*
*
* Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of hosted zones, you can use
* the maxitems
parameter to list them in groups of up to 100.
*
*
* @param listHostedZonesRequest
* A request to retrieve a list of the public and private hosted zones that are associated with the current
* Amazon Web Services account.
* @return Result of the ListHostedZones operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws NoSuchDelegationSetException
* A reusable delegation set with the specified ID does not exist.
* @throws DelegationSetNotReusableException
* A reusable delegation set with the specified ID does not exist.
* @sample AmazonRoute53.ListHostedZones
* @see AWS API
* Documentation
*/
@Override
public ListHostedZonesResult listHostedZones(ListHostedZonesRequest request) {
request = beforeClientExecution(request);
return executeListHostedZones(request);
}
@SdkInternalApi
final ListHostedZonesResult executeListHostedZones(ListHostedZonesRequest listHostedZonesRequest) {
ExecutionContext executionContext = createExecutionContext(listHostedZonesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListHostedZonesRequestMarshaller().marshall(super.beforeMarshalling(listHostedZonesRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListHostedZones");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListHostedZonesResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public ListHostedZonesResult listHostedZones() {
return listHostedZones(new ListHostedZonesRequest());
}
/**
*
* Retrieves a list of your hosted zones in lexicographic order. The response includes a HostedZones
* child element for each hosted zone created by the current Amazon Web Services account.
*
*
* ListHostedZonesByName
sorts hosted zones by name with the labels reversed. For example:
*
*
* com.example.www.
*
*
* Note the trailing dot, which can change the sort order in some circumstances.
*
*
* If the domain name includes escape characters or Punycode, ListHostedZonesByName
alphabetizes the
* domain name using the escaped or Punycoded value, which is the format that Amazon Route 53 saves in its database.
* For example, to create a hosted zone for exämple.com, you specify ex\344mple.com for the domain name.
* ListHostedZonesByName
alphabetizes it as:
*
*
* com.ex\344mple.
*
*
* The labels are reversed and alphabetized using the escaped value. For more information about valid domain name
* formats, including internationalized domain names, see DNS Domain Name Format
* in the Amazon Route 53 Developer Guide.
*
*
* Route 53 returns up to 100 items in each response. If you have a lot of hosted zones, use the
* MaxItems
parameter to list them in groups of up to 100. The response includes values that help
* navigate from one group of MaxItems
hosted zones to the next:
*
*
* -
*
* The DNSName
and HostedZoneId
elements in the response contain the values, if any,
* specified for the dnsname
and hostedzoneid
parameters in the request that produced the
* current response.
*
*
* -
*
* The MaxItems
element in the response contains the value, if any, that you specified for the
* maxitems
parameter in the request that produced the current response.
*
*
* -
*
* If the value of IsTruncated
in the response is true, there are more hosted zones associated with the
* current Amazon Web Services account.
*
*
* If IsTruncated
is false, this response includes the last hosted zone that is associated with the
* current account. The NextDNSName
element and NextHostedZoneId
elements are omitted from
* the response.
*
*
* -
*
* The NextDNSName
and NextHostedZoneId
elements in the response contain the domain name
* and the hosted zone ID of the next hosted zone that is associated with the current Amazon Web Services account.
* If you want to list more hosted zones, make another call to ListHostedZonesByName
, and specify the
* value of NextDNSName
and NextHostedZoneId
in the dnsname
and
* hostedzoneid
parameters, respectively.
*
*
*
*
* @param listHostedZonesByNameRequest
* Retrieves a list of the public and private hosted zones that are associated with the current Amazon Web
* Services account in ASCII order by domain name.
* @return Result of the ListHostedZonesByName operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws InvalidDomainNameException
* The specified domain name is not valid.
* @sample AmazonRoute53.ListHostedZonesByName
* @see AWS
* API Documentation
*/
@Override
public ListHostedZonesByNameResult listHostedZonesByName(ListHostedZonesByNameRequest request) {
request = beforeClientExecution(request);
return executeListHostedZonesByName(request);
}
@SdkInternalApi
final ListHostedZonesByNameResult executeListHostedZonesByName(ListHostedZonesByNameRequest listHostedZonesByNameRequest) {
ExecutionContext executionContext = createExecutionContext(listHostedZonesByNameRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListHostedZonesByNameRequestMarshaller().marshall(super.beforeMarshalling(listHostedZonesByNameRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListHostedZonesByName");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListHostedZonesByNameResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public ListHostedZonesByNameResult listHostedZonesByName() {
return listHostedZonesByName(new ListHostedZonesByNameRequest());
}
/**
*
* Lists all the private hosted zones that a specified VPC is associated with, regardless of which Amazon Web
* Services account or Amazon Web Services service owns the hosted zones. The HostedZoneOwner
structure
* in the response contains one of the following values:
*
*
* -
*
* An OwningAccount
element, which contains the account number of either the current Amazon Web
* Services account or another Amazon Web Services account. Some services, such as Cloud Map, create hosted zones
* using the current account.
*
*
* -
*
* An OwningService
element, which identifies the Amazon Web Services service that created and owns the
* hosted zone. For example, if a hosted zone was created by Amazon Elastic File System (Amazon EFS), the value of
* Owner
is efs.amazonaws.com
.
*
*
*
*
*
* When listing private hosted zones, the hosted zone and the Amazon VPC must belong to the same partition where the
* hosted zones were created. A partition is a group of Amazon Web Services Regions. Each Amazon Web Services
* account is scoped to one partition.
*
*
* The following are the supported partitions:
*
*
* -
*
* aws
- Amazon Web Services Regions
*
*
* -
*
* aws-cn
- China Regions
*
*
* -
*
* aws-us-gov
- Amazon Web Services GovCloud (US) Region
*
*
*
*
* For more information, see Access Management in the
* Amazon Web Services General Reference.
*
*
*
* @param listHostedZonesByVPCRequest
* Lists all the private hosted zones that a specified VPC is associated with, regardless of which Amazon Web
* Services account created the hosted zones.
* @return Result of the ListHostedZonesByVPC operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws InvalidPaginationTokenException
* The value that you specified to get the second or subsequent page of results is invalid.
* @sample AmazonRoute53.ListHostedZonesByVPC
* @see AWS
* API Documentation
*/
@Override
public ListHostedZonesByVPCResult listHostedZonesByVPC(ListHostedZonesByVPCRequest request) {
request = beforeClientExecution(request);
return executeListHostedZonesByVPC(request);
}
@SdkInternalApi
final ListHostedZonesByVPCResult executeListHostedZonesByVPC(ListHostedZonesByVPCRequest listHostedZonesByVPCRequest) {
ExecutionContext executionContext = createExecutionContext(listHostedZonesByVPCRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListHostedZonesByVPCRequestMarshaller().marshall(super.beforeMarshalling(listHostedZonesByVPCRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListHostedZonesByVPC");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListHostedZonesByVPCResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the configurations for DNS query logging that are associated with the current Amazon Web Services account
* or the configuration that is associated with a specified hosted zone.
*
*
* For more information about DNS query logs, see CreateQueryLoggingConfig. Additional information, including the format of DNS query logs, appears in Logging DNS Queries in the
* Amazon Route 53 Developer Guide.
*
*
* @param listQueryLoggingConfigsRequest
* @return Result of the ListQueryLoggingConfigs operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws InvalidPaginationTokenException
* The value that you specified to get the second or subsequent page of results is invalid.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @sample AmazonRoute53.ListQueryLoggingConfigs
* @see AWS API Documentation
*/
@Override
public ListQueryLoggingConfigsResult listQueryLoggingConfigs(ListQueryLoggingConfigsRequest request) {
request = beforeClientExecution(request);
return executeListQueryLoggingConfigs(request);
}
@SdkInternalApi
final ListQueryLoggingConfigsResult executeListQueryLoggingConfigs(ListQueryLoggingConfigsRequest listQueryLoggingConfigsRequest) {
ExecutionContext executionContext = createExecutionContext(listQueryLoggingConfigsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListQueryLoggingConfigsRequestMarshaller().marshall(super.beforeMarshalling(listQueryLoggingConfigsRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListQueryLoggingConfigs");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListQueryLoggingConfigsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists the resource record sets in a specified hosted zone.
*
*
* ListResourceRecordSets
returns up to 300 resource record sets at a time in ASCII order, beginning at
* a position specified by the name
and type
elements.
*
*
* Sort order
*
*
* ListResourceRecordSets
sorts results first by DNS name with the labels reversed, for example:
*
*
* com.example.www.
*
*
* Note the trailing dot, which can change the sort order when the record name contains characters that appear
* before .
(decimal 46) in the ASCII table. These characters include the following:
* ! " # $ % & ' ( ) * + , -
*
*
* When multiple records have the same DNS name, ListResourceRecordSets
sorts results by the record
* type.
*
*
* Specifying where to start listing records
*
*
* You can use the name and type elements to specify the resource record set that the list begins with:
*
*
* - If you do not specify Name or Type
* -
*
* The results begin with the first resource record set that the hosted zone contains.
*
*
* - If you specify Name but not Type
* -
*
* The results begin with the first resource record set in the list whose name is greater than or equal to
* Name
.
*
*
* - If you specify Type but not Name
* -
*
* Amazon Route 53 returns the InvalidInput
error.
*
*
* - If you specify both Name and Type
* -
*
* The results begin with the first resource record set in the list whose name is greater than or equal to
* Name
, and whose type is greater than or equal to Type
.
*
*
*
*
* Resource record sets that are PENDING
*
*
* This action returns the most current version of the records. This includes records that are PENDING
,
* and that are not yet available on all Route 53 DNS servers.
*
*
* Changing resource record sets
*
*
* To ensure that you get an accurate listing of the resource record sets for a hosted zone at a point in time, do
* not submit a ChangeResourceRecordSets
request while you're paging through the results of a
* ListResourceRecordSets
request. If you do, some pages may display results without the latest changes
* while other pages display results with the latest changes.
*
*
* Displaying the next page of results
*
*
* If a ListResourceRecordSets
command returns more than one page of results, the value of
* IsTruncated
is true
. To display the next page of results, get the values of
* NextRecordName
, NextRecordType
, and NextRecordIdentifier
(if any) from the
* response. Then submit another ListResourceRecordSets
request, and specify those values for
* StartRecordName
, StartRecordType
, and StartRecordIdentifier
.
*
*
* @param listResourceRecordSetsRequest
* A request for the resource record sets that are associated with a specified hosted zone.
* @return Result of the ListResourceRecordSets operation returned by the service.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.ListResourceRecordSets
* @see AWS
* API Documentation
*/
@Override
public ListResourceRecordSetsResult listResourceRecordSets(ListResourceRecordSetsRequest request) {
request = beforeClientExecution(request);
return executeListResourceRecordSets(request);
}
@SdkInternalApi
final ListResourceRecordSetsResult executeListResourceRecordSets(ListResourceRecordSetsRequest listResourceRecordSetsRequest) {
ExecutionContext executionContext = createExecutionContext(listResourceRecordSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListResourceRecordSetsRequestMarshaller().marshall(super.beforeMarshalling(listResourceRecordSetsRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResourceRecordSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListResourceRecordSetsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Retrieves a list of the reusable delegation sets that are associated with the current Amazon Web Services
* account.
*
*
* @param listReusableDelegationSetsRequest
* A request to get a list of the reusable delegation sets that are associated with the current Amazon Web
* Services account.
* @return Result of the ListReusableDelegationSets operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.ListReusableDelegationSets
* @see AWS API Documentation
*/
@Override
public ListReusableDelegationSetsResult listReusableDelegationSets(ListReusableDelegationSetsRequest request) {
request = beforeClientExecution(request);
return executeListReusableDelegationSets(request);
}
@SdkInternalApi
final ListReusableDelegationSetsResult executeListReusableDelegationSets(ListReusableDelegationSetsRequest listReusableDelegationSetsRequest) {
ExecutionContext executionContext = createExecutionContext(listReusableDelegationSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListReusableDelegationSetsRequestMarshaller().marshall(super.beforeMarshalling(listReusableDelegationSetsRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListReusableDelegationSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListReusableDelegationSetsResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public ListReusableDelegationSetsResult listReusableDelegationSets() {
return listReusableDelegationSets(new ListReusableDelegationSetsRequest());
}
/**
*
* Lists tags for one health check or hosted zone.
*
*
* For information about using tags for cost allocation, see Using Cost Allocation
* Tags in the Billing and Cost Management User Guide.
*
*
* @param listTagsForResourceRequest
* A complex type containing information about a request for a list of the tags that are associated with an
* individual resource.
* @return Result of the ListTagsForResource operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws NoSuchHealthCheckException
* No health check exists with the specified ID.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws PriorRequestNotCompleteException
* If Amazon Route 53 can't process a request before the next request arrives, it will reject subsequent
* requests for the same hosted zone and return an HTTP 400 error
(Bad request
).
* If Route 53 returns this error repeatedly for the same request, we recommend that you wait, in intervals
* of increasing duration, before you try the request again.
* @throws ThrottlingException
* The limit on the number of requests per second was exceeded.
* @sample AmazonRoute53.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 ListTagsForResourceRequestMarshaller().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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListTagsForResourceResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Lists tags for up to 10 health checks or hosted zones.
*
*
* For information about using tags for cost allocation, see Using Cost Allocation
* Tags in the Billing and Cost Management User Guide.
*
*
* @param listTagsForResourcesRequest
* A complex type that contains information about the health checks or hosted zones for which you want to
* list tags.
* @return Result of the ListTagsForResources operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws NoSuchHealthCheckException
* No health check exists with the specified ID.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @throws PriorRequestNotCompleteException
* If Amazon Route 53 can't process a request before the next request arrives, it will reject subsequent
* requests for the same hosted zone and return an HTTP 400 error
(Bad request
).
* If Route 53 returns this error repeatedly for the same request, we recommend that you wait, in intervals
* of increasing duration, before you try the request again.
* @throws ThrottlingException
* The limit on the number of requests per second was exceeded.
* @sample AmazonRoute53.ListTagsForResources
* @see AWS
* API Documentation
*/
@Override
public ListTagsForResourcesResult listTagsForResources(ListTagsForResourcesRequest request) {
request = beforeClientExecution(request);
return executeListTagsForResources(request);
}
@SdkInternalApi
final ListTagsForResourcesResult executeListTagsForResources(ListTagsForResourcesRequest listTagsForResourcesRequest) {
ExecutionContext executionContext = createExecutionContext(listTagsForResourcesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListTagsForResourcesRequestMarshaller().marshall(super.beforeMarshalling(listTagsForResourcesRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForResources");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListTagsForResourcesResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Gets information about the latest version for every traffic policy that is associated with the current Amazon Web
* Services account. Policies are listed in the order that they were created in.
*
*
* For information about how of deleting a traffic policy affects the response from ListTrafficPolicies
* , see DeleteTrafficPolicy
* .
*
*
* @param listTrafficPoliciesRequest
* A complex type that contains the information about the request to list the traffic policies that are
* associated with the current Amazon Web Services account.
* @return Result of the ListTrafficPolicies operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @sample AmazonRoute53.ListTrafficPolicies
* @see AWS
* API Documentation
*/
@Override
public ListTrafficPoliciesResult listTrafficPolicies(ListTrafficPoliciesRequest request) {
request = beforeClientExecution(request);
return executeListTrafficPolicies(request);
}
@SdkInternalApi
final ListTrafficPoliciesResult executeListTrafficPolicies(ListTrafficPoliciesRequest listTrafficPoliciesRequest) {
ExecutionContext executionContext = createExecutionContext(listTrafficPoliciesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListTrafficPoliciesRequestMarshaller().marshall(super.beforeMarshalling(listTrafficPoliciesRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTrafficPolicies");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListTrafficPoliciesResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public ListTrafficPoliciesResult listTrafficPolicies() {
return listTrafficPolicies(new ListTrafficPoliciesRequest());
}
/**
*
* Gets information about the traffic policy instances that you created by using the current Amazon Web Services
* account.
*
*
*
* After you submit an UpdateTrafficPolicyInstance
request, there's a brief delay while Amazon Route 53
* creates the resource record sets that are specified in the traffic policy definition. For more information, see
* the State
response element.
*
*
*
* Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can
* use the MaxItems
parameter to list them in groups of up to 100.
*
*
* @param listTrafficPolicyInstancesRequest
* A request to get information about the traffic policy instances that you created by using the current
* Amazon Web Services account.
* @return Result of the ListTrafficPolicyInstances operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws NoSuchTrafficPolicyInstanceException
* No traffic policy instance exists with the specified ID.
* @sample AmazonRoute53.ListTrafficPolicyInstances
* @see AWS API Documentation
*/
@Override
public ListTrafficPolicyInstancesResult listTrafficPolicyInstances(ListTrafficPolicyInstancesRequest request) {
request = beforeClientExecution(request);
return executeListTrafficPolicyInstances(request);
}
@SdkInternalApi
final ListTrafficPolicyInstancesResult executeListTrafficPolicyInstances(ListTrafficPolicyInstancesRequest listTrafficPolicyInstancesRequest) {
ExecutionContext executionContext = createExecutionContext(listTrafficPolicyInstancesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListTrafficPolicyInstancesRequestMarshaller().marshall(super.beforeMarshalling(listTrafficPolicyInstancesRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTrafficPolicyInstances");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListTrafficPolicyInstancesResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
@Override
public ListTrafficPolicyInstancesResult listTrafficPolicyInstances() {
return listTrafficPolicyInstances(new ListTrafficPolicyInstancesRequest());
}
/**
*
* Gets information about the traffic policy instances that you created in a specified hosted zone.
*
*
*
* After you submit a CreateTrafficPolicyInstance
or an UpdateTrafficPolicyInstance
* request, there's a brief delay while Amazon Route 53 creates the resource record sets that are specified in the
* traffic policy definition. For more information, see the State
response element.
*
*
*
* Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can
* use the MaxItems
parameter to list them in groups of up to 100.
*
*
* @param listTrafficPolicyInstancesByHostedZoneRequest
* A request for the traffic policy instances that you created in a specified hosted zone.
* @return Result of the ListTrafficPolicyInstancesByHostedZone operation returned by the service.
* @throws InvalidInputException
* The input is not valid.
* @throws NoSuchTrafficPolicyInstanceException
* No traffic policy instance exists with the specified ID.
* @throws NoSuchHostedZoneException
* No hosted zone exists with the ID that you specified.
* @sample AmazonRoute53.ListTrafficPolicyInstancesByHostedZone
* @see AWS API Documentation
*/
@Override
public ListTrafficPolicyInstancesByHostedZoneResult listTrafficPolicyInstancesByHostedZone(ListTrafficPolicyInstancesByHostedZoneRequest request) {
request = beforeClientExecution(request);
return executeListTrafficPolicyInstancesByHostedZone(request);
}
@SdkInternalApi
final ListTrafficPolicyInstancesByHostedZoneResult executeListTrafficPolicyInstancesByHostedZone(
ListTrafficPolicyInstancesByHostedZoneRequest listTrafficPolicyInstancesByHostedZoneRequest) {
ExecutionContext executionContext = createExecutionContext(listTrafficPolicyInstancesByHostedZoneRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListTrafficPolicyInstancesByHostedZoneRequestMarshaller().marshall(super
.beforeMarshalling(listTrafficPolicyInstancesByHostedZoneRequest));
// 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, "Route 53");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTrafficPolicyInstancesByHostedZone");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
StaxResponseHandler responseHandler = new StaxResponseHandler(
new ListTrafficPolicyInstancesByHostedZoneResultStaxUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*