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

com.amazonaws.services.certificatemanager.AWSCertificateManagerClient Maven / Gradle / Ivy

Go to download

The AWS SDK for Java with support for OSGi. The AWS SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

There is a newer version: 1.11.60
Show newest version
/*
 * Copyright 2011-2016 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.certificatemanager;

import org.w3c.dom.*;

import java.net.*;
import java.util.*;
import java.util.Map.Entry;

import org.apache.commons.logging.*;

import com.amazonaws.*;
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.AmazonServiceException;

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

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

* AWS Certificate Manager *

* Welcome to the AWS Certificate Manager (ACM) Command Reference. This guide * provides descriptions, syntax, and usage examples for each ACM command. You * can use AWS Certificate Manager to request ACM Certificates for your * AWS-based websites and applications. For general information about using ACM * and for more information about using the console, see the AWS * Certificate Manager User Guide. For more information about using the ACM * API, see the AWS * Certificate Manager API Reference. *

*/ @ThreadSafe public class AWSCertificateManagerClient extends AmazonWebServiceClient implements AWSCertificateManager { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory .getLog(AWSCertificateManager.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "acm"; /** * Client configuration factory providing ClientConfigurations tailored to * this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final SdkJsonProtocolFactory protocolFactory = new SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("InvalidTagException") .withModeledClass( com.amazonaws.services.certificatemanager.model.InvalidTagException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("TooManyTagsException") .withModeledClass( com.amazonaws.services.certificatemanager.model.TooManyTagsException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("ResourceInUseException") .withModeledClass( com.amazonaws.services.certificatemanager.model.ResourceInUseException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("ResourceNotFoundException") .withModeledClass( com.amazonaws.services.certificatemanager.model.ResourceNotFoundException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("RequestInProgressException") .withModeledClass( com.amazonaws.services.certificatemanager.model.RequestInProgressException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("InvalidStateException") .withModeledClass( com.amazonaws.services.certificatemanager.model.InvalidStateException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode( "InvalidDomainValidationOptionsException") .withModeledClass( com.amazonaws.services.certificatemanager.model.InvalidDomainValidationOptionsException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("InvalidArnException") .withModeledClass( com.amazonaws.services.certificatemanager.model.InvalidArnException.class)) .addErrorMetadata( new JsonErrorShapeMetadata() .withErrorCode("LimitExceededException") .withModeledClass( com.amazonaws.services.certificatemanager.model.LimitExceededException.class)) .withBaseServiceExceptionClass( com.amazonaws.services.certificatemanager.model.AWSCertificateManagerException.class)); /** * Constructs a new client to invoke service methods on ACM. 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 */ public AWSCertificateManagerClient() { this(new DefaultAWSCredentialsProviderChain(), configFactory .getConfig()); } /** * Constructs a new client to invoke service methods on ACM. 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 ACM (ex: proxy settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AWSCertificateManagerClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration); } /** * Constructs a new client to invoke service methods on ACM 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. */ public AWSCertificateManagerClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on ACM 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 ACM (ex: proxy settings, retry counts, etc.). */ public AWSCertificateManagerClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider( awsCredentials); init(); } /** * Constructs a new client to invoke service methods on ACM 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. */ public AWSCertificateManagerClient( AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on ACM 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 ACM (ex: proxy settings, retry counts, etc.). */ public AWSCertificateManagerClient( AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on ACM 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 ACM (ex: proxy settings, retry counts, etc.). * @param requestMetricCollector * optional request metric collector */ public AWSCertificateManagerClient( AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; init(); } /** * Constructs a new client to invoke service methods on ACM 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. */ AWSCertificateManagerClient(AwsSyncClientParams clientParams) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("https://acm.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s .addAll(chainFactory .newRequestHandlerChain("/com/amazonaws/services/certificatemanager/request.handlers")); requestHandler2s .addAll(chainFactory .newRequestHandler2Chain("/com/amazonaws/services/certificatemanager/request.handler2s")); } /** *

* Adds one or more tags to an ACM Certificate. Tags are labels that you can * use to identify and organize your AWS resources. Each tag consists of a * key and an optional value. You specify the * certificate on input by its Amazon Resource Name (ARN). You specify the * tag by using a key-value pair. *

*

* You can apply a tag to just one certificate if you want to identify a * specific characteristic of that certificate, or you can apply the same * tag to multiple certificates if you want to filter for a common * relationship among those certificates. Similarly, you can apply the same * tag to multiple resources if you want to specify a relationship among * those resources. For example, you can add the same tag to an ACM * Certificate and an Elastic Load Balancing load balancer to indicate that * they are both used by the same website. For more information, see Tagging * ACM Certificates. *

*

* To remove one or more tags, use the RemoveTagsFromCertificate * action. To view all of the tags that have been applied to the * certificate, use the ListTagsForCertificate action. *

* * @param addTagsToCertificateRequest * @return Result of the AddTagsToCertificate operation returned by the * service. * @throws ResourceNotFoundException * The specified certificate cannot be found in the caller's * account, or the caller's account cannot be found. * @throws InvalidArnException * The requested Amazon Resource Name (ARN) does not refer to an * existing resource. * @throws InvalidTagException * One or both of the values that make up the key-value pair is not * valid. For example, you cannot specify a tag value that begins * with aws:. * @throws TooManyTagsException * The request contains too many tags. Try the request again with * fewer tags. * @sample AWSCertificateManager.AddTagsToCertificate */ @Override public AddTagsToCertificateResult addTagsToCertificate( AddTagsToCertificateRequest addTagsToCertificateRequest) { ExecutionContext executionContext = createExecutionContext(addTagsToCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AddTagsToCertificateRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(addTagsToCertificateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new AddTagsToCertificateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes an ACM Certificate and its associated private key. If this action * succeeds, the certificate no longer appears in the list of ACM * Certificates that can be displayed by calling the ListCertificates * action or be retrieved by calling the GetCertificate action. The * certificate will not be available for use by other AWS services. *

* *

* You cannot delete an ACM Certificate that is being used by another AWS * service. To delete a certificate that is in use, the certificate * association must first be removed. *

*
* * @param deleteCertificateRequest * @return Result of the DeleteCertificate operation returned by the * service. * @throws ResourceNotFoundException * The specified certificate cannot be found in the caller's * account, or the caller's account cannot be found. * @throws ResourceInUseException * The certificate is in use by another AWS service in the caller's * account. Remove the association and try again. * @throws InvalidArnException * The requested Amazon Resource Name (ARN) does not refer to an * existing resource. * @sample AWSCertificateManager.DeleteCertificate */ @Override public DeleteCertificateResult deleteCertificate( DeleteCertificateRequest deleteCertificateRequest) { ExecutionContext executionContext = createExecutionContext(deleteCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteCertificateRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(deleteCertificateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new DeleteCertificateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Returns a list of the fields contained in the specified ACM Certificate. * For example, this action returns the certificate status, a flag that * indicates whether the certificate is associated with any other AWS * service, and the date at which the certificate request was created. You * specify the ACM Certificate on input by its Amazon Resource Name (ARN). *

* * @param describeCertificateRequest * @return Result of the DescribeCertificate operation returned by the * service. * @throws ResourceNotFoundException * The specified certificate cannot be found in the caller's * account, or the caller's account cannot be found. * @throws InvalidArnException * The requested Amazon Resource Name (ARN) does not refer to an * existing resource. * @sample AWSCertificateManager.DescribeCertificate */ @Override public DescribeCertificateResult describeCertificate( DescribeCertificateRequest describeCertificateRequest) { ExecutionContext executionContext = createExecutionContext(describeCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeCertificateRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(describeCertificateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new DescribeCertificateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves an ACM Certificate and certificate chain for the certificate * specified by an ARN. The chain is an ordered list of certificates that * contains the root certificate, intermediate certificates of subordinate * CAs, and the ACM Certificate. The certificate and certificate chain are * base64 encoded. If you want to decode the certificate chain to see the * individual certificate fields, you can use OpenSSL. *

* *

* Currently, ACM Certificates can be used only with Elastic Load Balancing * and Amazon CloudFront. *

*
* * @param getCertificateRequest * @return Result of the GetCertificate operation returned by the service. * @throws ResourceNotFoundException * The specified certificate cannot be found in the caller's * account, or the caller's account cannot be found. * @throws RequestInProgressException * The certificate request is in process and the certificate in your * account has not yet been issued. * @throws InvalidArnException * The requested Amazon Resource Name (ARN) does not refer to an * existing resource. * @sample AWSCertificateManager.GetCertificate */ @Override public GetCertificateResult getCertificate( GetCertificateRequest getCertificateRequest) { ExecutionContext executionContext = createExecutionContext(getCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetCertificateRequestMarshaller(protocolFactory) .marshall(super .beforeMarshalling(getCertificateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new GetCertificateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Retrieves a list of ACM Certificates and the domain name for each. You * can optionally filter the list to return only the certificates that match * the specified status. *

* * @param listCertificatesRequest * @return Result of the ListCertificates operation returned by the service. * @sample AWSCertificateManager.ListCertificates */ @Override public ListCertificatesResult listCertificates( ListCertificatesRequest listCertificatesRequest) { ExecutionContext executionContext = createExecutionContext(listCertificatesRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListCertificatesRequestMarshaller(protocolFactory) .marshall(super .beforeMarshalling(listCertificatesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new ListCertificatesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists the tags that have been applied to the ACM Certificate. Use the * certificate ARN to specify the certificate. To add a tag to an ACM * Certificate, use the AddTagsToCertificate action. To delete a tag, * use the RemoveTagsFromCertificate action. *

* * @param listTagsForCertificateRequest * @return Result of the ListTagsForCertificate operation returned by the * service. * @throws ResourceNotFoundException * The specified certificate cannot be found in the caller's * account, or the caller's account cannot be found. * @throws InvalidArnException * The requested Amazon Resource Name (ARN) does not refer to an * existing resource. * @sample AWSCertificateManager.ListTagsForCertificate */ @Override public ListTagsForCertificateResult listTagsForCertificate( ListTagsForCertificateRequest listTagsForCertificateRequest) { ExecutionContext executionContext = createExecutionContext(listTagsForCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTagsForCertificateRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(listTagsForCertificateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new ListTagsForCertificateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Remove one or more tags from an ACM Certificate. A tag consists of a * key-value pair. If you do not specify the value portion of the tag when * calling this function, the tag will be removed regardless of value. If * you specify a value, the tag is removed only if it is associated with the * specified value. *

*

* To add tags to a certificate, use the AddTagsToCertificate action. * To view all of the tags that have been applied to a specific ACM * Certificate, use the ListTagsForCertificate action. *

* * @param removeTagsFromCertificateRequest * @return Result of the RemoveTagsFromCertificate operation returned by the * service. * @throws ResourceNotFoundException * The specified certificate cannot be found in the caller's * account, or the caller's account cannot be found. * @throws InvalidArnException * The requested Amazon Resource Name (ARN) does not refer to an * existing resource. * @throws InvalidTagException * One or both of the values that make up the key-value pair is not * valid. For example, you cannot specify a tag value that begins * with aws:. * @sample AWSCertificateManager.RemoveTagsFromCertificate */ @Override public RemoveTagsFromCertificateResult removeTagsFromCertificate( RemoveTagsFromCertificateRequest removeTagsFromCertificateRequest) { ExecutionContext executionContext = createExecutionContext(removeTagsFromCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RemoveTagsFromCertificateRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(removeTagsFromCertificateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler( new JsonOperationMetadata().withPayloadJson(true) .withHasStreamingSuccessResponse(false), new RemoveTagsFromCertificateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Requests an ACM Certificate for use with other AWS services. To request * an ACM Certificate, you must specify the fully qualified domain name * (FQDN) for your site. You can also specify additional FQDNs if users can * reach your site by using other names. For each domain name you specify, * email is sent to the domain owner to request approval to issue the * certificate. After receiving approval from the domain owner, the ACM * Certificate is issued. For more information, see the AWS * Certificate Manager User Guide . *

* * @param requestCertificateRequest * @return Result of the RequestCertificate operation returned by the * service. * @throws LimitExceededException * An ACM limit has been exceeded. For example, you may have input * more domains than are allowed or you've requested too many * certificates for your account. See the exception message returned * by ACM to determine which limit you have violated. For more * information about ACM limits, see the Limits topic. * @throws InvalidDomainValidationOptionsException * One or more values in the DomainValidationOption structure * is incorrect. * @sample AWSCertificateManager.RequestCertificate */ @Override public RequestCertificateResult requestCertificate( RequestCertificateRequest requestCertificateRequest) { ExecutionContext executionContext = createExecutionContext(requestCertificateRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RequestCertificateRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(requestCertificateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new RequestCertificateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Resends the email that requests domain ownership validation. The domain * owner or an authorized representative must approve the ACM Certificate * before it can be issued. The certificate can be approved by clicking a * link in the mail to navigate to the Amazon certificate approval website * and then clicking I Approve. However, the validation email can be * blocked by spam filters. Therefore, if you do not receive the original * mail, you can request that the mail be resent within 72 hours of * requesting the ACM Certificate. If more than 72 hours have elapsed since * your original request or since your last attempt to resend validation * mail, you must request a new certificate. *

* * @param resendValidationEmailRequest * @return Result of the ResendValidationEmail operation returned by the * service. * @throws ResourceNotFoundException * The specified certificate cannot be found in the caller's * account, or the caller's account cannot be found. * @throws InvalidStateException * Processing has reached an invalid state. For example, this * exception can occur if the specified domain is not using email * validation, or the current certificate status does not permit the * requested operation. See the exception message returned by ACM to * determine which state is not valid. * @throws InvalidArnException * The requested Amazon Resource Name (ARN) does not refer to an * existing resource. * @throws InvalidDomainValidationOptionsException * One or more values in the DomainValidationOption structure * is incorrect. * @sample AWSCertificateManager.ResendValidationEmail */ @Override public ResendValidationEmailResult resendValidationEmail( ResendValidationEmailRequest resendValidationEmailRequest) { ExecutionContext executionContext = createExecutionContext(resendValidationEmailRequest); AWSRequestMetrics awsRequestMetrics = executionContext .getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ResendValidationEmailRequestMarshaller( protocolFactory).marshall(super .beforeMarshalling(resendValidationEmailRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true) .withHasStreamingSuccessResponse(false), new ResendValidationEmailResultJsonUnmarshaller()); 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) { executionContext.setCredentialsProvider(CredentialUtils .getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext); } /** * 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); } /** * 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) { request.setEndpoint(endpoint); request.setTimeOffset(timeOffset); HttpResponseHandler errorResponseHandler = protocolFactory .createErrorResponseHandler(new JsonErrorResponseMetadata()); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy