Struct aws_sdk_acm::Client 
source · pub struct Client { /* private fields */ }Expand description
Client for AWS Certificate Manager
Client for invoking operations on AWS Certificate Manager. Each operation on AWS Certificate Manager is a method on this
this struct. .send() MUST be invoked on the generated operations to dispatch the request to the service.
Constructing a Client
A Config is required to construct a client. For most use cases, the aws-config
crate should be used to automatically resolve this config using
aws_config::load_from_env(), since this will resolve an SdkConfig which can be shared
across multiple different AWS SDK clients. This config resolution process can be customized
by calling aws_config::from_env() instead, which returns a ConfigLoader that uses
the builder pattern to customize the default config.
In the simplest case, creating a client looks as follows:
let config = aws_config::load_from_env().await;
let client = aws_sdk_acm::Client::new(&config);Occasionally, SDKs may have additional service-specific that can be set on the Config that
is absent from SdkConfig, or slightly different settings for a specific client may be desired.
The Config struct implements From<&SdkConfig>, so setting these specific settings can be
done as follows:
let sdk_config = ::aws_config::load_from_env().await;
let config = aws_sdk_acm::config::Builder::from(&sdk_config)
    .some_service_specific_setting("value")
    .build();See the aws-config docs and Config for more information on customizing configuration.
Note: Client construction is expensive due to connection thread pool initialization, and should be done once at application start-up.
Using the Client
A client has a function for every operation that can be performed by the service.
For example, the AddTagsToCertificate operation has
a Client::add_tags_to_certificate, function which returns a builder for that operation.
The fluent builder ultimately has a send() function that returns an async future that
returns a result, as illustrated below:
let result = client.add_tags_to_certificate()
    .certificate_arn("example")
    .send()
    .await;The underlying HTTP requests that get made by this can be modified with the customize_operation
function on the fluent builder. See the customize module for more
information.
Implementations§
source§impl Client
 
impl Client
Constructs a fluent builder for the AddTagsToCertificate operation.
- The fluent builder is configurable:
- certificate_arn(impl Into<String>)/- set_certificate_arn(Option<String>):
 required: true- String that contains the ARN of the ACM certificate to which the tag is to be applied. This must be of the form: - arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012- For more information about ARNs, see Amazon Resource Names (ARNs). 
- tags(Tag)/- set_tags(Option<Vec::<Tag>>):
 required: true- The key-value pair that defines the tag. The tag value is optional. 
 
- On success, responds with AddTagsToCertificateOutput
- On failure, responds with SdkError<AddTagsToCertificateError>
source§impl Client
 
impl Client
sourcepub fn delete_certificate(&self) -> DeleteCertificateFluentBuilder
 
pub fn delete_certificate(&self) -> DeleteCertificateFluentBuilder
Constructs a fluent builder for the DeleteCertificate operation.
- The fluent builder is configurable:
- certificate_arn(impl Into<String>)/- set_certificate_arn(Option<String>):
 required: true- String that contains the ARN of the ACM certificate to be deleted. This must be of the form: - arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012- For more information about ARNs, see Amazon Resource Names (ARNs). 
 
- On success, responds with DeleteCertificateOutput
- On failure, responds with SdkError<DeleteCertificateError>
source§impl Client
 
impl Client
sourcepub fn describe_certificate(&self) -> DescribeCertificateFluentBuilder
 
pub fn describe_certificate(&self) -> DescribeCertificateFluentBuilder
Constructs a fluent builder for the DescribeCertificate operation.
- The fluent builder is configurable:
- certificate_arn(impl Into<String>)/- set_certificate_arn(Option<String>):
 required: true- The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the following form: - arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012- For more information about ARNs, see Amazon Resource Names (ARNs). 
 
- On success, responds with DescribeCertificateOutputwith field(s):- certificate(Option<CertificateDetail>):- Metadata about an ACM certificate. 
 
- On failure, responds with SdkError<DescribeCertificateError>
source§impl Client
 
impl Client
sourcepub fn export_certificate(&self) -> ExportCertificateFluentBuilder
 
