API Reference

PREVIEW DOCUMENTATION - This is a preview of a new format for the AWS SDK for Go API Reference documentation. For the current AWS SDK for Go API Reference, see

We welcome your feedback on this new version of the documentation. Send your comments to


import ""

type RequestCertificateInput struct { CertificateAuthorityArn *string `min:"20" type:"string"` DomainName *string `min:"1" type:"string" required:"true"` DomainValidationOptions []*DomainValidationOption `min:"1" type:"list"` IdempotencyToken *string `min:"1" type:"string"` Options *CertificateOptions `type:"structure"` SubjectAlternativeNames []*string `min:"1" type:"list"` ValidationMethod *string `type:"string" enum:"ValidationMethod"` }


Type: *string

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 AWS Certificate Manager Private Certificate Authority (PCA) ( user guide. The ARN must have the following form:



Type: *string

Fully qualified domain name (FQDN), such as, 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, * protects,, and

The first domain name you enter cannot exceed 63 octets, including periods. Each subsequent Subject Alternative Name (SAN), however, can be up to 253 octets in length.

DomainName is a required field


Contains information about the domain names that you want ACM to use to send you emails that enable you to validate domain ownership.


Type: *string

Customer chosen string that can be used to distinguish between calls to RequestCertificate. Idempotency tokens time out after one hour. Therefore, if you call RequestCertificate multiple 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.


Structure that contains options for your certificate. Currently, you can use this only to specify whether to opt in to or out of certificate transparency logging. Some browsers require that public certificates issued for your domain be recorded in a log. Certificates that are not logged typically generate a browser error. Transparency makes it possible for you to detect SSL/TLS certificates that have been mistakenly or maliciously issued for your domain. For general information, see Certificate Transparency Logging (


Type: []*string

Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, add the name to a certificate for which the DomainName field is 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 limit is 10 domain names. If you need more than 10 names, you must request a limit increase. For more information, see Limits (

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.


Type: *string

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.



func (s RequestCertificateInput) GoString() string

GoString returns the string representation


func (s *RequestCertificateInput) SetCertificateAuthorityArn(v string) *RequestCertificateInput

SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.


func (s *RequestCertificateInput) SetDomainName(v string) *RequestCertificateInput

SetDomainName sets the DomainName field's value.


func (s *RequestCertificateInput) SetDomainValidationOptions(v []*DomainValidationOption) *RequestCertificateInput

SetDomainValidationOptions sets the DomainValidationOptions field's value.


func (s *RequestCertificateInput) SetIdempotencyToken(v string) *RequestCertificateInput

SetIdempotencyToken sets the IdempotencyToken field's value.


func (s *RequestCertificateInput) SetOptions(v *CertificateOptions) *RequestCertificateInput

SetOptions sets the Options field's value.


func (s *RequestCertificateInput) SetSubjectAlternativeNames(v []*string) *RequestCertificateInput

SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.


func (s *RequestCertificateInput) SetValidationMethod(v string) *RequestCertificateInput

SetValidationMethod sets the ValidationMethod field's value.


func (s RequestCertificateInput) String() string

String returns the string representation


func (s *RequestCertificateInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

On this page: