Skip to content

Commit 6581ea3

Browse files
AWS Certificate Manager: This change allows customers to update their existing email-validated certificates to use the DNS validation method.
1 parent ac8b057 commit 6581ea3

3 files changed

Lines changed: 209 additions & 3 deletions

File tree

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"type": "feature",
3+
"category": "AWS Certificate Manager",
4+
"contributor": "",
5+
"description": "This change allows customers to update their existing email-validated certificates to use the DNS validation method."
6+
}

services/acm/src/main/resources/codegen-resources/paginators-1.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@
2424
"limit_key": "MaxResults",
2525
"result_key": "ExternalAccountBindings"
2626
},
27+
"ListCertificateDomainValidations": {
28+
"input_token": "NextToken",
29+
"output_token": "NextToken",
30+
"limit_key": "MaxItems",
31+
"result_key": "DomainValidationSummaryList"
32+
},
2733
"ListCertificates": {
2834
"input_token": "NextToken",
2935
"output_token": "NextToken",

services/acm/src/main/resources/codegen-resources/service-2.json

Lines changed: 197 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,26 @@
470470
"ServiceType":{"value":"ACM-ACME"}
471471
}
472472
},
473+
"ListCertificateDomainValidations":{
474+
"name":"ListCertificateDomainValidations",
475+
"http":{
476+
"method":"POST",
477+
"requestUri":"/"
478+
},
479+
"input":{"shape":"ListCertificateDomainValidationsRequest"},
480+
"output":{"shape":"ListCertificateDomainValidationsResponse"},
481+
"errors":[
482+
{"shape":"InvalidArgsException"},
483+
{"shape":"AccessDeniedException"},
484+
{"shape":"ResourceNotFoundException"},
485+
{"shape":"ThrottlingException"}
486+
],
487+
"documentation":"<p>Returns per-domain validation summaries for an ACM certificate. Each summary includes the domain name, the active validation configuration, and the requested validation configuration when a validation method migration is in progress. You can use the results to monitor the progress of an email-to-DNS validation migration and to retrieve the CNAME records required for DNS validation.</p>",
488+
"readonly":true,
489+
"staticContextParams":{
490+
"ServiceType":{"value":"ACM"}
491+
}
492+
},
473493
"ListCertificates":{
474494
"name":"ListCertificates",
475495
"http":{
@@ -787,12 +807,13 @@
787807
"input":{"shape":"UpdateCertificateOptionsRequest"},
788808
"errors":[
789809
{"shape":"InvalidArnException"},
810+
{"shape":"ConflictException"},
790811
{"shape":"LimitExceededException"},
791812
{"shape":"ValidationException"},
792813
{"shape":"InvalidStateException"},
793814
{"shape":"ResourceNotFoundException"}
794815
],
795-
"documentation":"<p>Updates a certificate. You can use this function to specify whether to export your certificate. Certificate transparency logging opt-out is no longer available. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-transparency\">Certificate Transparency Logging</a> and <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-exportable-certificates.html\">Certificate Manager Exportable Managed Certificates</a>.</p>",
816+
"documentation":"<p>Updates certificate options. You can use this operation to change the domain validation method or specify whether to export your certificate. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/email-to-dns-migration.html\">Migrate from email to DNS validation</a> and <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-exportable-certificates.html\">Certificate Manager Exportable Managed Certificates</a>.</p>",
796817
"staticContextParams":{
797818
"ServiceType":{"value":"ACM"}
798819
}
@@ -1354,6 +1375,12 @@
13541375
"pattern":"arn:[\\w+=/,.@-]+:acm:[\\w+=/,.@-]*:[0-9]+:[\\w+=,.@-]+(/[\\w+=,.@-]+)*"
13551376
},
13561377
"AvailabilityErrorMessage":{"type":"string"},
1378+
"CertificateArn":{
1379+
"type":"string",
1380+
"max":2048,
1381+
"min":20,
1382+
"pattern":"arn:[\\w+=/,.@-]+:acm:[\\w+=/,.@-]*:[0-9]+:certificate/[\\w+=,.@-]+.*"
1383+
},
13571384
"CertificateAuthority":{
13581385
"type":"structure",
13591386
"members":{
@@ -1498,6 +1525,10 @@
14981525
"shape":"CertificateOptions",
14991526
"documentation":"<p>Contains the certificate options. Certificate transparency logging opt-out is no longer available. All public certificates are recorded in a certificate transparency log.</p>"
15001527
},
1528+
"UpdateSummary":{
1529+
"shape":"UpdateSummary",
1530+
"documentation":"<p>Contains information about the most recent update to the certificate. This field exists only when the certificate type is <code>AMAZON_ISSUED</code> and a certificate update has been requested.</p>"
1531+
},
15011532
"CertificateKeyPairOrigin":{
15021533
"shape":"CertificateKeyPairOrigin",
15031534
"documentation":"<p>The origin of the certificate's key pair.</p>"
@@ -1613,9 +1644,13 @@
16131644
"Export":{
16141645
"shape":"CertificateExport",
16151646
"documentation":"<p>You can opt in to allow the export of your certificates by specifying <code>ENABLED</code>. You cannot update the value of <code>Export</code> after the the certificate is created.</p>"
1647+
},
1648+
"ValidationMethod":{
1649+
"shape":"ValidationMethod",
1650+
"documentation":"<p>The domain validation method for the certificate. To migrate from email to DNS validation, specify <code>DNS</code>.</p>"
16161651
}
16171652
},
1618-
"documentation":"<p>Structure that contains options for your certificate. You can use this structure to specify whether to export your certificate.</p> <p>Certificate transparency logging opt-out is no longer available. All public certificates are recorded in a certificate transparency log. For general information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-transparency\">Certificate Transparency Logging</a>.</p> <p>You can export public ACM certificates to use with Amazon Web Services services as well as outside Amazon Web Services Cloud. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-exportable-certificates.html\">Certificate Manager exportable public certificate</a>.</p>"
1653+
"documentation":"<p>Structure that contains options for your certificate. You can use this structure to change the domain validation method or specify whether to export your certificate.</p> <p>All public certificates are recorded in a certificate transparency log. For general information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-transparency\">Certificate Transparency Logging</a>.</p> <p>You can export public ACM certificates to use with Amazon Web Services services as well as outside Amazon Web Services Cloud. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-exportable-certificates.html\">Certificate Manager exportable public certificate</a>.</p>"
16191654
},
16201655
"CertificateSearchResult":{
16211656
"type":"structure",
@@ -2213,6 +2248,16 @@
22132248
},
22142249
"documentation":"<p>DNS prevalidation options for domain validation.</p>"
22152250
},
2251+
"DnsValidationChallenge":{
2252+
"type":"structure",
2253+
"members":{
2254+
"ResourceRecord":{
2255+
"shape":"ResourceRecord",
2256+
"documentation":"<p>The CNAME record that ACM creates for DNS validation. Add this record to your DNS configuration to prove that you own or control the domain.</p>"
2257+
}
2258+
},
2259+
"documentation":"<p>Contains the CNAME record that you must add to your DNS configuration to validate domain ownership using DNS validation.</p>"
2260+
},
22162261
"DomainComponentList":{
22172262
"type":"list",
22182263
"member":{"shape":"String"},
@@ -2310,6 +2355,20 @@
23102355
"max":1000,
23112356
"min":1
23122357
},
2358+
"DomainValidationMethodUpdateSummary":{
2359+
"type":"structure",
2360+
"members":{
2361+
"From":{
2362+
"shape":"ValidationMethod",
2363+
"documentation":"<p>The validation method that the certificate was using before the update.</p>"
2364+
},
2365+
"To":{
2366+
"shape":"ValidationMethod",
2367+
"documentation":"<p>The target validation method for the update.</p>"
2368+
}
2369+
},
2370+
"documentation":"<p>Contains information about a domain validation method migration, including the previous validation method and the target validation method.</p>"
2371+
},
23132372
"DomainValidationOption":{
23142373
"type":"structure",
23152374
"required":[
@@ -2334,6 +2393,43 @@
23342393
"max":100,
23352394
"min":1
23362395
},
2396+
"DomainValidationSummary":{
2397+
"type":"structure",
2398+
"required":["DomainName"],
2399+
"members":{
2400+
"DomainName":{
2401+
"shape":"DomainNameString",
2402+
"documentation":"<p>The fully qualified domain name (FQDN) in the certificate for which this validation summary applies.</p>"
2403+
},
2404+
"ActiveValidationConfiguration":{
2405+
"shape":"ValidationConfiguration",
2406+
"documentation":"<p>The validation configuration currently in effect for this domain. This reflects the validation method that ACM is currently using to validate domain ownership (for example, email or DNS).</p>"
2407+
},
2408+
"RequestedValidationConfiguration":{
2409+
"shape":"ValidationConfiguration",
2410+
"documentation":"<p>The validation configuration for a pending validation method migration. This field is present only when a migration is in progress (for example, from email to DNS validation). It contains the target validation method, the current validation status, and the validation challenge details (such as the CNAME record to add to your DNS configuration).</p>"
2411+
}
2412+
},
2413+
"documentation":"<p>Contains per-domain validation information for a certificate. This structure is returned as a member of the <a>ListCertificateDomainValidations</a> response.</p>"
2414+
},
2415+
"DomainValidationSummaryList":{
2416+
"type":"list",
2417+
"member":{"shape":"DomainValidationSummary"}
2418+
},
2419+
"EmailValidationChallenge":{
2420+
"type":"structure",
2421+
"members":{
2422+
"ValidationEmails":{
2423+
"shape":"ValidationEmailList",
2424+
"documentation":"<p>A list of email addresses that ACM uses to send domain validation emails.</p>"
2425+
},
2426+
"ValidationDomain":{
2427+
"shape":"DomainNameString",
2428+
"documentation":"<p>The domain name that ACM uses to send validation emails.</p>"
2429+
}
2430+
},
2431+
"documentation":"<p>Contains the email addresses used for email-based domain validation.</p>"
2432+
},
23372433
"Expiration":{
23382434
"type":"structure",
23392435
"required":[
@@ -2937,6 +3033,37 @@
29373033
}
29383034
}
29393035
},
3036+
"ListCertificateDomainValidationsRequest":{
3037+
"type":"structure",
3038+
"required":["CertificateArn"],
3039+
"members":{
3040+
"CertificateArn":{
3041+
"shape":"CertificateArn",
3042+
"documentation":"<p>The Amazon Resource Name (ARN) of the certificate for which to list domain validation summaries.</p>"
3043+
},
3044+
"NextToken":{
3045+
"shape":"NextToken",
3046+
"documentation":"<p>A token returned by a previous call to <code>ListCertificateDomainValidations</code>. If the number of results exceeds <code>MaxItems</code>, use this token to retrieve the next page of results.</p>"
3047+
},
3048+
"MaxItems":{
3049+
"shape":"MaxItems",
3050+
"documentation":"<p>The maximum number of domain validation summaries to return. If you don't specify a value, the default is 1000.</p>"
3051+
}
3052+
}
3053+
},
3054+
"ListCertificateDomainValidationsResponse":{
3055+
"type":"structure",
3056+
"members":{
3057+
"DomainValidationSummaryList":{
3058+
"shape":"DomainValidationSummaryList",
3059+
"documentation":"<p>A list of <a>DomainValidationSummary</a> objects, one for each domain on the certificate. Each object contains the domain name and its active and requested validation configurations.</p>"
3060+
},
3061+
"NextToken":{
3062+
"shape":"NextToken",
3063+
"documentation":"<p>If the number of results exceeds <code>MaxItems</code>, this token is included in the response. Use this token in a subsequent <code>ListCertificateDomainValidations</code> request to retrieve the next page of results.</p>"
3064+
}
3065+
}
3066+
},
29403067
"ListCertificatesRequest":{
29413068
"type":"structure",
29423069
"members":{
@@ -3740,10 +3867,77 @@
37403867
},
37413868
"Options":{
37423869
"shape":"CertificateOptions",
3743-
"documentation":"<p>Use to update the options for your certificate. Currently, you can specify whether to export your certificate. Certificate transparency logging opt-out is no longer available. All public certificates are recorded in a certificate transparency log. For more information, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/acm-concepts.html#concept-transparency\">Certificate Transparency Logging</a>.</p>"
3870+
"documentation":"<p>Use to update the options for your certificate. Currently, you can change the domain validation method or specify whether to export your certificate. For more information about migrating from email to DNS validation, see <a href=\"https://docs.aws.amazon.com/acm/latest/userguide/email-to-dns-migration.html\">Migrate from email to DNS validation</a>.</p>"
37443871
}
37453872
}
37463873
},
3874+
"UpdateStatus":{
3875+
"type":"string",
3876+
"documentation":"<p>The status of a certificate update. Possible values:</p> <ul> <li> <p> <code>PENDING_DOMAIN_VALIDATION</code> – The update is waiting for domain validation to complete.</p> </li> <li> <p> <code>SUCCESS</code> – The update completed successfully.</p> </li> <li> <p> <code>FAILED</code> – The update failed.</p> </li> </ul>",
3877+
"enum":[
3878+
"PENDING_DOMAIN_VALIDATION",
3879+
"SUCCESS",
3880+
"FAILED"
3881+
]
3882+
},
3883+
"UpdateSummary":{
3884+
"type":"structure",
3885+
"members":{
3886+
"Status":{
3887+
"shape":"UpdateStatus",
3888+
"documentation":"<p>The status of the certificate update. The following are valid values:</p> <ul> <li> <p> <code>PENDING_DOMAIN_VALIDATION</code> – The certificate update is waiting for domain ownership validation to complete.</p> </li> <li> <p> <code>SUCCESS</code> – The certificate was updated successfully.</p> </li> <li> <p> <code>FAILED</code> – The certificate update failed.</p> </li> </ul>"
3889+
},
3890+
"Type":{
3891+
"shape":"UpdateType",
3892+
"documentation":"<p>The type of update that was requested for the certificate. The following are valid values:</p> <ul> <li> <p> <code>DOMAIN_VALIDATION_METHOD</code> – The update changes the domain validation method for the certificate.</p> </li> </ul>"
3893+
},
3894+
"DomainValidationMethodUpdateSummary":{
3895+
"shape":"DomainValidationMethodUpdateSummary",
3896+
"documentation":"<p>Contains information about a domain validation method migration, including the previous and target validation methods.</p>"
3897+
},
3898+
"RequestedAt":{
3899+
"shape":"TStamp",
3900+
"documentation":"<p>The time at which the certificate update was requested.</p>"
3901+
},
3902+
"UpdatedAt":{
3903+
"shape":"TStamp",
3904+
"documentation":"<p>The time at which the certificate update status was last changed.</p>"
3905+
}
3906+
},
3907+
"documentation":"<p>Contains information about the most recent certificate update, such as a domain validation method migration. This structure is returned as part of the <a>CertificateDetail</a> response from <a>DescribeCertificate</a>.</p>"
3908+
},
3909+
"UpdateType":{
3910+
"type":"string",
3911+
"documentation":"<p>The type of certificate update. Valid values:</p> <ul> <li> <p> <code>DOMAIN_VALIDATION_METHOD</code> – A change to the domain validation method for the certificate.</p> </li> </ul>",
3912+
"enum":["DOMAIN_VALIDATION_METHOD"]
3913+
},
3914+
"ValidationChallenge":{
3915+
"type":"structure",
3916+
"members":{
3917+
"EmailValidationChallenge":{"shape":"EmailValidationChallenge"},
3918+
"DnsValidationChallenge":{"shape":"DnsValidationChallenge"}
3919+
},
3920+
"documentation":"<p>Contains the challenge details that you use to prove domain ownership. Only one member is set, depending on the validation method.</p>",
3921+
"union":true
3922+
},
3923+
"ValidationConfiguration":{
3924+
"type":"structure",
3925+
"members":{
3926+
"ValidationMethod":{
3927+
"shape":"ValidationMethod",
3928+
"documentation":"<p>The validation method for this configuration. Valid values:</p> <ul> <li> <p> <code>DNS</code> – Validation using a CNAME record added to your DNS configuration.</p> </li> <li> <p> <code>EMAIL</code> – Validation using an approval email sent to domain contacts.</p> </li> <li> <p> <code>HTTP</code> – Validation using an HTTP resource placed on your web server.</p> </li> </ul>"
3929+
},
3930+
"ValidationChallenge":{
3931+
"shape":"ValidationChallenge",
3932+
"documentation":"<p>The validation challenge details for this configuration. The structure varies by validation method: for DNS validation, contains a <code>DnsValidationChallenge</code> with the CNAME record to add; for email validation, contains an <code>EmailValidationChallenge</code> with the validation email addresses.</p>"
3933+
},
3934+
"ValidationStatus":{
3935+
"shape":"DomainStatus",
3936+
"documentation":"<p>The validation status for this domain. Valid values:</p> <ul> <li> <p> <code>PENDING_VALIDATION</code> – The domain is waiting for validation to complete.</p> </li> <li> <p> <code>SUCCESS</code> – Validation completed successfully.</p> </li> <li> <p> <code>FAILED</code> – Validation failed.</p> </li> </ul>"
3937+
}
3938+
},
3939+
"documentation":"<p>Contains the validation method, validation status, and validation challenge details for a domain. This structure appears in <a>DomainValidationSummary</a> as both the active and requested validation configuration.</p>"
3940+
},
37473941
"ValidationEmailList":{
37483942
"type":"list",
37493943
"member":{"shape":"String"}

0 commit comments

Comments
 (0)