pub fn export_certificate(&self) -> ExportCertificateFluentBuilder
Constructs a fluent builder for the ExportCertificate operation.
- The fluent builder is configurable:
- certificate_arn(impl Into<String>)/- set_certificate_arn(Option<String>):
 required: true- An Amazon Resource Name (ARN) of the issued certificate. This must be of the form: - arn:aws:acm:region:account:certificate/12345678-1234-1234-1234-123456789012
- passphrase(Blob)/- set_passphrase(Option<Blob>):
 required: true- Passphrase to associate with the encrypted exported private key. - When creating your passphrase, you can use any ASCII character except #, $, or %. - If you want to later decrypt the private key, you must have the passphrase. You can use the following OpenSSL command to decrypt a private key. After entering the command, you are prompted for the passphrase. - openssl rsa -in encrypted_key.pem -out decrypted_key.pem
 
- On success, responds with ExportCertificateOutputwith field(s):- certificate(Option<String>):- The base64 PEM-encoded certificate. 
- certificate_chain(Option<String>):- The base64 PEM-encoded certificate chain. This does not include the certificate that you are exporting. 
- private_key(Option<String>):- The encrypted private key associated with the public key in the certificate. The key is output in PKCS #8 format and is base64 PEM-encoded. 
 
- On failure, responds with SdkError<ExportCertificateError>
source§impl Client
 
impl Client
sourcepub fn get_account_configuration(&self) -> GetAccountConfigurationFluentBuilder
 
pub fn get_account_configuration(&self) -> GetAccountConfigurationFluentBuilder
Constructs a fluent builder for the GetAccountConfiguration operation.
- The fluent builder takes no input, just sendit.
- On success, responds with GetAccountConfigurationOutputwith field(s):- expiry_events(Option<ExpiryEventsConfiguration>):- Expiration events configuration options associated with the Amazon Web Services account. 
 
- On failure, responds with SdkError<GetAccountConfigurationError>
source§impl Client
 
impl Client
sourcepub fn get_certificate(&self) -> GetCertificateFluentBuilder
 
pub fn get_certificate(&self) -> GetCertificateFluentBuilder
Constructs a fluent builder for the GetCertificate operation.
- The fluent builder is configurable:
- certificate_arn(impl Into<String>)/- set_certificate_arn(Option<String>):
 required: true- String that contains a certificate ARN in the following format: - arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012- For more information about ARNs, see Amazon Resource Names (ARNs). 
 
- On success, responds with GetCertificateOutputwith field(s):- certificate(Option<String>):- The ACM-issued certificate corresponding to the ARN specified as input. 
- certificate_chain(Option<String>):- Certificates forming the requested certificate’s chain of trust. The chain consists of the certificate of the issuing CA and the intermediate certificates of any other subordinate CAs. 
 
- On failure, responds with SdkError<GetCertificateError>
source§impl Client
 
impl Client
sourcepub fn import_certificate(&self) -> ImportCertificateFluentBuilder
 
pub fn import_certificate(&self) -> ImportCertificateFluentBuilder
Constructs a fluent builder for the ImportCertificate operation.
- The fluent builder is configurable:
- certificate_arn(impl Into<String>)/- set_certificate_arn(Option<String>):
 required: false- The Amazon Resource Name (ARN) of an imported certificate to replace. To import a new certificate, omit this field. 
- certificate(Blob)/- set_certificate(Option<Blob>):
 required: true- The certificate to import. 
- private_key(Blob)/- set_private_key(Option<Blob>):
 required: true- The private key that matches the public key in the certificate. 
- certificate_chain(Blob)/- set_certificate_chain(Option<Blob>):
 required: false- The PEM encoded certificate chain. 
- tags(Tag)/- set_tags(Option<Vec::<Tag>>):
 required: false- One or more resource tags to associate with the imported certificate. - Note: You cannot apply tags when reimporting a certificate. 
 
- On success, responds with ImportCertificateOutputwith field(s):- certificate_arn(Option<String>):- The Amazon Resource Name (ARN) of the imported certificate. 
 
- On failure, responds with SdkError<ImportCertificateError>
source§impl Client
 
impl Client
sourcepub fn list_certificates(&self) -> ListCertificatesFluentBuilder
 
