software.amazon.awssdk.services.acm.AcmClient Maven / Gradle / Ivy
/*
* Copyright 2014-2019 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 software.amazon.awssdk.services.acm;
import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.core.SdkClient;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.regions.ServiceMetadata;
import software.amazon.awssdk.services.acm.model.AcmException;
import software.amazon.awssdk.services.acm.model.AddTagsToCertificateRequest;
import software.amazon.awssdk.services.acm.model.AddTagsToCertificateResponse;
import software.amazon.awssdk.services.acm.model.DeleteCertificateRequest;
import software.amazon.awssdk.services.acm.model.DeleteCertificateResponse;
import software.amazon.awssdk.services.acm.model.DescribeCertificateRequest;
import software.amazon.awssdk.services.acm.model.DescribeCertificateResponse;
import software.amazon.awssdk.services.acm.model.ExportCertificateRequest;
import software.amazon.awssdk.services.acm.model.ExportCertificateResponse;
import software.amazon.awssdk.services.acm.model.GetCertificateRequest;
import software.amazon.awssdk.services.acm.model.GetCertificateResponse;
import software.amazon.awssdk.services.acm.model.ImportCertificateRequest;
import software.amazon.awssdk.services.acm.model.ImportCertificateResponse;
import software.amazon.awssdk.services.acm.model.InvalidArgsException;
import software.amazon.awssdk.services.acm.model.InvalidArnException;
import software.amazon.awssdk.services.acm.model.InvalidDomainValidationOptionsException;
import software.amazon.awssdk.services.acm.model.InvalidStateException;
import software.amazon.awssdk.services.acm.model.InvalidTagException;
import software.amazon.awssdk.services.acm.model.LimitExceededException;
import software.amazon.awssdk.services.acm.model.ListCertificatesRequest;
import software.amazon.awssdk.services.acm.model.ListCertificatesResponse;
import software.amazon.awssdk.services.acm.model.ListTagsForCertificateRequest;
import software.amazon.awssdk.services.acm.model.ListTagsForCertificateResponse;
import software.amazon.awssdk.services.acm.model.RemoveTagsFromCertificateRequest;
import software.amazon.awssdk.services.acm.model.RemoveTagsFromCertificateResponse;
import software.amazon.awssdk.services.acm.model.RenewCertificateRequest;
import software.amazon.awssdk.services.acm.model.RenewCertificateResponse;
import software.amazon.awssdk.services.acm.model.RequestCertificateRequest;
import software.amazon.awssdk.services.acm.model.RequestCertificateResponse;
import software.amazon.awssdk.services.acm.model.RequestInProgressException;
import software.amazon.awssdk.services.acm.model.ResendValidationEmailRequest;
import software.amazon.awssdk.services.acm.model.ResendValidationEmailResponse;
import software.amazon.awssdk.services.acm.model.ResourceInUseException;
import software.amazon.awssdk.services.acm.model.ResourceNotFoundException;
import software.amazon.awssdk.services.acm.model.TooManyTagsException;
import software.amazon.awssdk.services.acm.model.UpdateCertificateOptionsRequest;
import software.amazon.awssdk.services.acm.model.UpdateCertificateOptionsResponse;
import software.amazon.awssdk.services.acm.paginators.ListCertificatesIterable;
/**
* Service client for accessing ACM. This can be created using the static {@link #builder()} method.
*
* AWS Certificate Manager
*
* Welcome to the AWS Certificate Manager (ACM) API documentation.
*
*
* You can use ACM to manage SSL/TLS certificates for your AWS-based websites and applications. For general information
* about using ACM, see the AWS Certificate Manager User
* Guide .
*
*/
@Generated("software.amazon.awssdk:codegen")
public interface AcmClient extends SdkClient {
String SERVICE_NAME = "acm";
/**
* Create a {@link AcmClient} with the region loaded from the
* {@link software.amazon.awssdk.regions.providers.DefaultAwsRegionProviderChain} and credentials loaded from the
* {@link software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider}.
*/
static AcmClient create() {
return builder().build();
}
/**
* Create a builder that can be used to configure and create a {@link AcmClient}.
*/
static AcmClientBuilder builder() {
return new DefaultAcmClientBuilder();
}
/**
*
* 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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.AddTagsToCertificate
* @see AWS API
* Documentation
*/
default AddTagsToCertificateResponse addTagsToCertificate(AddTagsToCertificateRequest addTagsToCertificateRequest)
throws ResourceNotFoundException, InvalidArnException, InvalidTagException, TooManyTagsException,
AwsServiceException, SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* 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.
*
*
*
* This is a convenience which creates an instance of the {@link AddTagsToCertificateRequest.Builder} avoiding the
* need to create one manually via {@link AddTagsToCertificateRequest#builder()}
*
*
* @param addTagsToCertificateRequest
* A {@link Consumer} that will call methods on {@link AddTagsToCertificateRequest.Builder} to create a
* request.
* @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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.AddTagsToCertificate
* @see AWS API
* Documentation
*/
default AddTagsToCertificateResponse addTagsToCertificate(
Consumer addTagsToCertificateRequest) throws ResourceNotFoundException,
InvalidArnException, InvalidTagException, TooManyTagsException, AwsServiceException, SdkClientException, AcmException {
return addTagsToCertificate(AddTagsToCertificateRequest.builder().applyMutation(addTagsToCertificateRequest).build());
}
/**
*
* 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.
*
*
*
* @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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.DeleteCertificate
* @see AWS API
* Documentation
*/
default DeleteCertificateResponse deleteCertificate(DeleteCertificateRequest deleteCertificateRequest)
throws ResourceNotFoundException, ResourceInUseException, InvalidArnException, AwsServiceException,
SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* 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.
*
*
*
* This is a convenience which creates an instance of the {@link DeleteCertificateRequest.Builder} avoiding the need
* to create one manually via {@link DeleteCertificateRequest#builder()}
*
*
* @param deleteCertificateRequest
* A {@link Consumer} that will call methods on {@link DeleteCertificateRequest.Builder} to create a request.
* @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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.DeleteCertificate
* @see AWS API
* Documentation
*/
default DeleteCertificateResponse deleteCertificate(Consumer deleteCertificateRequest)
throws ResourceNotFoundException, ResourceInUseException, InvalidArnException, AwsServiceException,
SdkClientException, AcmException {
return deleteCertificate(DeleteCertificateRequest.builder().applyMutation(deleteCertificateRequest).build());
}
/**
*
* Returns detailed metadata about the specified ACM certificate.
*
*
* @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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.DescribeCertificate
* @see AWS API
* Documentation
*/
default DescribeCertificateResponse describeCertificate(DescribeCertificateRequest describeCertificateRequest)
throws ResourceNotFoundException, InvalidArnException, AwsServiceException, SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* Returns detailed metadata about the specified ACM certificate.
*
*
*
* This is a convenience which creates an instance of the {@link DescribeCertificateRequest.Builder} avoiding the
* need to create one manually via {@link DescribeCertificateRequest#builder()}
*
*
* @param describeCertificateRequest
* A {@link Consumer} that will call methods on {@link DescribeCertificateRequest.Builder} to create a
* request.
* @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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.DescribeCertificate
* @see AWS API
* Documentation
*/
default DescribeCertificateResponse describeCertificate(
Consumer describeCertificateRequest) throws ResourceNotFoundException,
InvalidArnException, AwsServiceException, SdkClientException, AcmException {
return describeCertificate(DescribeCertificateRequest.builder().applyMutation(describeCertificateRequest).build());
}
/**
*
* Exports a private certificate issued by a private certificate authority (CA) for use anywhere. You can export the
* certificate, the certificate chain, and the encrypted private key associated with the public key embedded in the
* certificate. You must store the private key securely. The private key is a 2048 bit RSA key. You must provide a
* passphrase for the private key when exporting it. You can use the following OpenSSL command to decrypt it later.
* Provide the passphrase when prompted.
*
*
* openssl rsa -in encrypted_key.pem -out decrypted_key.pem
*
*
* @param exportCertificateRequest
* @return Result of the ExportCertificate 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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ExportCertificate
* @see AWS API
* Documentation
*/
default ExportCertificateResponse exportCertificate(ExportCertificateRequest exportCertificateRequest)
throws ResourceNotFoundException, RequestInProgressException, InvalidArnException, AwsServiceException,
SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* Exports a private certificate issued by a private certificate authority (CA) for use anywhere. You can export the
* certificate, the certificate chain, and the encrypted private key associated with the public key embedded in the
* certificate. You must store the private key securely. The private key is a 2048 bit RSA key. You must provide a
* passphrase for the private key when exporting it. You can use the following OpenSSL command to decrypt it later.
* Provide the passphrase when prompted.
*
*
* openssl rsa -in encrypted_key.pem -out decrypted_key.pem
*
*
*
* This is a convenience which creates an instance of the {@link ExportCertificateRequest.Builder} avoiding the need
* to create one manually via {@link ExportCertificateRequest#builder()}
*
*
* @param exportCertificateRequest
* A {@link Consumer} that will call methods on {@link ExportCertificateRequest.Builder} to create a request.
* @return Result of the ExportCertificate 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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ExportCertificate
* @see AWS API
* Documentation
*/
default ExportCertificateResponse exportCertificate(Consumer exportCertificateRequest)
throws ResourceNotFoundException, RequestInProgressException, InvalidArnException, AwsServiceException,
SdkClientException, AcmException {
return exportCertificate(ExportCertificateRequest.builder().applyMutation(exportCertificateRequest).build());
}
/**
*
* Retrieves a certificate specified by an ARN and its certificate chain . The chain is an ordered list of
* certificates that contains the end entity certificate, intermediate certificates of subordinate CAs, and the root
* certificate in that order. The certificate and certificate chain are base64 encoded. If you want to decode the
* certificate to see the individual fields, you can use OpenSSL.
*
*
* @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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.GetCertificate
* @see AWS API
* Documentation
*/
default GetCertificateResponse getCertificate(GetCertificateRequest getCertificateRequest) throws ResourceNotFoundException,
RequestInProgressException, InvalidArnException, AwsServiceException, SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* Retrieves a certificate specified by an ARN and its certificate chain . The chain is an ordered list of
* certificates that contains the end entity certificate, intermediate certificates of subordinate CAs, and the root
* certificate in that order. The certificate and certificate chain are base64 encoded. If you want to decode the
* certificate to see the individual fields, you can use OpenSSL.
*
*
*
* This is a convenience which creates an instance of the {@link GetCertificateRequest.Builder} avoiding the need to
* create one manually via {@link GetCertificateRequest#builder()}
*
*
* @param getCertificateRequest
* A {@link Consumer} that will call methods on {@link GetCertificateRequest.Builder} to create a request.
* @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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.GetCertificate
* @see AWS API
* Documentation
*/
default GetCertificateResponse getCertificate(Consumer getCertificateRequest)
throws ResourceNotFoundException, RequestInProgressException, InvalidArnException, AwsServiceException,
SdkClientException, AcmException {
return getCertificate(GetCertificateRequest.builder().applyMutation(getCertificateRequest).build());
}
/**
*
* 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.
*
*
*
* ACM does not provide managed
* renewal for certificates that you import.
*
*
*
* 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 certificate.
*
*
* -
*
* 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.
*
*
*
*
* This operation returns the Amazon Resource Name (ARN)
* of the imported certificate.
*
*
* @param importCertificateRequest
* @return Result of the ImportCertificate 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 LimitExceededException
* An ACM limit has been exceeded.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ImportCertificate
* @see AWS API
* Documentation
*/
default ImportCertificateResponse importCertificate(ImportCertificateRequest importCertificateRequest)
throws ResourceNotFoundException, LimitExceededException, AwsServiceException, SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* 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.
*
*
*
* ACM does not provide managed
* renewal for certificates that you import.
*
*
*
* 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 certificate.
*
*
* -
*
* 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.
*
*
*
*
* This operation returns the Amazon Resource Name (ARN)
* of the imported certificate.
*
*
*
* This is a convenience which creates an instance of the {@link ImportCertificateRequest.Builder} avoiding the need
* to create one manually via {@link ImportCertificateRequest#builder()}
*
*
* @param importCertificateRequest
* A {@link Consumer} that will call methods on {@link ImportCertificateRequest.Builder} to create a request.
* @return Result of the ImportCertificate 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 LimitExceededException
* An ACM limit has been exceeded.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ImportCertificate
* @see AWS API
* Documentation
*/
default ImportCertificateResponse importCertificate(Consumer importCertificateRequest)
throws ResourceNotFoundException, LimitExceededException, AwsServiceException, SdkClientException, AcmException {
return importCertificate(ImportCertificateRequest.builder().applyMutation(importCertificateRequest).build());
}
/**
*
* 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.
*
*
* @return Result of the ListCertificates operation returned by the service.
* @throws InvalidArgsException
* One or more of of request parameters specified is not valid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ListCertificates
* @see #listCertificates(ListCertificatesRequest)
* @see AWS API
* Documentation
*/
default ListCertificatesResponse listCertificates() throws InvalidArgsException, AwsServiceException, SdkClientException,
AcmException {
return listCertificates(ListCertificatesRequest.builder().build());
}
/**
*
* 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.
*
*
* @param listCertificatesRequest
* @return Result of the ListCertificates operation returned by the service.
* @throws InvalidArgsException
* One or more of of request parameters specified is not valid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ListCertificates
* @see AWS API
* Documentation
*/
default ListCertificatesResponse listCertificates(ListCertificatesRequest listCertificatesRequest)
throws InvalidArgsException, AwsServiceException, SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* 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.
*
*
*
* This is a convenience which creates an instance of the {@link ListCertificatesRequest.Builder} avoiding the need
* to create one manually via {@link ListCertificatesRequest#builder()}
*
*
* @param listCertificatesRequest
* A {@link Consumer} that will call methods on {@link ListCertificatesRequest.Builder} to create a request.
* @return Result of the ListCertificates operation returned by the service.
* @throws InvalidArgsException
* One or more of of request parameters specified is not valid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ListCertificates
* @see AWS API
* Documentation
*/
default ListCertificatesResponse listCertificates(Consumer listCertificatesRequest)
throws InvalidArgsException, AwsServiceException, SdkClientException, AcmException {
return listCertificates(ListCertificatesRequest.builder().applyMutation(listCertificatesRequest).build());
}
/**
*
* 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.
*
*
*
* This is a variant of {@link #listCertificates(software.amazon.awssdk.services.acm.model.ListCertificatesRequest)}
* operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will
* internally handle making service calls for you.
*
*
* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no
* guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response
* pages by making service calls until there are no pages left or your iteration stops. If there are errors in your
* request, you will see the failures only after you start iterating through the iterable.
*
*
*
* The following are few ways to iterate through the response pages:
*
* 1) Using a Stream
*
*
* {@code
* software.amazon.awssdk.services.acm.paginators.ListCertificatesIterable responses = client.listCertificatesPaginator(request);
* responses.stream().forEach(....);
* }
*
*
* 2) Using For loop
*
*
* {
* @code
* software.amazon.awssdk.services.acm.paginators.ListCertificatesIterable responses = client.listCertificatesPaginator(request);
* for (software.amazon.awssdk.services.acm.model.ListCertificatesResponse response : responses) {
* // do something;
* }
* }
*
*
* 3) Use iterator directly
*
*
* {@code
* software.amazon.awssdk.services.acm.paginators.ListCertificatesIterable responses = client.listCertificatesPaginator(request);
* responses.iterator().forEachRemaining(....);
* }
*
*
* Note: If you prefer to have control on service calls, use the
* {@link #listCertificates(software.amazon.awssdk.services.acm.model.ListCertificatesRequest)} operation.
*
*
* @return A custom iterable that can be used to iterate through all the response pages.
* @throws InvalidArgsException
* One or more of of request parameters specified is not valid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ListCertificates
* @see #listCertificatesPaginator(ListCertificatesRequest)
* @see AWS API
* Documentation
*/
default ListCertificatesIterable listCertificatesPaginator() throws InvalidArgsException, AwsServiceException,
SdkClientException, AcmException {
return listCertificatesPaginator(ListCertificatesRequest.builder().build());
}
/**
*
* 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.
*
*
*
* This is a variant of {@link #listCertificates(software.amazon.awssdk.services.acm.model.ListCertificatesRequest)}
* operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will
* internally handle making service calls for you.
*
*
* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no
* guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response
* pages by making service calls until there are no pages left or your iteration stops. If there are errors in your
* request, you will see the failures only after you start iterating through the iterable.
*
*
*
* The following are few ways to iterate through the response pages:
*
* 1) Using a Stream
*
*
* {@code
* software.amazon.awssdk.services.acm.paginators.ListCertificatesIterable responses = client.listCertificatesPaginator(request);
* responses.stream().forEach(....);
* }
*
*
* 2) Using For loop
*
*
* {
* @code
* software.amazon.awssdk.services.acm.paginators.ListCertificatesIterable responses = client.listCertificatesPaginator(request);
* for (software.amazon.awssdk.services.acm.model.ListCertificatesResponse response : responses) {
* // do something;
* }
* }
*
*
* 3) Use iterator directly
*
*
* {@code
* software.amazon.awssdk.services.acm.paginators.ListCertificatesIterable responses = client.listCertificatesPaginator(request);
* responses.iterator().forEachRemaining(....);
* }
*
*
* Note: If you prefer to have control on service calls, use the
* {@link #listCertificates(software.amazon.awssdk.services.acm.model.ListCertificatesRequest)} operation.
*
*
* @param listCertificatesRequest
* @return A custom iterable that can be used to iterate through all the response pages.
* @throws InvalidArgsException
* One or more of of request parameters specified is not valid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ListCertificates
* @see AWS API
* Documentation
*/
default ListCertificatesIterable listCertificatesPaginator(ListCertificatesRequest listCertificatesRequest)
throws InvalidArgsException, AwsServiceException, SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* 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.
*
*
*
* This is a variant of {@link #listCertificates(software.amazon.awssdk.services.acm.model.ListCertificatesRequest)}
* operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will
* internally handle making service calls for you.
*
*
* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no
* guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response
* pages by making service calls until there are no pages left or your iteration stops. If there are errors in your
* request, you will see the failures only after you start iterating through the iterable.
*
*
*
* The following are few ways to iterate through the response pages:
*
* 1) Using a Stream
*
*
* {@code
* software.amazon.awssdk.services.acm.paginators.ListCertificatesIterable responses = client.listCertificatesPaginator(request);
* responses.stream().forEach(....);
* }
*
*
* 2) Using For loop
*
*
* {
* @code
* software.amazon.awssdk.services.acm.paginators.ListCertificatesIterable responses = client.listCertificatesPaginator(request);
* for (software.amazon.awssdk.services.acm.model.ListCertificatesResponse response : responses) {
* // do something;
* }
* }
*
*
* 3) Use iterator directly
*
*
* {@code
* software.amazon.awssdk.services.acm.paginators.ListCertificatesIterable responses = client.listCertificatesPaginator(request);
* responses.iterator().forEachRemaining(....);
* }
*
*
* Note: If you prefer to have control on service calls, use the
* {@link #listCertificates(software.amazon.awssdk.services.acm.model.ListCertificatesRequest)} operation.
*
*
* This is a convenience which creates an instance of the {@link ListCertificatesRequest.Builder} avoiding the need
* to create one manually via {@link ListCertificatesRequest#builder()}
*
*
* @param listCertificatesRequest
* A {@link Consumer} that will call methods on {@link ListCertificatesRequest.Builder} to create a request.
* @return A custom iterable that can be used to iterate through all the response pages.
* @throws InvalidArgsException
* One or more of of request parameters specified is not valid.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ListCertificates
* @see AWS API
* Documentation
*/
default ListCertificatesIterable listCertificatesPaginator(Consumer listCertificatesRequest)
throws InvalidArgsException, AwsServiceException, SdkClientException, AcmException {
return listCertificatesPaginator(ListCertificatesRequest.builder().applyMutation(listCertificatesRequest).build());
}
/**
*
* 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.
*
*
* @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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ListTagsForCertificate
* @see AWS API
* Documentation
*/
default ListTagsForCertificateResponse listTagsForCertificate(ListTagsForCertificateRequest listTagsForCertificateRequest)
throws ResourceNotFoundException, InvalidArnException, AwsServiceException, SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* 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.
*
*
*
* This is a convenience which creates an instance of the {@link ListTagsForCertificateRequest.Builder} avoiding the
* need to create one manually via {@link ListTagsForCertificateRequest#builder()}
*
*
* @param listTagsForCertificateRequest
* A {@link Consumer} that will call methods on {@link ListTagsForCertificateRequest.Builder} to create a
* request.
* @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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ListTagsForCertificate
* @see AWS API
* Documentation
*/
default ListTagsForCertificateResponse listTagsForCertificate(
Consumer listTagsForCertificateRequest) throws ResourceNotFoundException,
InvalidArnException, AwsServiceException, SdkClientException, AcmException {
return listTagsForCertificate(ListTagsForCertificateRequest.builder().applyMutation(listTagsForCertificateRequest)
.build());
}
/**
*
* 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:
.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.RemoveTagsFromCertificate
* @see AWS
* API Documentation
*/
default RemoveTagsFromCertificateResponse removeTagsFromCertificate(
RemoveTagsFromCertificateRequest removeTagsFromCertificateRequest) throws ResourceNotFoundException,
InvalidArnException, InvalidTagException, AwsServiceException, SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* 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.
*
*
*
* This is a convenience which creates an instance of the {@link RemoveTagsFromCertificateRequest.Builder} avoiding
* the need to create one manually via {@link RemoveTagsFromCertificateRequest#builder()}
*
*
* @param removeTagsFromCertificateRequest
* A {@link Consumer} that will call methods on {@link RemoveTagsFromCertificateRequest.Builder} to create a
* request.
* @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:
.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.RemoveTagsFromCertificate
* @see AWS
* API Documentation
*/
default RemoveTagsFromCertificateResponse removeTagsFromCertificate(
Consumer removeTagsFromCertificateRequest)
throws ResourceNotFoundException, InvalidArnException, InvalidTagException, AwsServiceException, SdkClientException,
AcmException {
return removeTagsFromCertificate(RemoveTagsFromCertificateRequest.builder()
.applyMutation(removeTagsFromCertificateRequest).build());
}
/**
*
* Renews an eligable ACM certificate. At this time, only exported private certificates can be renewed with this
* operation. In order to renew your ACM PCA certificates with ACM, you must first grant the ACM service principal
* permission to do so. For more information, see Testing Managed Renewal in the
* ACM User Guide.
*
*
* @param renewCertificateRequest
* @return Result of the RenewCertificate 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 SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.RenewCertificate
* @see AWS API
* Documentation
*/
default RenewCertificateResponse renewCertificate(RenewCertificateRequest renewCertificateRequest)
throws ResourceNotFoundException, InvalidArnException, AwsServiceException, SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* Renews an eligable ACM certificate. At this time, only exported private certificates can be renewed with this
* operation. In order to renew your ACM PCA certificates with ACM, you must first grant the ACM service principal
* permission to do so. For more information, see Testing Managed Renewal in the
* ACM User Guide.
*
*
*
* This is a convenience which creates an instance of the {@link RenewCertificateRequest.Builder} avoiding the need
* to create one manually via {@link RenewCertificateRequest#builder()}
*
*
* @param renewCertificateRequest
* A {@link Consumer} that will call methods on {@link RenewCertificateRequest.Builder} to create a request.
* @return Result of the RenewCertificate 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 SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.RenewCertificate
* @see AWS API
* Documentation
*/
default RenewCertificateResponse renewCertificate(Consumer renewCertificateRequest)
throws ResourceNotFoundException, InvalidArnException, AwsServiceException, SdkClientException, AcmException {
return renewCertificate(RenewCertificateRequest.builder().applyMutation(renewCertificateRequest).build());
}
/**
*
* 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.
*
*
* @param requestCertificateRequest
* @return Result of the RequestCertificate operation returned by the service.
* @throws LimitExceededException
* An ACM limit has been exceeded.
* @throws InvalidDomainValidationOptionsException
* One or more values in the DomainValidationOption structure is incorrect.
* @throws InvalidArnException
* The requested Amazon Resource Name (ARN) does not refer to an existing resource.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.RequestCertificate
* @see AWS API
* Documentation
*/
default RequestCertificateResponse requestCertificate(RequestCertificateRequest requestCertificateRequest)
throws LimitExceededException, InvalidDomainValidationOptionsException, InvalidArnException, AwsServiceException,
SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* 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.
*
*
*
* This is a convenience which creates an instance of the {@link RequestCertificateRequest.Builder} avoiding the
* need to create one manually via {@link RequestCertificateRequest#builder()}
*
*
* @param requestCertificateRequest
* A {@link Consumer} that will call methods on {@link RequestCertificateRequest.Builder} to create a
* request.
* @return Result of the RequestCertificate operation returned by the service.
* @throws LimitExceededException
* An ACM limit has been exceeded.
* @throws InvalidDomainValidationOptionsException
* One or more values in the DomainValidationOption structure is incorrect.
* @throws InvalidArnException
* The requested Amazon Resource Name (ARN) does not refer to an existing resource.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.RequestCertificate
* @see AWS API
* Documentation
*/
default RequestCertificateResponse requestCertificate(Consumer requestCertificateRequest)
throws LimitExceededException, InvalidDomainValidationOptionsException, InvalidArnException, AwsServiceException,
SdkClientException, AcmException {
return requestCertificate(RequestCertificateRequest.builder().applyMutation(requestCertificateRequest).build());
}
/**
*
* 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.
*
*
* @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.
* @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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ResendValidationEmail
* @see AWS API
* Documentation
*/
default ResendValidationEmailResponse resendValidationEmail(ResendValidationEmailRequest resendValidationEmailRequest)
throws ResourceNotFoundException, InvalidStateException, InvalidArnException,
InvalidDomainValidationOptionsException, AwsServiceException, SdkClientException, AcmException {
throw new UnsupportedOperationException();
}
/**
*
* 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.
*
*
*
* This is a convenience which creates an instance of the {@link ResendValidationEmailRequest.Builder} avoiding the
* need to create one manually via {@link ResendValidationEmailRequest#builder()}
*
*
* @param resendValidationEmailRequest
* A {@link Consumer} that will call methods on {@link ResendValidationEmailRequest.Builder} to create a
* request.
* @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.
* @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.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.ResendValidationEmail
* @see AWS API
* Documentation
*/
default ResendValidationEmailResponse resendValidationEmail(
Consumer resendValidationEmailRequest) throws ResourceNotFoundException,
InvalidStateException, InvalidArnException, InvalidDomainValidationOptionsException, AwsServiceException,
SdkClientException, AcmException {
return resendValidationEmail(ResendValidationEmailRequest.builder().applyMutation(resendValidationEmailRequest).build());
}
/**
*
* 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.
*
*
* @param updateCertificateOptionsRequest
* @return 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.
* @throws LimitExceededException
* An ACM limit has been exceeded.
* @throws InvalidStateException
* Processing has reached an invalid state.
* @throws InvalidArnException
* The requested Amazon Resource Name (ARN) does not refer to an existing resource.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.UpdateCertificateOptions
* @see AWS
* API Documentation
*/
default UpdateCertificateOptionsResponse updateCertificateOptions(
UpdateCertificateOptionsRequest updateCertificateOptionsRequest) throws ResourceNotFoundException,
LimitExceededException, InvalidStateException, InvalidArnException, AwsServiceException, SdkClientException,
AcmException {
throw new UnsupportedOperationException();
}
/**
*
* 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.
*
*
*
* This is a convenience which creates an instance of the {@link UpdateCertificateOptionsRequest.Builder} avoiding
* the need to create one manually via {@link UpdateCertificateOptionsRequest#builder()}
*
*
* @param updateCertificateOptionsRequest
* A {@link Consumer} that will call methods on {@link UpdateCertificateOptionsRequest.Builder} to create a
* request.
* @return 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.
* @throws LimitExceededException
* An ACM limit has been exceeded.
* @throws InvalidStateException
* Processing has reached an invalid state.
* @throws InvalidArnException
* The requested Amazon Resource Name (ARN) does not refer to an existing resource.
* @throws SdkException
* Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for
* catch all scenarios.
* @throws SdkClientException
* If any client side error occurs such as an IO related failure, failure to get credentials, etc.
* @throws AcmException
* Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
* @sample AcmClient.UpdateCertificateOptions
* @see AWS
* API Documentation
*/
default UpdateCertificateOptionsResponse updateCertificateOptions(
Consumer updateCertificateOptionsRequest) throws ResourceNotFoundException,
LimitExceededException, InvalidStateException, InvalidArnException, AwsServiceException, SdkClientException,
AcmException {
return updateCertificateOptions(UpdateCertificateOptionsRequest.builder().applyMutation(updateCertificateOptionsRequest)
.build());
}
static ServiceMetadata serviceMetadata() {
return ServiceMetadata.of("acm");
}
}