/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.route53; import org.w3c.dom.*; import java.net.*; import java.util.*; import javax.annotation.Generated; import org.apache.commons.logging.*; import com.amazonaws.*; import com.amazonaws.annotation.SdkInternalApi; import com.amazonaws.auth.*; import com.amazonaws.handlers.*; import com.amazonaws.http.*; import com.amazonaws.internal.*; import com.amazonaws.internal.auth.*; import com.amazonaws.metrics.*; import com.amazonaws.regions.*; import com.amazonaws.transform.*; import com.amazonaws.util.*; import com.amazonaws.protocol.json.*; import com.amazonaws.util.AWSRequestMetrics.Field; import com.amazonaws.annotation.ThreadSafe; import com.amazonaws.client.AwsSyncClientParams; import com.amazonaws.client.builder.AdvancedConfig; import com.amazonaws.services.route53.AmazonRoute53ClientBuilder; import com.amazonaws.services.route53.waiters.AmazonRoute53Waiters; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.route53.model.*; import com.amazonaws.services.route53.model.transform.*; /** * Client for accessing Route 53. All service calls made using this client are blocking, and will not return until the * service call completes. *
*
* Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service. *
** You can use Route 53 to: *
** Register domain names. *
** For more information, see How domain * registration works. *
** Route internet traffic to the resources for your domain *
** For more information, see How internet traffic is * routed to your website or web application. *
** Check the health of your resources. *
** For more information, see How Route 53 checks the * health of your resources. *
** 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: *
* 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
.
*
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* 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. *
** 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. *
*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* 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.
*
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
* 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 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.
*
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* 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 anHTTP 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* 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* 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.
*
* 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.
*
* 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. *
*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. *
** 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 statusINTERNAL_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* 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
*
* Before you create a query logging configuration, perform the following operations. *
** If you create a query logging configuration using the Route 53 console, Route 53 performs these operations * automatically. *
** Create a CloudWatch Logs log group, and make note of the ARN, which you specify when you create a query logging * configuration. Note the following: *
** You must create the log group in the us-east-1 region. *
** You must use the same Amazon Web Services account to create the log group and the hosted zone that you want to * configure query logging for. *
** When you create log groups for query logging, we recommend that you use a consistent prefix, for example: *
*
* /aws/route53/hosted zone name
*
* In the next step, you'll create a resource policy, which controls access to one or more log groups and the * associated Amazon Web Services resources, such as Route 53 hosted zones. There's a limit on the number of * resource policies that you can create, so we recommend that you use a consistent prefix so you can use the same * resource policy for all the log groups that you create for query logging. *
*
* Create a CloudWatch Logs resource policy, and give it the permissions that Route 53 needs to create log streams
* and to send query logs to log streams. For the value of Resource
, specify the ARN for the log group
* that you created in the previous step. To use the same resource policy for all the CloudWatch Logs log groups
* that you created for query logging configurations, replace the hosted zone name with *
, for example:
*
* arn:aws:logs:us-east-1:123412341234:log-group:/aws/route53/*
*
* To avoid the confused deputy problem, a security issue where an entity without a permission for an action can * coerce a more-privileged entity to perform it, you can optionally limit the permissions that a service has to a * resource in a resource-based policy by supplying the following values: *
*
* For aws:SourceArn
, supply the hosted zone ARN used in creating the query logging configuration. For
* example, aws:SourceArn: arn:aws:route53:::hostedzone/hosted zone ID
.
*
* For aws:SourceAccount
, supply the account ID for the account that creates the query logging
* configuration. For example, aws:SourceAccount:111111111111
.
*
* For more information, see The * confused deputy problem in the Amazon Web Services IAM User Guide. *
** You can't use the CloudWatch console to create or edit a resource policy. You must use the CloudWatch API, one of * the Amazon Web Services SDKs, or the CLI. *
** 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. *
** 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. *
** 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. *
** For information about charges for query logs, see Amazon * CloudWatch Pricing. *
** If you want Route 53 to stop sending query logs to CloudWatch Logs, delete the query logging configuration. For * more information, see DeleteQueryLoggingConfig. *
*
* 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. *
** Creates a delegation set (a group of four name servers) that can be reused by multiple hosted zones that were * created by the same Amazon Web Services account. *
*
* You can also create a reusable delegation set that uses the four name servers that are associated with an
* existing hosted zone. Specify the hosted zone ID in the CreateReusableDelegationSet
request.
*
* You can't associate a reusable delegation set with a private hosted zone. *
** For information about using a reusable delegation set to configure white label name servers, see Configuring White * Label Name Servers. *
** The process for migrating existing hosted zones to use a reusable delegation set is comparable to the process for * configuring white label name servers. You need to perform the following steps: *
** Create a reusable delegation set. *
** Recreate hosted zones, and reduce the TTL to 60 seconds or less. *
** Recreate resource record sets in the new hosted zones. *
** Change the registrar's name servers to use the name servers for the new hosted zones. *
** Monitor traffic for the website or application. *
** Change TTLs back to their original values. *
** If you want to migrate existing hosted zones to use a reusable delegation set, the existing hosted zones can't * use any of the name servers that are assigned to the reusable delegation set. If one or more hosted zones do use * one or more name servers that are assigned to the reusable delegation set, you can do one of the following: *
** For small numbers of hosted zones—up to a few hundred—it's relatively easy to create reusable delegation sets * until you get one that has four name servers that don't overlap with any of the name servers in your hosted * zones. *
** For larger numbers of hosted zones, the easiest solution is to use more than one reusable delegation set. *
** For larger numbers of hosted zones, you can also migrate hosted zones that have overlapping name servers to * hosted zones that don't have overlapping name servers, then migrate the hosted zones again to use the reusable * delegation set. *
** 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
* Creates resource record sets in a specified hosted zone based on the settings in a specified traffic policy
* version. In addition,
* After you submit an 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);
RequestCreateTrafficPolicyInstance
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.
* 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.
*
* 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
* 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.
*
* 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
* Authorizes the Amazon Web Services account that created a specified VPC to submit an
*
* 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.
*
* Deactivates a key-signing key (KSK) so that it will not be used for signing by DNSSEC. This operation changes the
* KSK status to
* Deletes a CIDR collection in the current Amazon Web Services account. The collection must be empty before it can
* be deleted.
*
* 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
* 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
* To verify that the hosted zone has been deleted, do one of the following:
*
* Use the
* Use the
* 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
* 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.
*
* 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.
*
* 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.
*
* 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.
*
* Removes authorization to submit an
* 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,
*
* 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.
*
* 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
* 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
* 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:
*
*
*
*
* For more information, see Access Management in the
* Amazon Web Services General Reference.
*
* Enables DNSSEC signing in a specific hosted zone.
*
* 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.
*
* Returns the current status of a change batch request. The status is one of the following values:
*
*
*
* Route 53 does not perform authorization for this API because it retrieves information that is already available
* to the public.
*
*
* Returns information about DNSSEC for a specific hosted zone, including the key-signing keys (KSKs) in the hosted
* zone.
*
* 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:
*
*
* Use the following syntax to determine whether a country is supported for geolocation:
*
*
* Use the following syntax to determine whether a subdivision of a country is supported for geolocation:
*
*
* Gets information about a specified health check.
*
* Retrieves the number of health checks that are associated with the current Amazon Web Services account.
*
* Gets the reason that a specified health check failed most recently.
*
* 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.
*
* Gets information about a specified hosted zone including the four name servers assigned to the hosted zone.
*
* Retrieves the number of hosted zones that are associated with the current Amazon Web Services account.
*
* 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.
*
* Gets information about a specified configuration for DNS query logging.
*
* For more information about DNS query logs, see CreateQueryLoggingConfig and Logging DNS Queries.
*
* Retrieves information about a specified reusable delegation set, including the four name servers that are
* assigned to the delegation set.
*
* 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.
*
* Gets information about a specific traffic policy version.
*
* For information about how of deleting a traffic policy affects the response from
* Gets information about a specified traffic policy instance.
*
* Use
* In the Route 53 console, traffic policy instances are known as policy records.
*
* Gets the number of traffic policy instances that are associated with the current Amazon Web Services account.
*
* Returns a paginated list of location objects and their CIDR blocks.
*
* Returns a paginated list of CIDR collections in the Amazon Web Services account (metadata only).
*
* Returns a paginated list of CIDR locations for the given collection (metadata only, does not include CIDR
* blocks).
*
* 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.
*
* Retrieve a list of the health checks that are associated with the current Amazon Web Services account.
*
* Retrieves a list of the public and private hosted zones that are associated with the current Amazon Web Services
* account. The response includes a
* Amazon Route 53 returns a maximum of 100 items in each response. If you have a lot of hosted zones, you can use
* the
* Retrieves a list of your hosted zones in lexicographic order. The response includes a
*
*
* Note the trailing dot, which can change the sort order in some circumstances.
*
* If the domain name includes escape characters or Punycode,
*
* 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
*
* The
* The
* If the value of
* If
* The
* 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
* An
* An
* 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:
*
*
*
*
* For more information, see Access Management in the
* Amazon Web Services General Reference.
*
* 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.
*
* Lists the resource record sets in a specified hosted zone.
*
*
* Sort order
*
*
*
* Note the trailing dot, which can change the sort order when the record name contains characters that appear
* before
* When multiple records have the same DNS name,
* 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:
*
* The results begin with the first resource record set that the hosted zone contains.
*
* The results begin with the first resource record set in the list whose name is greater than or equal to
*
* Amazon Route 53 returns the
* The results begin with the first resource record set in the list whose name is greater than or equal to
*
* Resource record sets that are PENDING
*
* This action returns the most current version of the records. This includes records that are
* 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
* Displaying the next page of results
*
* If a
* Retrieves a list of the reusable delegation sets that are associated with the current Amazon Web Services
* account.
*
* 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.
*
* 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.
*
* 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
* Gets information about the traffic policy instances that you created by using the current Amazon Web Services
* account.
*
* After you submit an
* Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can
* use the
* Gets information about the traffic policy instances that you created in a specified hosted zone.
*
* After you submit a
* Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can
* use the
* Gets information about the traffic policy instances that you created by using a specify traffic policy version.
*
* After you submit a
* Route 53 returns a maximum of 100 items in each response. If you have a lot of traffic policy instances, you can
* use the
* Gets information about all of the versions for a specified traffic policy.
*
* Traffic policy versions are listed in numerical order by 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);
RequestAssociateVPCWithHostedZone
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.
* 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);
RequestINACTIVE
.
* 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);
RequestDeleteHealthCheck
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.
* HostedZoneNotEmpty
error. For information about deleting records from your hosted zone, see
* ChangeResourceRecordSets.
*
*
*
* @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 GetHostedZone
action to request information about the hosted zone.
* ListHostedZones
action to get a list of the hosted zones associated with the current Amazon
* Web Services account.
* 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);
RequestINACTIVE
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
*
*
* @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);
RequestHTTP 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);
RequestAssociateVPCWithHostedZone
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.
* DeleteVPCAssociationAuthorization
won't disassociate the VPC from the hosted zone. If you want to
* delete an existing association, use DisassociateVPCFromHostedZone
.
* 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
*
* DisassociateVPCFromHostedZone
request using either the account that created the
* hosted zone or the account that created the Amazon VPC.
* OwningAccount
, you can use
* DisassociateVPCFromHostedZone
. If the hosted zone has a value for OwningService
, you
* can't use DisassociateVPCFromHostedZone
.
*
*
* aws
- Amazon Web Services Regions
* aws-cn
- China Regions
* aws-us-gov
- Amazon Web Services GovCloud (US) Region
* 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
*
*
* @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);
RequestPENDING
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.
* 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.
* GET /2013-04-01/geolocation?continentcode=two-letter abbreviation for a continent
* GET /2013-04-01/geolocation?countrycode=two-character country code
* GET /2013-04-01/geolocation?countrycode=two-character country code&subdivisioncode=subdivision code
* GetTrafficPolicy
,
* see DeleteTrafficPolicy
* .
* 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.
* HostedZones
child element for each hosted zone.
* maxitems
parameter to list them in groups of up to 100.
* 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.
* 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.
* 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:
*
*
*
* @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);
RequestDNSName
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.
* 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.
* IsTruncated
in the response is true, there are more hosted zones associated with the
* current Amazon Web Services account.
* 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.
* 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.
* HostedZoneOwner
structure
* in the response contains one of the following values:
*
*
* 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.
* 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
.
*
*
* aws
- Amazon Web Services Regions
* aws-cn
- China Regions
* aws-us-gov
- Amazon Web Services GovCloud (US) Region
* 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.
* ListResourceRecordSets
sorts results first by DNS name with the labels reversed, for example:
* com.example.www.
* .
(decimal 46) in the ASCII table. These characters include the following:
* ! " # $ % & ' ( ) * + , -
* ListResourceRecordSets
sorts results by the record
* type.
*
*
* Name
.
* InvalidInput
error.
* Name
, and whose type is greater than or equal to Type
.
* PENDING
,
* and that are not yet available on all Route 53 DNS servers.
* 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.
* 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
.
* 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);
RequestHTTP 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);
RequestListTrafficPolicies
* , see DeleteTrafficPolicy
* .
* 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.
* MaxItems
parameter to list them in groups of up to 100.
* 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.
* MaxItems
parameter to list them in groups of up to 100.
* 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.
* MaxItems
parameter to list them in groups of up to 100.
*