pub fn list_certificates(&self) -> ListCertificatesFluentBuilder
Constructs a fluent builder for the ListCertificates operation.
This operation supports pagination; See into_paginator().
- The fluent builder is configurable:
- certificate_statuses(CertificateStatus)/- set_certificate_statuses(Option<Vec::<CertificateStatus>>):
 required: false- Filter the certificate list by status value. 
- includes(Filters)/- set_includes(Option<Filters>):
 required: false- Filter the certificate list. For more information, see the - Filtersstructure.
- next_token(impl Into<String>)/- set_next_token(Option<String>):
 required: false- Use this parameter only when paginating results and only in a subsequent request after you receive a response with truncated results. Set it to the value of - NextTokenfrom the response you just received.
- max_items(i32)/- set_max_items(Option<i32>):
 required: false- Use this parameter when paginating results to specify the maximum number of items to return in the response. If additional items exist beyond the number you specify, the - NextTokenelement is sent in the response. Use this- NextTokenvalue in a subsequent request to retrieve additional items.
- sort_by(SortBy)/- set_sort_by(Option<SortBy>):
 required: false- Specifies the field to sort results by. If you specify - SortBy, you must also specify- SortOrder.
- sort_order(SortOrder)/- set_sort_order(Option<SortOrder>):
 required: false- Specifies the order of sorted results. If you specify - SortOrder, you must also specify- SortBy.
 
- On success, responds with ListCertificatesOutputwith field(s):- next_token(Option<String>):- When the list is truncated, this value is present and contains the value to use for the - NextTokenparameter in a subsequent pagination request.
- certificate_summary_list(Option<Vec::<CertificateSummary>>):- A list of ACM certificates. 
 
- On failure, responds with SdkError<ListCertificatesError>
source§impl Client
 
impl Client
Constructs a fluent builder for the ListTagsForCertificate operation.
- The fluent builder is configurable:
- certificate_arn(impl Into<String>)/- set_certificate_arn(Option<String>):
 required: true- String that contains the ARN of the ACM certificate for which you want to list the tags. This must have the following form: - arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012- For more information about ARNs, see Amazon Resource Names (ARNs). 
 
- On success, responds with ListTagsForCertificateOutputwith field(s):- tags(Option<Vec::<Tag>>):- The key-value pairs that define the applied tags. 
 
- On failure, responds with SdkError<ListTagsForCertificateError>
source§impl Client
 
impl Client
sourcepub fn put_account_configuration(&self) -> PutAccountConfigurationFluentBuilder
 
pub fn put_account_configuration(&self) -> PutAccountConfigurationFluentBuilder
Constructs a fluent builder for the PutAccountConfiguration operation.
- The fluent builder is configurable:
- expiry_events(ExpiryEventsConfiguration)/- set_expiry_events(Option<ExpiryEventsConfiguration>):
 required: false- Specifies expiration events associated with an account. 
- idempotency_token(impl Into<String>)/- set_idempotency_token(Option<String>):
 required: true- Customer-chosen string used to distinguish between calls to - PutAccountConfiguration. Idempotency tokens time out after one hour. If you call- PutAccountConfigurationmultiple times with the same unexpired idempotency token, ACM treats it as the same request and returns the original result. If you change the idempotency token for each call, ACM treats each call as a new request.
 
- On success, responds with PutAccountConfigurationOutput
- On failure, responds with SdkError<PutAccountConfigurationError>
source§impl Client
 
impl Client
Constructs a fluent builder for the RemoveTagsFromCertificate operation.
- The fluent builder is configurable:
- certificate_arn(impl Into<String>)/- set_certificate_arn(Option<String>):
 required: true- String that contains the ARN of the ACM Certificate with one or more tags that you want to remove. This must be of the form: - arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012- For more information about ARNs, see Amazon Resource Names (ARNs). 
- tags(Tag)/- set_tags(Option<Vec::<Tag>>):
 required: true- The key-value pair that defines the tag to remove. 
 
- On success, responds with RemoveTagsFromCertificateOutput
- On failure, responds with SdkError<RemoveTagsFromCertificateError>
source§impl Client
 
impl Client
sourcepub fn renew_certificate(&self) -> RenewCertificateFluentBuilder
 
