
com.amazonaws.services.certificatemanager.AWSCertificateManager Maven / Gradle / Ivy
Show all versions of aws-java-sdk-acm Show documentation
/*
* 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 com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.certificatemanager.model.*;
/**
* Interface for accessing ACM.
*
* 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.
*
*/
public interface AWSCertificateManager {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "acm";
/**
* Overrides the default endpoint for this client ("https://acm.us-east-1.amazonaws.com"). Callers can use this
* method to control which AWS region they want to work with.
*
* Callers can pass in just the endpoint (ex: "acm.us-east-1.amazonaws.com") or a full URL, including the protocol
* (ex: "https://acm.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from
* this client's {@link ClientConfiguration} will be used, which by default is HTTPS.
*
* For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available
* endpoints for all AWS services, see:
* http://developer.amazonwebservices.com/connect/entry.jspa?externalID=3912
*
* This method is not threadsafe. An endpoint should be configured when the client is created and before any
* service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in
* transit or retrying.
*
* @param endpoint
* The endpoint (ex: "acm.us-east-1.amazonaws.com") or a full URL, including the protocol (ex:
* "https://acm.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate
* with.
*/
void setEndpoint(String endpoint);
/**
* An alternative to {@link AWSCertificateManager#setEndpoint(String)}, sets the regional endpoint for this client's
* service calls. Callers can use this method to control which AWS region they want to work with.
*
* By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
* {@link ClientConfiguration} supplied at construction.
*
* This method is not threadsafe. A region should be configured when the client is created and before any service
* requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit
* or retrying.
*
* @param region
* The region this client will communicate with. See {@link Region#getRegion(com.amazonaws.regions.Regions)}
* for accessing a given region. Must not be null and must be a region where the service is available.
*
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class, com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
* @see Region#isServiceSupported(String)
*/
void setRegion(Region region);
/**
*
* 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
*/
AddTagsToCertificateResult addTagsToCertificate(AddTagsToCertificateRequest addTagsToCertificateRequest);
/**
*
* 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
*/
DeleteCertificateResult deleteCertificate(DeleteCertificateRequest deleteCertificateRequest);
/**
*
* 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
*/
DescribeCertificateResult describeCertificate(DescribeCertificateRequest describeCertificateRequest);
/**
*
* 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
*/
GetCertificateResult getCertificate(GetCertificateRequest getCertificateRequest);
/**
*
* 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
*/
ListCertificatesResult listCertificates(ListCertificatesRequest listCertificatesRequest);
/**
*
* 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
*/
ListTagsForCertificateResult listTagsForCertificate(ListTagsForCertificateRequest listTagsForCertificateRequest);
/**
*
* 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
*/
RemoveTagsFromCertificateResult removeTagsFromCertificate(RemoveTagsFromCertificateRequest removeTagsFromCertificateRequest);
/**
*
* 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
*/
RequestCertificateResult requestCertificate(RequestCertificateRequest requestCertificateRequest);
/**
*
* 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
*/
ResendValidationEmailResult resendValidationEmail(ResendValidationEmailRequest resendValidationEmailRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* 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 a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}