All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.route53.AmazonRoute53Client Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Route53 module holds the client classes that are used for communicating with Amazon Route53 Service

The newest version!
/*
 * 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: *

* */ @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. *

        *
        *
          *
        1. *

          * 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. *

            *
          • *
          *
        2. *
        3. *

          * 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. *

          *
        4. *
        *
        *
        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: *

          *
            *
          1. *

            * Create a reusable delegation set. *

            *
          2. *
          3. *

            * Recreate hosted zones, and reduce the TTL to 60 seconds or less. *

            *
          4. *
          5. *

            * Recreate resource record sets in the new hosted zones. *

            *
          6. *
          7. *

            * Change the registrar's name servers to use the name servers for the new hosted zones. *

            *
          8. *
          9. *

            * Monitor traffic for the website or application. *

            *
          10. *
          11. *

            * Change TTLs back to their original values. *

            *
          12. *
          *

          * 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); } } /** *

          * Gets information about the traffic policy instances that you created by using a specify traffic policy version. *

          * *

          * 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 listTrafficPolicyInstancesByPolicyRequest * A complex type that contains the information about the request to list your traffic policy instances. * @return Result of the ListTrafficPolicyInstancesByPolicy operation returned by the service. * @throws InvalidInputException * The input is not valid. * @throws NoSuchTrafficPolicyInstanceException * No traffic policy instance exists with the specified ID. * @throws NoSuchTrafficPolicyException * No traffic policy exists with the specified ID. * @sample AmazonRoute53.ListTrafficPolicyInstancesByPolicy * @see AWS API Documentation */ @Override public ListTrafficPolicyInstancesByPolicyResult listTrafficPolicyInstancesByPolicy(ListTrafficPolicyInstancesByPolicyRequest request) { request = beforeClientExecution(request); return executeListTrafficPolicyInstancesByPolicy(request); } @SdkInternalApi final ListTrafficPolicyInstancesByPolicyResult executeListTrafficPolicyInstancesByPolicy( ListTrafficPolicyInstancesByPolicyRequest listTrafficPolicyInstancesByPolicyRequest) { ExecutionContext executionContext = createExecutionContext(listTrafficPolicyInstancesByPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTrafficPolicyInstancesByPolicyRequestMarshaller() .marshall(super.beforeMarshalling(listTrafficPolicyInstancesByPolicyRequest)); // 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, "ListTrafficPolicyInstancesByPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListTrafficPolicyInstancesByPolicyResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Gets information about all of the versions for a specified traffic policy. *

          *

          * Traffic policy versions are listed in numerical order by VersionNumber. *

          * * @param listTrafficPolicyVersionsRequest * A complex type that contains the information about the request to list your traffic policies. * @return Result of the ListTrafficPolicyVersions operation returned by the service. * @throws InvalidInputException * The input is not valid. * @throws NoSuchTrafficPolicyException * No traffic policy exists with the specified ID. * @sample AmazonRoute53.ListTrafficPolicyVersions * @see AWS API Documentation */ @Override public ListTrafficPolicyVersionsResult listTrafficPolicyVersions(ListTrafficPolicyVersionsRequest request) { request = beforeClientExecution(request); return executeListTrafficPolicyVersions(request); } @SdkInternalApi final ListTrafficPolicyVersionsResult executeListTrafficPolicyVersions(ListTrafficPolicyVersionsRequest listTrafficPolicyVersionsRequest) { ExecutionContext executionContext = createExecutionContext(listTrafficPolicyVersionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTrafficPolicyVersionsRequestMarshaller().marshall(super.beforeMarshalling(listTrafficPolicyVersionsRequest)); // 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, "ListTrafficPolicyVersions"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListTrafficPolicyVersionsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Gets a list of the VPCs that were created by other accounts and that can be associated with a specified hosted * zone because you've submitted one or more CreateVPCAssociationAuthorization requests. *

          *

          * The response includes a VPCs element with a VPC child element for each VPC that can be * associated with the hosted zone. *

          * * @param listVPCAssociationAuthorizationsRequest * A complex type that contains information about that can be associated with your hosted zone. * @return Result of the ListVPCAssociationAuthorizations 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 InvalidPaginationTokenException * The value that you specified to get the second or subsequent page of results is invalid. * @sample AmazonRoute53.ListVPCAssociationAuthorizations * @see AWS API Documentation */ @Override public ListVPCAssociationAuthorizationsResult listVPCAssociationAuthorizations(ListVPCAssociationAuthorizationsRequest request) { request = beforeClientExecution(request); return executeListVPCAssociationAuthorizations(request); } @SdkInternalApi final ListVPCAssociationAuthorizationsResult executeListVPCAssociationAuthorizations( ListVPCAssociationAuthorizationsRequest listVPCAssociationAuthorizationsRequest) { ExecutionContext executionContext = createExecutionContext(listVPCAssociationAuthorizationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListVPCAssociationAuthorizationsRequestMarshaller().marshall(super.beforeMarshalling(listVPCAssociationAuthorizationsRequest)); // 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, "ListVPCAssociationAuthorizations"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new ListVPCAssociationAuthorizationsResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Gets the value that Amazon Route 53 returns in response to a DNS request for a specified record name and type. * You can optionally specify the IP address of a DNS resolver, an EDNS0 client subnet IP address, and a subnet * mask. *

          *

          * This call only supports querying public hosted zones. *

          * *

          * The TestDnsAnswer returns information similar to what you would expect from the answer section of * the dig command. Therefore, if you query for the name servers of a subdomain that point to the * parent name servers, those will not be returned. *

          *
          * * @param testDNSAnswerRequest * Gets the value that Amazon Route 53 returns in response to a DNS request for a specified record name and * type. You can optionally specify the IP address of a DNS resolver, an EDNS0 client subnet IP address, and * a subnet mask. * @return Result of the TestDNSAnswer 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.TestDNSAnswer * @see AWS API * Documentation */ @Override public TestDNSAnswerResult testDNSAnswer(TestDNSAnswerRequest request) { request = beforeClientExecution(request); return executeTestDNSAnswer(request); } @SdkInternalApi final TestDNSAnswerResult executeTestDNSAnswer(TestDNSAnswerRequest testDNSAnswerRequest) { ExecutionContext executionContext = createExecutionContext(testDNSAnswerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new TestDNSAnswerRequestMarshaller().marshall(super.beforeMarshalling(testDNSAnswerRequest)); // 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, "TestDNSAnswer"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler(new TestDNSAnswerResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Updates an existing health check. Note that some values can't be updated. *

          *

          * For more information about updating health checks, see Creating, * Updating, and Deleting Health Checks in the Amazon Route 53 Developer Guide. *

          * * @param updateHealthCheckRequest * A complex type that contains information about a request to update a health check. * @return Result of the UpdateHealthCheck operation returned by the service. * @throws NoSuchHealthCheckException * No health check exists with the specified ID. * @throws InvalidInputException * The input is not valid. * @throws HealthCheckVersionMismatchException * The value of HealthCheckVersion in the request doesn't match the value of * HealthCheckVersion in the health check. * @sample AmazonRoute53.UpdateHealthCheck * @see AWS API * Documentation */ @Override public UpdateHealthCheckResult updateHealthCheck(UpdateHealthCheckRequest request) { request = beforeClientExecution(request); return executeUpdateHealthCheck(request); } @SdkInternalApi final UpdateHealthCheckResult executeUpdateHealthCheck(UpdateHealthCheckRequest updateHealthCheckRequest) { ExecutionContext executionContext = createExecutionContext(updateHealthCheckRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateHealthCheckRequestMarshaller().marshall(super.beforeMarshalling(updateHealthCheckRequest)); // 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, "UpdateHealthCheck"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateHealthCheckResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Updates the comment for a specified hosted zone. *

          * * @param updateHostedZoneCommentRequest * A request to update the comment for a hosted zone. * @return Result of the UpdateHostedZoneComment 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 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.UpdateHostedZoneComment * @see AWS API Documentation */ @Override public UpdateHostedZoneCommentResult updateHostedZoneComment(UpdateHostedZoneCommentRequest request) { request = beforeClientExecution(request); return executeUpdateHostedZoneComment(request); } @SdkInternalApi final UpdateHostedZoneCommentResult executeUpdateHostedZoneComment(UpdateHostedZoneCommentRequest updateHostedZoneCommentRequest) { ExecutionContext executionContext = createExecutionContext(updateHostedZoneCommentRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateHostedZoneCommentRequestMarshaller().marshall(super.beforeMarshalling(updateHostedZoneCommentRequest)); // 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, "UpdateHostedZoneComment"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateHostedZoneCommentResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Updates the comment for a specified traffic policy version. *

          * * @param updateTrafficPolicyCommentRequest * A complex type that contains information about the traffic policy that you want to update the comment for. * @return Result of the UpdateTrafficPolicyComment operation returned by the service. * @throws InvalidInputException * The input is not valid. * @throws NoSuchTrafficPolicyException * No traffic policy exists with the specified ID. * @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.UpdateTrafficPolicyComment * @see AWS API Documentation */ @Override public UpdateTrafficPolicyCommentResult updateTrafficPolicyComment(UpdateTrafficPolicyCommentRequest request) { request = beforeClientExecution(request); return executeUpdateTrafficPolicyComment(request); } @SdkInternalApi final UpdateTrafficPolicyCommentResult executeUpdateTrafficPolicyComment(UpdateTrafficPolicyCommentRequest updateTrafficPolicyCommentRequest) { ExecutionContext executionContext = createExecutionContext(updateTrafficPolicyCommentRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateTrafficPolicyCommentRequestMarshaller().marshall(super.beforeMarshalling(updateTrafficPolicyCommentRequest)); // 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, "UpdateTrafficPolicyComment"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateTrafficPolicyCommentResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * *

          * After you submit a UpdateTrafficPolicyInstance request, there's a brief delay while Route 53 creates * the resource record sets that are specified in the traffic policy definition. Use * GetTrafficPolicyInstance with the id of updated traffic policy instance confirm that * the UpdateTrafficPolicyInstance request completed successfully. For more information, see the * State response element. *

          *
          *

          * Updates the resource record sets in a specified hosted zone that were created based on the settings in a * specified traffic policy version. *

          *

          * When you update a traffic policy instance, Amazon Route 53 continues to respond to DNS queries for the root * resource record set name (such as example.com) while it replaces one group of resource record sets with another. * Route 53 performs the following operations: *

          *
            *
          1. *

            * Route 53 creates a new group of resource record sets based on the specified traffic policy. This is true * regardless of how significant the differences are between the existing resource record sets and the new resource * record sets. *

            *
          2. *
          3. *

            * When all of the new resource record sets have been created, Route 53 starts to respond to DNS queries for the * root resource record set name (such as example.com) by using the new resource record sets. *

            *
          4. *
          5. *

            * Route 53 deletes the old group of resource record sets that are associated with the root resource record set * name. *

            *
          6. *
          * * @param updateTrafficPolicyInstanceRequest * A complex type that contains information about the resource record sets that you want to update based on a * specified traffic policy instance. * @return Result of the UpdateTrafficPolicyInstance operation returned by the service. * @throws InvalidInputException * The input is not valid. * @throws NoSuchTrafficPolicyException * No traffic policy exists with the specified ID. * @throws NoSuchTrafficPolicyInstanceException * No traffic policy instance exists with the specified ID. * @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 ConflictingTypesException * You tried to update a traffic policy instance by using a traffic policy version that has a different DNS * type than the current type for the instance. You specified the type in the JSON document in the * CreateTrafficPolicy or CreateTrafficPolicyVersionrequest. * @sample AmazonRoute53.UpdateTrafficPolicyInstance * @see AWS API Documentation */ @Override public UpdateTrafficPolicyInstanceResult updateTrafficPolicyInstance(UpdateTrafficPolicyInstanceRequest request) { request = beforeClientExecution(request); return executeUpdateTrafficPolicyInstance(request); } @SdkInternalApi final UpdateTrafficPolicyInstanceResult executeUpdateTrafficPolicyInstance(UpdateTrafficPolicyInstanceRequest updateTrafficPolicyInstanceRequest) { ExecutionContext executionContext = createExecutionContext(updateTrafficPolicyInstanceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateTrafficPolicyInstanceRequestMarshaller().marshall(super.beforeMarshalling(updateTrafficPolicyInstanceRequest)); // 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, "UpdateTrafficPolicyInstance"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } StaxResponseHandler responseHandler = new StaxResponseHandler( new UpdateTrafficPolicyInstanceResultStaxUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * Returns additional metadata for a previously executed successful, request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

          * Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return invoke(request, responseHandler, executionContext, null, null); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) { executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait); } /** * Invoke with no authentication. Credentials are not required and any credentials set on the client or request will * be ignored for this operation. **/ private Response anonymousInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return doInvoke(request, responseHandler, executionContext, null, null); } /** * Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the * ExecutionContext beforehand. **/ private Response doInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) { if (discoveredEndpoint != null) { request.setEndpoint(discoveredEndpoint); request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery"); } else if (uriFromEndpointTrait != null) { request.setEndpoint(uriFromEndpointTrait); } else { request.setEndpoint(endpoint); } request.setTimeOffset(timeOffset); DefaultErrorResponseHandler errorResponseHandler = new DefaultErrorResponseHandler(exceptionUnmarshallersMap, defaultUnmarshaller); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } @Override public AmazonRoute53Waiters waiters() { if (waiters == null) { synchronized (this) { if (waiters == null) { waiters = new AmazonRoute53Waiters(this); } } } return waiters; } @Override public void shutdown() { super.shutdown(); if (waiters != null) { waiters.shutdown(); } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy