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 ClientConfiguration will be used, which by default is HTTPS.

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.

Parameters:

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.

setRegion

An alternative to 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
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.

addTagsToCertificate

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.

deleteCertificate

Deletes a certificate and its associated private key. If this action succeeds, the certificate no longer appears
in the list 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 AWS services integrated with ACM.

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.

Parameters:

deleteCertificateRequest -

Returns:

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.

ResourceInUseException - The certificate is in use by another AWS service in the caller's account. Remove the association and try
again.

InvalidArnException - The requested Amazon Resource Name (ARN) does not refer to an existing resource.

exportCertificate

Exports a private certificate issued by a private certificate authority (CA) for use anywhere. The exported file
contains the certificate, the certificate chain, and the encrypted private 2048-bit RSA key associated with the
public key that is embedded in the certificate. For security, you must assign a passphrase for the private key
when exporting it.

getCertificate

Retrieves an Amazon-issued certificate and its certificate chain. The chain consists of the certificate of the
issuing CA and the intermediate certificates of any other subordinate CAs. All of the certificates are base64
encoded. You can use OpenSSL to decode
the certificates and inspect individual fields.

Parameters:

getCertificateRequest -

Returns:

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.

importCertificate

Imports a certificate into AWS Certificate Manager (ACM) to use with services that are integrated with ACM. Note
that integrated services allow
only certificate types and keys they support to be associated with their resources. Further, their support
differs depending on whether the certificate is imported into IAM or into ACM. For more information, see the
documentation for each service. For more information about importing certificates into ACM, see Importing Certificates in the
AWS Certificate Manager User Guide.

Note the following guidelines when importing third party certificates:

You must enter the private key that matches the certificate you are importing.

The private key must be unencrypted. You cannot import a private key that is protected by a password or a
passphrase.

If the certificate you are importing is not self-signed, you must enter its certificate chain.

If a certificate chain is included, the issuer must be the subject of one of the certificates in the chain.

The certificate, private key, and certificate chain must be PEM-encoded.

The current time must be between the Not Before and Not After certificate fields.

The Issuer field must not be empty.

The OCSP authority URL, if present, must not exceed 1000 characters.

To import a new certificate, omit the CertificateArn argument. Include this argument only when you
want to replace a previously imported certifica

When you import a certificate by using the CLI, you must specify the certificate, the certificate chain, and the
private key by their file names preceded by file://. For example, you can specify a certificate
saved in the C:\temp folder as file://C:\temp\certificate_to_import.pem. If you are
making an HTTP or HTTPS Query request, include these arguments as BLOBs.

When you import a certificate by using an SDK, you must specify the certificate, the certificate chain, and the
private key files in the manner required by the programming language you're using.

The cryptographic algorithm of an imported certificate must match the algorithm of the signing CA. For example,
if the signing CA key type is RSA, then the certificate key type must also be RSA.

listCertificates

Retrieves a list of certificate ARNs and domain names. You can request that only certificates that match a
specific status be listed. You can also filter by specific attributes of the certificate. Default filtering
returns only RSA_2048 certificates. For more information, see Filters.

listTagsForCertificate

Lists the tags that have been applied to the ACM certificate. Use the certificate's Amazon Resource Name (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.

Parameters:

listTagsForCertificateRequest -

Returns:

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.

InvalidArnException - The requested Amazon Resource Name (ARN) does not refer to an existing resource.

removeTagsFromCertificate

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.

requestCertificate

Requests an ACM certificate for use with other AWS services. To request an ACM certificate, you must specify a
fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional
FQDNs in the SubjectAlternativeNames parameter.

If you are requesting a private certificate, domain validation is not required. If you are requesting a public
certificate, each domain name that you specify must be validated to verify that you own or control the domain.
You can use DNS
validation or email
validation. We recommend that you use DNS validation. ACM issues public certificates after receiving approval
from the domain owner.

resendValidationEmail

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. For more information about setting up your contact email addresses, see Configure Email for your Domain.

Parameters:

resendValidationEmailRequest -

Returns:

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.

updateCertificateOptions

Updates a certificate. Currently, you can use this function to specify whether to opt in to or out of recording
your certificate in a certificate transparency log. For more information, see
Opting Out of Certificate Transparency Logging.

Parameters:

updateCertificateOptionsRequest -

Returns:

Result of the UpdateCertificateOptions 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.

shutdown

void shutdown()

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.

getCachedResponseMetadata

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.

Parameters:

request - The originally executed request.

Returns:

The response metadata for the specified request, or null if none is available.