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

com.amazonaws.services.route53domains.AmazonRoute53DomainsClient Maven / Gradle / Ivy

/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.route53domains;

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.route53domains.AmazonRoute53DomainsClientBuilder;

import com.amazonaws.AmazonServiceException;

import com.amazonaws.services.route53domains.model.*;

import com.amazonaws.services.route53domains.model.transform.*;

/**
 * Client for accessing Amazon Route 53 Domains. All service calls made using this client are blocking, and will not
 * return until the service call completes.
 * 

*

* Amazon Route 53 API actions let you register domain names and perform related operations. *

*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AmazonRoute53DomainsClient extends AmazonWebServiceClient implements AmazonRoute53Domains { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AmazonRoute53Domains.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "route53domains"; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final AdvancedConfig advancedConfig; private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .withSupportsIon(false) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("DuplicateRequest").withExceptionUnmarshaller( com.amazonaws.services.route53domains.model.transform.DuplicateRequestExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("UnsupportedTLD").withExceptionUnmarshaller( com.amazonaws.services.route53domains.model.transform.UnsupportedTLDExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("OperationLimitExceeded").withExceptionUnmarshaller( com.amazonaws.services.route53domains.model.transform.OperationLimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("DnssecLimitExceeded").withExceptionUnmarshaller( com.amazonaws.services.route53domains.model.transform.DnssecLimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidInput").withExceptionUnmarshaller( com.amazonaws.services.route53domains.model.transform.InvalidInputExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("TLDRulesViolation").withExceptionUnmarshaller( com.amazonaws.services.route53domains.model.transform.TLDRulesViolationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("DomainLimitExceeded").withExceptionUnmarshaller( com.amazonaws.services.route53domains.model.transform.DomainLimitExceededExceptionUnmarshaller.getInstance())) .withBaseServiceExceptionClass(com.amazonaws.services.route53domains.model.AmazonRoute53DomainsException.class)); /** * Constructs a new client to invoke service methods on Amazon Route 53 Domains. A credentials provider chain will * be used that searches for credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AmazonRoute53DomainsClientBuilder#defaultClient()} */ @Deprecated public AmazonRoute53DomainsClient() { this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon Route 53 Domains. A credentials provider chain will * be used that searches for credentials in this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientConfiguration * The client configuration options controlling how this client connects to Amazon Route 53 Domains (ex: * proxy settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AmazonRoute53DomainsClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonRoute53DomainsClient(ClientConfiguration clientConfiguration) { this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration); } /** * Constructs a new client to invoke service methods on Amazon Route 53 Domains 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 AmazonRoute53DomainsClientBuilder#withCredentials(AWSCredentialsProvider)} for example: * {@code AmazonRoute53DomainsClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();} */ @Deprecated public AmazonRoute53DomainsClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon Route 53 Domains 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 Amazon Route 53 Domains (ex: * proxy settings, retry counts, etc.). * @deprecated use {@link AmazonRoute53DomainsClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonRoute53DomainsClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonRoute53DomainsClient(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 Amazon Route 53 Domains 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 AmazonRoute53DomainsClientBuilder#withCredentials(AWSCredentialsProvider)} */ @Deprecated public AmazonRoute53DomainsClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on Amazon Route 53 Domains 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 Amazon Route 53 Domains (ex: * proxy settings, retry counts, etc.). * @deprecated use {@link AmazonRoute53DomainsClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonRoute53DomainsClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AmazonRoute53DomainsClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on Amazon Route 53 Domains 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 Amazon Route 53 Domains (ex: * proxy settings, retry counts, etc.). * @param requestMetricCollector * optional request metric collector * @deprecated use {@link AmazonRoute53DomainsClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AmazonRoute53DomainsClientBuilder#withClientConfiguration(ClientConfiguration)} and * {@link AmazonRoute53DomainsClientBuilder#withMetricsCollector(RequestMetricCollector)} */ @Deprecated public AmazonRoute53DomainsClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; this.advancedConfig = AdvancedConfig.EMPTY; init(); } public static AmazonRoute53DomainsClientBuilder builder() { return AmazonRoute53DomainsClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on Amazon Route 53 Domains 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. */ AmazonRoute53DomainsClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on Amazon Route 53 Domains 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. */ AmazonRoute53DomainsClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("https://route53domains.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/route53domains/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/route53domains/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *

* Accepts the transfer of a domain from another Amazon Web Services account to the currentAmazon Web Services * account. You initiate a transfer between Amazon Web Services accounts using TransferDomainToAnotherAwsAccount. *

*

* If you use the CLI command at accept-domain-transfer-from-another-aws-account, use JSON format as input instead of text because otherwise * CLI will throw an error from domain transfer input that includes single quotes. *

*

* Use either ListOperations * or * GetOperationDetail to determine whether the operation succeeded. GetOperationDetail provides additional information, for example, * Domain Transfer from Aws Account 111122223333 has been cancelled. *

* * @param acceptDomainTransferFromAnotherAwsAccountRequest * The AcceptDomainTransferFromAnotherAwsAccount request includes the following elements. * @return Result of the AcceptDomainTransferFromAnotherAwsAccount operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws DomainLimitExceededException * The number of domains has exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.AcceptDomainTransferFromAnotherAwsAccount * @see AWS API Documentation */ @Override public AcceptDomainTransferFromAnotherAwsAccountResult acceptDomainTransferFromAnotherAwsAccount(AcceptDomainTransferFromAnotherAwsAccountRequest request) { request = beforeClientExecution(request); return executeAcceptDomainTransferFromAnotherAwsAccount(request); } @SdkInternalApi final AcceptDomainTransferFromAnotherAwsAccountResult executeAcceptDomainTransferFromAnotherAwsAccount( AcceptDomainTransferFromAnotherAwsAccountRequest acceptDomainTransferFromAnotherAwsAccountRequest) { ExecutionContext executionContext = createExecutionContext(acceptDomainTransferFromAnotherAwsAccountRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AcceptDomainTransferFromAnotherAwsAccountRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(acceptDomainTransferFromAnotherAwsAccountRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AcceptDomainTransferFromAnotherAwsAccount"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AcceptDomainTransferFromAnotherAwsAccountResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Creates a delegation signer (DS) record in the registry zone for this domain name. *

*

* Note that creating DS record at the registry impacts DNSSEC validation of your DNS records. This action may * render your domain name unavailable on the internet if the steps are completed in the wrong order, or with * incorrect timing. For more information about DNSSEC signing, see Configuring DNSSEC * signing in the Route 53 developer guide. *

* * @param associateDelegationSignerToDomainRequest * @return Result of the AssociateDelegationSignerToDomain operation returned by the service. * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @throws DnssecLimitExceededException * This error is returned if you call AssociateDelegationSignerToDomain when the specified * domain has reached the maximum number of DS records. You can't add any additional DS records unless you * delete an existing one first. * @sample AmazonRoute53Domains.AssociateDelegationSignerToDomain * @see AWS API Documentation */ @Override public AssociateDelegationSignerToDomainResult associateDelegationSignerToDomain(AssociateDelegationSignerToDomainRequest request) { request = beforeClientExecution(request); return executeAssociateDelegationSignerToDomain(request); } @SdkInternalApi final AssociateDelegationSignerToDomainResult executeAssociateDelegationSignerToDomain( AssociateDelegationSignerToDomainRequest associateDelegationSignerToDomainRequest) { ExecutionContext executionContext = createExecutionContext(associateDelegationSignerToDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateDelegationSignerToDomainRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateDelegationSignerToDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateDelegationSignerToDomain"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateDelegationSignerToDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Cancels the transfer of a domain from the current Amazon Web Services account to another Amazon Web Services * account. You initiate a transfer betweenAmazon Web Services accounts using TransferDomainToAnotherAwsAccount. *

* *

* You must cancel the transfer before the other Amazon Web Services account accepts the transfer using AcceptDomainTransferFromAnotherAwsAccount. *

*
*

* Use either ListOperations * or * GetOperationDetail to determine whether the operation succeeded. GetOperationDetail provides additional information, for example, * Domain Transfer from Aws Account 111122223333 has been cancelled. *

* * @param cancelDomainTransferToAnotherAwsAccountRequest * The CancelDomainTransferToAnotherAwsAccount request includes the following element. * @return Result of the CancelDomainTransferToAnotherAwsAccount operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.CancelDomainTransferToAnotherAwsAccount * @see AWS API Documentation */ @Override public CancelDomainTransferToAnotherAwsAccountResult cancelDomainTransferToAnotherAwsAccount(CancelDomainTransferToAnotherAwsAccountRequest request) { request = beforeClientExecution(request); return executeCancelDomainTransferToAnotherAwsAccount(request); } @SdkInternalApi final CancelDomainTransferToAnotherAwsAccountResult executeCancelDomainTransferToAnotherAwsAccount( CancelDomainTransferToAnotherAwsAccountRequest cancelDomainTransferToAnotherAwsAccountRequest) { ExecutionContext executionContext = createExecutionContext(cancelDomainTransferToAnotherAwsAccountRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CancelDomainTransferToAnotherAwsAccountRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(cancelDomainTransferToAnotherAwsAccountRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CancelDomainTransferToAnotherAwsAccount"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CancelDomainTransferToAnotherAwsAccountResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation checks the availability of one domain name. Note that if the availability status of a domain is * pending, you must submit another request to determine the availability of the domain name. *

* * @param checkDomainAvailabilityRequest * The CheckDomainAvailability request contains the following elements. * @return Result of the CheckDomainAvailability operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.CheckDomainAvailability * @see AWS API Documentation */ @Override public CheckDomainAvailabilityResult checkDomainAvailability(CheckDomainAvailabilityRequest request) { request = beforeClientExecution(request); return executeCheckDomainAvailability(request); } @SdkInternalApi final CheckDomainAvailabilityResult executeCheckDomainAvailability(CheckDomainAvailabilityRequest checkDomainAvailabilityRequest) { ExecutionContext executionContext = createExecutionContext(checkDomainAvailabilityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CheckDomainAvailabilityRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(checkDomainAvailabilityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CheckDomainAvailability"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CheckDomainAvailabilityResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Checks whether a domain name can be transferred to Amazon Route 53. *

* * @param checkDomainTransferabilityRequest * The CheckDomainTransferability request contains the following elements. * @return Result of the CheckDomainTransferability operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.CheckDomainTransferability * @see AWS API Documentation */ @Override public CheckDomainTransferabilityResult checkDomainTransferability(CheckDomainTransferabilityRequest request) { request = beforeClientExecution(request); return executeCheckDomainTransferability(request); } @SdkInternalApi final CheckDomainTransferabilityResult executeCheckDomainTransferability(CheckDomainTransferabilityRequest checkDomainTransferabilityRequest) { ExecutionContext executionContext = createExecutionContext(checkDomainTransferabilityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CheckDomainTransferabilityRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(checkDomainTransferabilityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CheckDomainTransferability"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CheckDomainTransferabilityResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation deletes the specified domain. This action is permanent. For more information, see Deleting a domain name * registration. *

*

* To transfer the domain registration to another registrar, use the transfer process that’s provided by the * registrar to which you want to transfer the registration. Otherwise, the following apply: *

*
    *
  1. *

    * You can’t get a refund for the cost of a deleted domain registration. *

    *
  2. *
  3. *

    * The registry for the top-level domain might hold the domain name for a brief time before releasing it for other * users to register (varies by registry). *

    *
  4. *
  5. *

    * When the registration has been deleted, we'll send you a confirmation to the registrant contact. The email will * come from [email protected] or [email protected]. *

    *
  6. *
* * @param deleteDomainRequest * @return Result of the DeleteDomain operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.DeleteDomain * @see AWS * API Documentation */ @Override public DeleteDomainResult deleteDomain(DeleteDomainRequest request) { request = beforeClientExecution(request); return executeDeleteDomain(request); } @SdkInternalApi final DeleteDomainResult executeDeleteDomain(DeleteDomainRequest deleteDomainRequest) { ExecutionContext executionContext = createExecutionContext(deleteDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteDomainRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteDomain"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation deletes the specified tags for a domain. *

*

* All tag operations are eventually consistent; subsequent operations might not immediately represent all issued * operations. *

* * @param deleteTagsForDomainRequest * The DeleteTagsForDomainRequest includes the following elements. * @return Result of the DeleteTagsForDomain operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.DeleteTagsForDomain * @see AWS API Documentation */ @Override public DeleteTagsForDomainResult deleteTagsForDomain(DeleteTagsForDomainRequest request) { request = beforeClientExecution(request); return executeDeleteTagsForDomain(request); } @SdkInternalApi final DeleteTagsForDomainResult executeDeleteTagsForDomain(DeleteTagsForDomainRequest deleteTagsForDomainRequest) { ExecutionContext executionContext = createExecutionContext(deleteTagsForDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteTagsForDomainRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteTagsForDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTagsForDomain"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteTagsForDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation disables automatic renewal of domain registration for the specified domain. *

* * @param disableDomainAutoRenewRequest * @return Result of the DisableDomainAutoRenew operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.DisableDomainAutoRenew * @see AWS API Documentation */ @Override public DisableDomainAutoRenewResult disableDomainAutoRenew(DisableDomainAutoRenewRequest request) { request = beforeClientExecution(request); return executeDisableDomainAutoRenew(request); } @SdkInternalApi final DisableDomainAutoRenewResult executeDisableDomainAutoRenew(DisableDomainAutoRenewRequest disableDomainAutoRenewRequest) { ExecutionContext executionContext = createExecutionContext(disableDomainAutoRenewRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisableDomainAutoRenewRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(disableDomainAutoRenewRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisableDomainAutoRenew"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisableDomainAutoRenewResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation removes the transfer lock on the domain (specifically the clientTransferProhibited * status) to allow domain transfers. We recommend you refrain from performing this action unless you intend to * transfer the domain to a different registrar. Successful submission returns an operation ID that you can use to * track the progress and completion of the action. If the request is not completed successfully, the domain * registrant will be notified by email. *

* * @param disableDomainTransferLockRequest * The DisableDomainTransferLock request includes the following element. * @return Result of the DisableDomainTransferLock operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.DisableDomainTransferLock * @see AWS API Documentation */ @Override public DisableDomainTransferLockResult disableDomainTransferLock(DisableDomainTransferLockRequest request) { request = beforeClientExecution(request); return executeDisableDomainTransferLock(request); } @SdkInternalApi final DisableDomainTransferLockResult executeDisableDomainTransferLock(DisableDomainTransferLockRequest disableDomainTransferLockRequest) { ExecutionContext executionContext = createExecutionContext(disableDomainTransferLockRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisableDomainTransferLockRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disableDomainTransferLockRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisableDomainTransferLock"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisableDomainTransferLockResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes a delegation signer (DS) record in the registry zone for this domain name. *

* * @param disassociateDelegationSignerFromDomainRequest * @return Result of the DisassociateDelegationSignerFromDomain operation returned by the service. * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.DisassociateDelegationSignerFromDomain * @see AWS API Documentation */ @Override public DisassociateDelegationSignerFromDomainResult disassociateDelegationSignerFromDomain(DisassociateDelegationSignerFromDomainRequest request) { request = beforeClientExecution(request); return executeDisassociateDelegationSignerFromDomain(request); } @SdkInternalApi final DisassociateDelegationSignerFromDomainResult executeDisassociateDelegationSignerFromDomain( DisassociateDelegationSignerFromDomainRequest disassociateDelegationSignerFromDomainRequest) { ExecutionContext executionContext = createExecutionContext(disassociateDelegationSignerFromDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateDelegationSignerFromDomainRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateDelegationSignerFromDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateDelegationSignerFromDomain"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateDelegationSignerFromDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation configures Amazon Route 53 to automatically renew the specified domain before the domain * registration expires. The cost of renewing your domain registration is billed to your Amazon Web Services * account. *

*

* The period during which you can renew a domain name varies by TLD. For a list of TLDs and their renewal policies, * see Domains That You * Can Register with Amazon Route 53 in the Amazon Route 53 Developer Guide. Route 53 requires that you * renew before the end of the renewal period so we can complete processing before the deadline. *

* * @param enableDomainAutoRenewRequest * @return Result of the EnableDomainAutoRenew operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @sample AmazonRoute53Domains.EnableDomainAutoRenew * @see AWS API Documentation */ @Override public EnableDomainAutoRenewResult enableDomainAutoRenew(EnableDomainAutoRenewRequest request) { request = beforeClientExecution(request); return executeEnableDomainAutoRenew(request); } @SdkInternalApi final EnableDomainAutoRenewResult executeEnableDomainAutoRenew(EnableDomainAutoRenewRequest enableDomainAutoRenewRequest) { ExecutionContext executionContext = createExecutionContext(enableDomainAutoRenewRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new EnableDomainAutoRenewRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(enableDomainAutoRenewRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "EnableDomainAutoRenew"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new EnableDomainAutoRenewResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation sets the transfer lock on the domain (specifically the clientTransferProhibited * status) to prevent domain transfers. Successful submission returns an operation ID that you can use to track the * progress and completion of the action. If the request is not completed successfully, the domain registrant will * be notified by email. *

* * @param enableDomainTransferLockRequest * A request to set the transfer lock for the specified domain. * @return Result of the EnableDomainTransferLock operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.EnableDomainTransferLock * @see AWS API Documentation */ @Override public EnableDomainTransferLockResult enableDomainTransferLock(EnableDomainTransferLockRequest request) { request = beforeClientExecution(request); return executeEnableDomainTransferLock(request); } @SdkInternalApi final EnableDomainTransferLockResult executeEnableDomainTransferLock(EnableDomainTransferLockRequest enableDomainTransferLockRequest) { ExecutionContext executionContext = createExecutionContext(enableDomainTransferLockRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new EnableDomainTransferLockRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(enableDomainTransferLockRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "EnableDomainTransferLock"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new EnableDomainTransferLockResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* For operations that require confirmation that the email address for the registrant contact is valid, such as * registering a new domain, this operation returns information about whether the registrant contact has responded. *

*

* If you want us to resend the email, use the ResendContactReachabilityEmail operation. *

* * @param getContactReachabilityStatusRequest * @return Result of the GetContactReachabilityStatus operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.GetContactReachabilityStatus * @see AWS API Documentation */ @Override public GetContactReachabilityStatusResult getContactReachabilityStatus(GetContactReachabilityStatusRequest request) { request = beforeClientExecution(request); return executeGetContactReachabilityStatus(request); } @SdkInternalApi final GetContactReachabilityStatusResult executeGetContactReachabilityStatus(GetContactReachabilityStatusRequest getContactReachabilityStatusRequest) { ExecutionContext executionContext = createExecutionContext(getContactReachabilityStatusRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetContactReachabilityStatusRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(getContactReachabilityStatusRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetContactReachabilityStatus"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetContactReachabilityStatusResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation returns detailed information about a specified domain that is associated with the current Amazon * Web Services account. Contact information for the domain is also returned as part of the output. *

* * @param getDomainDetailRequest * The GetDomainDetail request includes the following element. * @return Result of the GetDomainDetail operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.GetDomainDetail * @see AWS * API Documentation */ @Override public GetDomainDetailResult getDomainDetail(GetDomainDetailRequest request) { request = beforeClientExecution(request); return executeGetDomainDetail(request); } @SdkInternalApi final GetDomainDetailResult executeGetDomainDetail(GetDomainDetailRequest getDomainDetailRequest) { ExecutionContext executionContext = createExecutionContext(getDomainDetailRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetDomainDetailRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getDomainDetailRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetDomainDetail"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetDomainDetailResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* The GetDomainSuggestions operation returns a list of suggested domain names. *

* * @param getDomainSuggestionsRequest * @return Result of the GetDomainSuggestions operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.GetDomainSuggestions * @see AWS API Documentation */ @Override public GetDomainSuggestionsResult getDomainSuggestions(GetDomainSuggestionsRequest request) { request = beforeClientExecution(request); return executeGetDomainSuggestions(request); } @SdkInternalApi final GetDomainSuggestionsResult executeGetDomainSuggestions(GetDomainSuggestionsRequest getDomainSuggestionsRequest) { ExecutionContext executionContext = createExecutionContext(getDomainSuggestionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetDomainSuggestionsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getDomainSuggestionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetDomainSuggestions"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetDomainSuggestionsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation returns the current status of an operation that is not completed. *

* * @param getOperationDetailRequest * The * GetOperationDetail request includes the following element. * @return Result of the GetOperationDetail operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @sample AmazonRoute53Domains.GetOperationDetail * @see AWS API Documentation */ @Override public GetOperationDetailResult getOperationDetail(GetOperationDetailRequest request) { request = beforeClientExecution(request); return executeGetOperationDetail(request); } @SdkInternalApi final GetOperationDetailResult executeGetOperationDetail(GetOperationDetailRequest getOperationDetailRequest) { ExecutionContext executionContext = createExecutionContext(getOperationDetailRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetOperationDetailRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getOperationDetailRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetOperationDetail"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetOperationDetailResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation returns all the domain names registered with Amazon Route 53 for the current Amazon Web Services * account if no filtering conditions are used. *

* * @param listDomainsRequest * The ListDomains request includes the following elements. * @return Result of the ListDomains operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @sample AmazonRoute53Domains.ListDomains * @see AWS API * Documentation */ @Override public ListDomainsResult listDomains(ListDomainsRequest request) { request = beforeClientExecution(request); return executeListDomains(request); } @SdkInternalApi final ListDomainsResult executeListDomains(ListDomainsRequest listDomainsRequest) { ExecutionContext executionContext = createExecutionContext(listDomainsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListDomainsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listDomainsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDomains"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListDomainsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public ListDomainsResult listDomains() { return listDomains(new ListDomainsRequest()); } /** *

* Returns information about all of the operations that return an operation ID and that have ever been performed on * domains that were registered by the current account. *

*

* This command runs only in the us-east-1 Region. *

* * @param listOperationsRequest * The ListOperations request includes the following elements. * @return Result of the ListOperations operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @sample AmazonRoute53Domains.ListOperations * @see AWS * API Documentation */ @Override public ListOperationsResult listOperations(ListOperationsRequest request) { request = beforeClientExecution(request); return executeListOperations(request); } @SdkInternalApi final ListOperationsResult executeListOperations(ListOperationsRequest listOperationsRequest) { ExecutionContext executionContext = createExecutionContext(listOperationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListOperationsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listOperationsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListOperations"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListOperationsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public ListOperationsResult listOperations() { return listOperations(new ListOperationsRequest()); } /** *

* Lists the following prices for either all the TLDs supported by Route 53, or the specified TLD: *

*
    *
  • *

    * Registration *

    *
  • *
  • *

    * Transfer *

    *
  • *
  • *

    * Owner change *

    *
  • *
  • *

    * Domain renewal *

    *
  • *
  • *

    * Domain restoration *

    *
  • *
* * @param listPricesRequest * @return Result of the ListPrices operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.ListPrices * @see AWS API * Documentation */ @Override public ListPricesResult listPrices(ListPricesRequest request) { request = beforeClientExecution(request); return executeListPrices(request); } @SdkInternalApi final ListPricesResult executeListPrices(ListPricesRequest listPricesRequest) { ExecutionContext executionContext = createExecutionContext(listPricesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPricesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listPricesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPrices"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListPricesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation returns all of the tags that are associated with the specified domain. *

*

* All tag operations are eventually consistent; subsequent operations might not immediately represent all issued * operations. *

* * @param listTagsForDomainRequest * The ListTagsForDomainRequest includes the following elements. * @return Result of the ListTagsForDomain operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.ListTagsForDomain * @see AWS API Documentation */ @Override public ListTagsForDomainResult listTagsForDomain(ListTagsForDomainRequest request) { request = beforeClientExecution(request); return executeListTagsForDomain(request); } @SdkInternalApi final ListTagsForDomainResult executeListTagsForDomain(ListTagsForDomainRequest listTagsForDomainRequest) { ExecutionContext executionContext = createExecutionContext(listTagsForDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTagsForDomainRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTagsForDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForDomain"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTagsForDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Moves a domain from Amazon Web Services to another registrar. *

*

* Supported actions: *

*
    *
  • *

    * Changes the IPS tags of a .uk domain, and pushes it to transit. Transit means that the domain is ready to be * transferred to another registrar. *

    *
  • *
* * @param pushDomainRequest * @return Result of the PushDomain operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.PushDomain * @see AWS API * Documentation */ @Override public PushDomainResult pushDomain(PushDomainRequest request) { request = beforeClientExecution(request); return executePushDomain(request); } @SdkInternalApi final PushDomainResult executePushDomain(PushDomainRequest pushDomainRequest) { ExecutionContext executionContext = createExecutionContext(pushDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PushDomainRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(pushDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PushDomain"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new PushDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation registers a domain. For some top-level domains (TLDs), this operation requires extra parameters. *

*

* When you register a domain, Amazon Route 53 does the following: *

*
    *
  • *

    * Creates a Route 53 hosted zone that has the same name as the domain. Route 53 assigns four name servers to your * hosted zone and automatically updates your domain registration with the names of these name servers. *

    *
  • *
  • *

    * Enables auto renew, so your domain registration will renew automatically each year. We'll notify you in advance * of the renewal date so you can choose whether to renew the registration. *

    *
  • *
  • *

    * Optionally enables privacy protection, so WHOIS queries return contact for the registrar or the phrase * "REDACTED FOR PRIVACY", or "On behalf of <domain name> owner." If you don't enable privacy protection, * WHOIS queries return the information that you entered for the administrative, registrant, and technical contacts. *

    * *

    * While some domains may allow different privacy settings per contact, we recommend specifying the same privacy * setting for all contacts. *

    *
  • *
  • *

    * If registration is successful, returns an operation ID that you can use to track the progress and completion of * the action. If the request is not completed successfully, the domain registrant is notified by email. *

    *
  • *
  • *

    * Charges your Amazon Web Services account an amount based on the top-level domain. For more information, see Amazon Route 53 Pricing. *

    *
  • *
* * @param registerDomainRequest * The RegisterDomain request includes the following elements. * @return Result of the RegisterDomain operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @throws DomainLimitExceededException * The number of domains has exceeded the allowed threshold for the account. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @sample AmazonRoute53Domains.RegisterDomain * @see AWS * API Documentation */ @Override public RegisterDomainResult registerDomain(RegisterDomainRequest request) { request = beforeClientExecution(request); return executeRegisterDomain(request); } @SdkInternalApi final RegisterDomainResult executeRegisterDomain(RegisterDomainRequest registerDomainRequest) { ExecutionContext executionContext = createExecutionContext(registerDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RegisterDomainRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(registerDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RegisterDomain"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RegisterDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Rejects the transfer of a domain from another Amazon Web Services account to the current Amazon Web Services * account. You initiate a transfer betweenAmazon Web Services accounts using TransferDomainToAnotherAwsAccount. *

*

* Use either ListOperations * or * GetOperationDetail to determine whether the operation succeeded. GetOperationDetail provides additional information, for example, * Domain Transfer from Aws Account 111122223333 has been cancelled. *

* * @param rejectDomainTransferFromAnotherAwsAccountRequest * The RejectDomainTransferFromAnotherAwsAccount request includes the following element. * @return Result of the RejectDomainTransferFromAnotherAwsAccount operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.RejectDomainTransferFromAnotherAwsAccount * @see AWS API Documentation */ @Override public RejectDomainTransferFromAnotherAwsAccountResult rejectDomainTransferFromAnotherAwsAccount(RejectDomainTransferFromAnotherAwsAccountRequest request) { request = beforeClientExecution(request); return executeRejectDomainTransferFromAnotherAwsAccount(request); } @SdkInternalApi final RejectDomainTransferFromAnotherAwsAccountResult executeRejectDomainTransferFromAnotherAwsAccount( RejectDomainTransferFromAnotherAwsAccountRequest rejectDomainTransferFromAnotherAwsAccountRequest) { ExecutionContext executionContext = createExecutionContext(rejectDomainTransferFromAnotherAwsAccountRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RejectDomainTransferFromAnotherAwsAccountRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(rejectDomainTransferFromAnotherAwsAccountRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RejectDomainTransferFromAnotherAwsAccount"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RejectDomainTransferFromAnotherAwsAccountResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation renews a domain for the specified number of years. The cost of renewing your domain is billed to * your Amazon Web Services account. *

*

* We recommend that you renew your domain several weeks before the expiration date. Some TLD registries delete * domains before the expiration date if you haven't renewed far enough in advance. For more information about * renewing domain registration, see Renewing Registration for a * Domain in the Amazon Route 53 Developer Guide. *

* * @param renewDomainRequest * A RenewDomain request includes the number of years that you want to renew for and the current * expiration year. * @return Result of the RenewDomain operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @sample AmazonRoute53Domains.RenewDomain * @see AWS API * Documentation */ @Override public RenewDomainResult renewDomain(RenewDomainRequest request) { request = beforeClientExecution(request); return executeRenewDomain(request); } @SdkInternalApi final RenewDomainResult executeRenewDomain(RenewDomainRequest renewDomainRequest) { ExecutionContext executionContext = createExecutionContext(renewDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RenewDomainRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(renewDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RenewDomain"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RenewDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* For operations that require confirmation that the email address for the registrant contact is valid, such as * registering a new domain, this operation resends the confirmation email to the current email address for the * registrant contact. *

* * @param resendContactReachabilityEmailRequest * @return Result of the ResendContactReachabilityEmail operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.ResendContactReachabilityEmail * @see AWS API Documentation */ @Override public ResendContactReachabilityEmailResult resendContactReachabilityEmail(ResendContactReachabilityEmailRequest request) { request = beforeClientExecution(request); return executeResendContactReachabilityEmail(request); } @SdkInternalApi final ResendContactReachabilityEmailResult executeResendContactReachabilityEmail(ResendContactReachabilityEmailRequest resendContactReachabilityEmailRequest) { ExecutionContext executionContext = createExecutionContext(resendContactReachabilityEmailRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ResendContactReachabilityEmailRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(resendContactReachabilityEmailRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ResendContactReachabilityEmail"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ResendContactReachabilityEmailResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Resend the form of authorization email for this operation. *

* * @param resendOperationAuthorizationRequest * @return Result of the ResendOperationAuthorization operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @sample AmazonRoute53Domains.ResendOperationAuthorization * @see AWS API Documentation */ @Override public ResendOperationAuthorizationResult resendOperationAuthorization(ResendOperationAuthorizationRequest request) { request = beforeClientExecution(request); return executeResendOperationAuthorization(request); } @SdkInternalApi final ResendOperationAuthorizationResult executeResendOperationAuthorization(ResendOperationAuthorizationRequest resendOperationAuthorizationRequest) { ExecutionContext executionContext = createExecutionContext(resendOperationAuthorizationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ResendOperationAuthorizationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(resendOperationAuthorizationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ResendOperationAuthorization"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ResendOperationAuthorizationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation returns the authorization code for the domain. To transfer a domain to another registrar, you * provide this value to the new registrar. *

* * @param retrieveDomainAuthCodeRequest * A request for the authorization code for the specified domain. To transfer a domain to another registrar, * you provide this value to the new registrar. * @return Result of the RetrieveDomainAuthCode operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.RetrieveDomainAuthCode * @see AWS API Documentation */ @Override public RetrieveDomainAuthCodeResult retrieveDomainAuthCode(RetrieveDomainAuthCodeRequest request) { request = beforeClientExecution(request); return executeRetrieveDomainAuthCode(request); } @SdkInternalApi final RetrieveDomainAuthCodeResult executeRetrieveDomainAuthCode(RetrieveDomainAuthCodeRequest retrieveDomainAuthCodeRequest) { ExecutionContext executionContext = createExecutionContext(retrieveDomainAuthCodeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RetrieveDomainAuthCodeRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(retrieveDomainAuthCodeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RetrieveDomainAuthCode"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RetrieveDomainAuthCodeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Transfers a domain from another registrar to Amazon Route 53. *

*

* For more information about transferring domains, see the following topics: *

* * *

* During the transfer of any country code top-level domains (ccTLDs) to Route 53, except for .cc and .tv, updates * to the owner contact are ignored and the owner contact data from the registry is used. You can update the owner * contact after the transfer is complete. For more information, see UpdateDomainContact. *

*
*

* If the registrar for your domain is also the DNS service provider for the domain, we highly recommend that you * transfer your DNS service to Route 53 or to another DNS service provider before you transfer your registration. * Some registrars provide free DNS service when you purchase a domain registration. When you transfer the * registration, the previous registrar will not renew your domain registration and could end your DNS service at * any time. *

* *

* If the registrar for your domain is also the DNS service provider for the domain and you don't transfer DNS * service to another provider, your website, email, and the web applications associated with the domain might * become unavailable. *

*
*

* If the transfer is successful, this method returns an operation ID that you can use to track the progress and * completion of the action. If the transfer doesn't complete successfully, the domain registrant will be notified * by email. *

* * @param transferDomainRequest * The TransferDomain request includes the following elements. * @return Result of the TransferDomain operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @throws DomainLimitExceededException * The number of domains has exceeded the allowed threshold for the account. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @sample AmazonRoute53Domains.TransferDomain * @see AWS * API Documentation */ @Override public TransferDomainResult transferDomain(TransferDomainRequest request) { request = beforeClientExecution(request); return executeTransferDomain(request); } @SdkInternalApi final TransferDomainResult executeTransferDomain(TransferDomainRequest transferDomainRequest) { ExecutionContext executionContext = createExecutionContext(transferDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new TransferDomainRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(transferDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TransferDomain"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new TransferDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Transfers a domain from the current Amazon Web Services account to another Amazon Web Services account. Note the * following: *

* * *

* When you transfer a domain from one Amazon Web Services account to another, Route 53 doesn't transfer the hosted * zone that is associated with the domain. DNS resolution isn't affected if the domain and the hosted zone are * owned by separate accounts, so transferring the hosted zone is optional. For information about transferring the * hosted zone to another Amazon Web Services account, see Migrating a Hosted * Zone to a Different Amazon Web Services Account in the Amazon Route 53 Developer Guide. *

*
*

* Use either ListOperations * or * GetOperationDetail to determine whether the operation succeeded. GetOperationDetail provides additional information, for example, * Domain Transfer from Aws Account 111122223333 has been cancelled. *

* * @param transferDomainToAnotherAwsAccountRequest * The TransferDomainToAnotherAwsAccount request includes the following elements. * @return Result of the TransferDomainToAnotherAwsAccount operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.TransferDomainToAnotherAwsAccount * @see AWS API Documentation */ @Override public TransferDomainToAnotherAwsAccountResult transferDomainToAnotherAwsAccount(TransferDomainToAnotherAwsAccountRequest request) { request = beforeClientExecution(request); return executeTransferDomainToAnotherAwsAccount(request); } @SdkInternalApi final TransferDomainToAnotherAwsAccountResult executeTransferDomainToAnotherAwsAccount( TransferDomainToAnotherAwsAccountRequest transferDomainToAnotherAwsAccountRequest) { ExecutionContext executionContext = createExecutionContext(transferDomainToAnotherAwsAccountRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new TransferDomainToAnotherAwsAccountRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(transferDomainToAnotherAwsAccountRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TransferDomainToAnotherAwsAccount"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new TransferDomainToAnotherAwsAccountResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation updates the contact information for a particular domain. You must specify information for at least * one contact: registrant, administrator, or technical. *

*

* If the update is successful, this method returns an operation ID that you can use to track the progress and * completion of the operation. If the request is not completed successfully, the domain registrant will be notified * by email. *

* * @param updateDomainContactRequest * The UpdateDomainContact request includes the following elements. * @return Result of the UpdateDomainContact operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.UpdateDomainContact * @see AWS API Documentation */ @Override public UpdateDomainContactResult updateDomainContact(UpdateDomainContactRequest request) { request = beforeClientExecution(request); return executeUpdateDomainContact(request); } @SdkInternalApi final UpdateDomainContactResult executeUpdateDomainContact(UpdateDomainContactRequest updateDomainContactRequest) { ExecutionContext executionContext = createExecutionContext(updateDomainContactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateDomainContactRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateDomainContactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateDomainContact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateDomainContactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation updates the specified domain contact's privacy setting. When privacy protection is enabled, your * contact information is replaced with contact information for the registrar or with the phrase * "REDACTED FOR PRIVACY", or "On behalf of <domain name> owner." *

* *

* While some domains may allow different privacy settings per contact, we recommend specifying the same privacy * setting for all contacts. *

*
*

* This operation affects only the contact information for the specified contact type (administrative, registrant, * or technical). If the request succeeds, Amazon Route 53 returns an operation ID that you can use with GetOperationDetail to track the progress and completion of the action. If the request doesn't complete * successfully, the domain registrant will be notified by email. *

* *

* By disabling the privacy service via API, you consent to the publication of the contact information provided for * this domain via the public WHOIS database. You certify that you are the registrant of this domain name and have * the authority to make this decision. You may withdraw your consent at any time by enabling privacy protection * using either UpdateDomainContactPrivacy or the Route 53 console. Enabling privacy protection removes * the contact information provided for this domain from the WHOIS database. For more information on our privacy * practices, see https://aws.amazon.com/privacy/. *

*
* * @param updateDomainContactPrivacyRequest * The UpdateDomainContactPrivacy request includes the following elements. * @return Result of the UpdateDomainContactPrivacy operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.UpdateDomainContactPrivacy * @see AWS API Documentation */ @Override public UpdateDomainContactPrivacyResult updateDomainContactPrivacy(UpdateDomainContactPrivacyRequest request) { request = beforeClientExecution(request); return executeUpdateDomainContactPrivacy(request); } @SdkInternalApi final UpdateDomainContactPrivacyResult executeUpdateDomainContactPrivacy(UpdateDomainContactPrivacyRequest updateDomainContactPrivacyRequest) { ExecutionContext executionContext = createExecutionContext(updateDomainContactPrivacyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateDomainContactPrivacyRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateDomainContactPrivacyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateDomainContactPrivacy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateDomainContactPrivacyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation replaces the current set of name servers for the domain with the specified set of name servers. If * you use Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted * zone for the domain. *

*

* If successful, this operation returns an operation ID that you can use to track the progress and completion of * the action. If the request is not completed successfully, the domain registrant will be notified by email. *

* * @param updateDomainNameserversRequest * Replaces the current set of name servers for the domain with the specified set of name servers. If you use * Amazon Route 53 as your DNS service, specify the four name servers in the delegation set for the hosted * zone for the domain.

*

* If successful, this operation returns an operation ID that you can use to track the progress and * completion of the action. If the request is not completed successfully, the domain registrant will be * notified by email. * @return Result of the UpdateDomainNameservers operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws DuplicateRequestException * The request is already in progress for the domain. * @throws TLDRulesViolationException * The top-level domain does not support this operation. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.UpdateDomainNameservers * @see AWS API Documentation */ @Override public UpdateDomainNameserversResult updateDomainNameservers(UpdateDomainNameserversRequest request) { request = beforeClientExecution(request); return executeUpdateDomainNameservers(request); } @SdkInternalApi final UpdateDomainNameserversResult executeUpdateDomainNameservers(UpdateDomainNameserversRequest updateDomainNameserversRequest) { ExecutionContext executionContext = createExecutionContext(updateDomainNameserversRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateDomainNameserversRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateDomainNameserversRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateDomainNameservers"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateDomainNameserversResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* This operation adds or updates tags for a specified domain. *

*

* All tag operations are eventually consistent; subsequent operations might not immediately represent all issued * operations. *

* * @param updateTagsForDomainRequest * The UpdateTagsForDomainRequest includes the following elements. * @return Result of the UpdateTagsForDomain operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @throws OperationLimitExceededException * The number of operations or jobs running exceeded the allowed threshold for the account. * @throws UnsupportedTLDException * Amazon Route 53 does not support this top-level domain (TLD). * @sample AmazonRoute53Domains.UpdateTagsForDomain * @see AWS API Documentation */ @Override public UpdateTagsForDomainResult updateTagsForDomain(UpdateTagsForDomainRequest request) { request = beforeClientExecution(request); return executeUpdateTagsForDomain(request); } @SdkInternalApi final UpdateTagsForDomainResult executeUpdateTagsForDomain(UpdateTagsForDomainRequest updateTagsForDomainRequest) { ExecutionContext executionContext = createExecutionContext(updateTagsForDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateTagsForDomainRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateTagsForDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateTagsForDomain"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateTagsForDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns all the domain-related billing records for the current Amazon Web Services account for a specified period *

* * @param viewBillingRequest * The ViewBilling request includes the following elements. * @return Result of the ViewBilling operation returned by the service. * @throws InvalidInputException * The requested item is not acceptable. For example, for APIs that accept a domain name, the request might * specify a domain name that doesn't belong to the account that submitted the request. For * AcceptDomainTransferFromAnotherAwsAccount, the password might be invalid. * @sample AmazonRoute53Domains.ViewBilling * @see AWS API * Documentation */ @Override public ViewBillingResult viewBilling(ViewBillingRequest request) { request = beforeClientExecution(request); return executeViewBilling(request); } @SdkInternalApi final ViewBillingResult executeViewBilling(ViewBillingRequest viewBillingRequest) { ExecutionContext executionContext = createExecutionContext(viewBillingRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ViewBillingRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(viewBillingRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Route 53 Domains"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ViewBilling"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ViewBillingResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * Returns additional metadata for a previously executed successful, request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

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





© 2015 - 2025 Weber Informatics LLC | Privacy Policy