pub fn renew_certificate(&self) -> RenewCertificateFluentBuilder
Constructs a fluent builder for the RenewCertificate operation.
- The fluent builder is configurable:
- certificate_arn(impl Into<String>)/- set_certificate_arn(Option<String>):
 required: true- String that contains the ARN of the ACM certificate to be renewed. This must be of the form: - arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012- For more information about ARNs, see Amazon Resource Names (ARNs). 
 
- On success, responds with RenewCertificateOutput
- On failure, responds with SdkError<RenewCertificateError>
source§impl Client
 
impl Client
sourcepub fn request_certificate(&self) -> RequestCertificateFluentBuilder
 
pub fn request_certificate(&self) -> RequestCertificateFluentBuilder
Constructs a fluent builder for the RequestCertificate operation.
- The fluent builder is configurable:
- domain_name(impl Into<String>)/- set_domain_name(Option<String>):
 required: true- Fully qualified domain name (FQDN), such as www.example.com, that you want to secure with an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, *.example.com protects www.example.com, site.example.com, and images.example.com. - In compliance with RFC 5280, the length of the domain name (technically, the Common Name) that you provide cannot exceed 64 octets (characters), including periods. To add a longer domain name, specify it in the Subject Alternative Name field, which supports names up to 253 octets in length. 
- validation_method(ValidationMethod)/- set_validation_method(Option<ValidationMethod>):
 required: false- The method you want to use if you are requesting a public certificate to validate that you own or control domain. You can validate with DNS or validate with email. We recommend that you use DNS validation. 
- subject_alternative_names(impl Into<String>)/- set_subject_alternative_names(Option<Vec::<String>>):
 required: false- Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, add the name www.example.net to a certificate for which the - DomainNamefield is www.example.com if users can reach your site by using either name. The maximum number of domain names that you can add to an ACM certificate is 100. However, the initial quota is 10 domain names. If you need more than 10 names, you must request a quota increase. For more information, see Quotas.- The maximum length of a SAN DNS name is 253 octets. The name is made up of multiple labels separated by periods. No label can be longer than 63 octets. Consider the following examples: -  (63 octets).(63 octets).(63 octets).(61 octets)is legal because the total length is 253 octets (63+1+63+1+63+1+61) and no label exceeds 63 octets.
-  (64 octets).(63 octets).(63 octets).(61 octets)is not legal because the total length exceeds 253 octets (64+1+63+1+63+1+61) and the first label exceeds 63 octets.
-  (63 octets).(63 octets).(63 octets).(62 octets)is not legal because the total length of the DNS name (63+1+63+1+63+1+62) exceeds 253 octets.
 
-  
- idempotency_token(impl Into<String>)/- set_idempotency_token(Option<String>):
 required: false- Customer chosen string that can be used to distinguish between calls to - RequestCertificate. Idempotency tokens time out after one hour. Therefore, if you call- RequestCertificatemultiple times with the same idempotency token within one hour, ACM recognizes that you are requesting only one certificate and will issue only one. If you change the idempotency token for each call, ACM recognizes that you are requesting multiple certificates.
- domain_validation_options(DomainValidationOption)/- set_domain_validation_options(Option<Vec::<DomainValidationOption>>):
 required: false- The domain name that you want ACM to use to send you emails so that you can validate domain ownership. 
- options(CertificateOptions)/- set_options(Option<CertificateOptions>):
 required: false- Currently, you can use this parameter to specify whether to add the certificate to a certificate transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. For more information, see Opting Out of Certificate Transparency Logging. 
- certificate_authority_arn(impl Into<String>)/- set_certificate_authority_arn(Option<String>):
 required: false- The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the Amazon Web Services Private Certificate Authority user guide. The ARN must have the following form: - arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012
- tags(Tag)/- set_tags(Option<Vec::<Tag>>):
 required: false- One or more resource tags to associate with the certificate. 
- key_algorithm(KeyAlgorithm)/- set_key_algorithm(Option<KeyAlgorithm>):
 required: false- Specifies the algorithm of the public and private key pair that your certificate uses to encrypt data. RSA is the default key algorithm for ACM certificates. Elliptic Curve Digital Signature Algorithm (ECDSA) keys are smaller, offering security comparable to RSA keys but with greater computing efficiency. However, ECDSA is not supported by all network clients. Some AWS services may require RSA keys, or only support ECDSA keys of a particular size, while others allow the use of either RSA and ECDSA keys to ensure that compatibility is not broken. Check the requirements for the AWS service where you plan to deploy your certificate. - Default: RSA_2048 
 
- On success, responds with RequestCertificateOutputwith field(s):- certificate_arn(Option<String>):- String that contains the ARN of the issued certificate. This must be of the form: - arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012
 
- On failure, responds with SdkError<RequestCertificateError>
source§impl Client
 
impl Client
sourcepub fn resend_validation_email(&self) -> ResendValidationEmailFluentBuilder
 
pub fn resend_validation_email(&self) -> ResendValidationEmailFluentBuilder
Constructs a fluent builder for the ResendValidationEmail operation.
- The fluent builder is configurable:
- certificate_arn(impl Into<String>)/- set_certificate_arn(Option<String>):
 required: true- String that contains the ARN of the requested certificate. The certificate ARN is generated and returned by the - RequestCertificateaction as soon as the request is made. By default, using this parameter causes email to be sent to all top-level domains you specified in the certificate request. The ARN must be of the form:- arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012
- domain(impl Into<String>)/- set_domain(Option<String>):
 required: true- The fully qualified domain name (FQDN) of the certificate that needs to be validated. 
- validation_domain(impl Into<String>)/- set_validation_domain(Option<String>):
 required: true- The base validation domain that will act as the suffix of the email addresses that are used to send the emails. This must be the same as the - Domainvalue or a superdomain of the- Domainvalue. For example, if you requested a certificate for- site.subdomain.example.comand specify a ValidationDomain of- subdomain.example.com, ACM sends email to the domain registrant, technical contact, and administrative contact in WHOIS and the following five addresses:-  admin@subdomain.example.com 
-  administrator@subdomain.example.com 
-  hostmaster@subdomain.example.com 
-  postmaster@subdomain.example.com 
-  webmaster@subdomain.example.com 
 
-  
 
- On success, responds with ResendValidationEmailOutput
- On failure, responds with SdkError<ResendValidationEmailError>
source§impl Client
 
impl Client
sourcepub fn update_certificate_options(
    &self
) -> UpdateCertificateOptionsFluentBuilder
 
pub fn update_certificate_options( &self ) -> UpdateCertificateOptionsFluentBuilder
Constructs a fluent builder for the UpdateCertificateOptions operation.
- The fluent builder is configurable:
- certificate_arn(impl Into<String>)/- set_certificate_arn(Option<String>):
 required: true- ARN of the requested certificate to update. This must be of the form: - arn:aws:acm:us-east-1:account:certificate/12345678-1234-1234-1234-123456789012
- options(CertificateOptions)/- set_options(Option<CertificateOptions>):
 required: true- Use to update the options for your certificate. Currently, you can specify whether to add your certificate to a transparency log. Certificate transparency makes it possible to detect SSL/TLS certificates that have been mistakenly or maliciously issued. Certificates that have not been logged typically produce an error message in a browser. 
 
- On success, responds with UpdateCertificateOptionsOutput
- On failure, responds with SdkError<UpdateCertificateOptionsError>
source§impl Client
 
impl Client
sourcepub fn from_conf(conf: Config) -> Self
 
pub fn from_conf(conf: Config) -> Self
Creates a new client from the service Config.
Panics
This method will panic in the following cases:
- Retries or timeouts are enabled without a sleep_implconfigured.
- Identity caching is enabled without a sleep_implandtime_sourceconfigured.
The panic message for each of these will have instructions on how to resolve them.
source§impl Client
 
impl Client
sourcepub fn new(sdk_config: &SdkConfig) -> Self
 
pub fn new(sdk_config: &SdkConfig) -> Self
Creates a new client from an SDK Config.
Panics
- This method will panic if the sdk_configis missing an async sleep implementation. If you experience this panic, set thesleep_implon the Config passed into this function to fix it.
- This method will panic if the sdk_configis missing an HTTP connector. If you experience this panic, set thehttp_connectoron the Config passed into this function to fix it.