11from datetime import datetime
22from enum import StrEnum
3- from typing import List , Optional , TypedDict
3+ from typing import TypedDict
44
55from localstack .aws .api import RequestContext , ServiceException , ServiceRequest , handler
66
@@ -261,10 +261,10 @@ class ValidationException(ServiceException):
261261
262262class Tag (TypedDict , total = False ):
263263 Key : TagKey
264- Value : Optional [ TagValue ]
264+ Value : TagValue | None
265265
266266
267- TagList = List [Tag ]
267+ TagList = list [Tag ]
268268
269269
270270class AddTagsToCertificateRequest (ServiceRequest ):
@@ -277,29 +277,29 @@ class AddTagsToCertificateRequest(ServiceRequest):
277277
278278
279279class CertificateOptions (TypedDict , total = False ):
280- CertificateTransparencyLoggingPreference : Optional [ CertificateTransparencyLoggingPreference ]
281- Export : Optional [ CertificateExport ]
280+ CertificateTransparencyLoggingPreference : CertificateTransparencyLoggingPreference | None
281+ Export : CertificateExport | None
282282
283283
284284class ExtendedKeyUsage (TypedDict , total = False ):
285- Name : Optional [ ExtendedKeyUsageName ]
286- OID : Optional [ String ]
285+ Name : ExtendedKeyUsageName | None
286+ OID : String | None
287287
288288
289- ExtendedKeyUsageList = List [ExtendedKeyUsage ]
289+ ExtendedKeyUsageList = list [ExtendedKeyUsage ]
290290
291291
292292class KeyUsage (TypedDict , total = False ):
293- Name : Optional [ KeyUsageName ]
293+ Name : KeyUsageName | None
294294
295295
296- KeyUsageList = List [KeyUsage ]
296+ KeyUsageList = list [KeyUsage ]
297297TStamp = datetime
298298
299299
300300class HttpRedirect (TypedDict , total = False ):
301- RedirectFrom : Optional [ String ]
302- RedirectTo : Optional [ String ]
301+ RedirectFrom : String | None
302+ RedirectTo : String | None
303303
304304
305305class ResourceRecord (TypedDict , total = False ):
@@ -308,92 +308,92 @@ class ResourceRecord(TypedDict, total=False):
308308 Value : String
309309
310310
311- ValidationEmailList = List [String ]
311+ ValidationEmailList = list [String ]
312312
313313
314314class DomainValidation (TypedDict , total = False ):
315315 DomainName : DomainNameString
316- ValidationEmails : Optional [ ValidationEmailList ]
317- ValidationDomain : Optional [ DomainNameString ]
318- ValidationStatus : Optional [ DomainStatus ]
319- ResourceRecord : Optional [ ResourceRecord ]
320- HttpRedirect : Optional [ HttpRedirect ]
321- ValidationMethod : Optional [ ValidationMethod ]
316+ ValidationEmails : ValidationEmailList | None
317+ ValidationDomain : DomainNameString | None
318+ ValidationStatus : DomainStatus | None
319+ ResourceRecord : ResourceRecord | None
320+ HttpRedirect : HttpRedirect | None
321+ ValidationMethod : ValidationMethod | None
322322
323323
324- DomainValidationList = List [DomainValidation ]
324+ DomainValidationList = list [DomainValidation ]
325325
326326
327327class RenewalSummary (TypedDict , total = False ):
328328 RenewalStatus : RenewalStatus
329329 DomainValidationOptions : DomainValidationList
330- RenewalStatusReason : Optional [ FailureReason ]
330+ RenewalStatusReason : FailureReason | None
331331 UpdatedAt : TStamp
332332
333333
334- InUseList = List [String ]
335- DomainList = List [DomainNameString ]
334+ InUseList = list [String ]
335+ DomainList = list [DomainNameString ]
336336
337337
338338class CertificateDetail (TypedDict , total = False ):
339- CertificateArn : Optional [ Arn ]
340- DomainName : Optional [ DomainNameString ]
341- SubjectAlternativeNames : Optional [ DomainList ]
342- ManagedBy : Optional [ CertificateManagedBy ]
343- DomainValidationOptions : Optional [ DomainValidationList ]
344- Serial : Optional [ String ]
345- Subject : Optional [ String ]
346- Issuer : Optional [ String ]
347- CreatedAt : Optional [ TStamp ]
348- IssuedAt : Optional [ TStamp ]
349- ImportedAt : Optional [ TStamp ]
350- Status : Optional [ CertificateStatus ]
351- RevokedAt : Optional [ TStamp ]
352- RevocationReason : Optional [ RevocationReason ]
353- NotBefore : Optional [ TStamp ]
354- NotAfter : Optional [ TStamp ]
355- KeyAlgorithm : Optional [ KeyAlgorithm ]
356- SignatureAlgorithm : Optional [ String ]
357- InUseBy : Optional [ InUseList ]
358- FailureReason : Optional [ FailureReason ]
359- Type : Optional [ CertificateType ]
360- RenewalSummary : Optional [ RenewalSummary ]
361- KeyUsages : Optional [ KeyUsageList ]
362- ExtendedKeyUsages : Optional [ ExtendedKeyUsageList ]
363- CertificateAuthorityArn : Optional [ Arn ]
364- RenewalEligibility : Optional [ RenewalEligibility ]
365- Options : Optional [ CertificateOptions ]
366-
367-
368- CertificateStatuses = List [CertificateStatus ]
369- ExtendedKeyUsageNames = List [ExtendedKeyUsageName ]
370- KeyUsageNames = List [KeyUsageName ]
339+ CertificateArn : Arn | None
340+ DomainName : DomainNameString | None
341+ SubjectAlternativeNames : DomainList | None
342+ ManagedBy : CertificateManagedBy | None
343+ DomainValidationOptions : DomainValidationList | None
344+ Serial : String | None
345+ Subject : String | None
346+ Issuer : String | None
347+ CreatedAt : TStamp | None
348+ IssuedAt : TStamp | None
349+ ImportedAt : TStamp | None
350+ Status : CertificateStatus | None
351+ RevokedAt : TStamp | None
352+ RevocationReason : RevocationReason | None
353+ NotBefore : TStamp | None
354+ NotAfter : TStamp | None
355+ KeyAlgorithm : KeyAlgorithm | None
356+ SignatureAlgorithm : String | None
357+ InUseBy : InUseList | None
358+ FailureReason : FailureReason | None
359+ Type : CertificateType | None
360+ RenewalSummary : RenewalSummary | None
361+ KeyUsages : KeyUsageList | None
362+ ExtendedKeyUsages : ExtendedKeyUsageList | None
363+ CertificateAuthorityArn : Arn | None
364+ RenewalEligibility : RenewalEligibility | None
365+ Options : CertificateOptions | None
366+
367+
368+ CertificateStatuses = list [CertificateStatus ]
369+ ExtendedKeyUsageNames = list [ExtendedKeyUsageName ]
370+ KeyUsageNames = list [KeyUsageName ]
371371
372372
373373class CertificateSummary (TypedDict , total = False ):
374- CertificateArn : Optional [ Arn ]
375- DomainName : Optional [ DomainNameString ]
376- SubjectAlternativeNameSummaries : Optional [ DomainList ]
377- HasAdditionalSubjectAlternativeNames : Optional [ NullableBoolean ]
378- Status : Optional [ CertificateStatus ]
379- Type : Optional [ CertificateType ]
380- KeyAlgorithm : Optional [ KeyAlgorithm ]
381- KeyUsages : Optional [ KeyUsageNames ]
382- ExtendedKeyUsages : Optional [ ExtendedKeyUsageNames ]
383- ExportOption : Optional [ CertificateExport ]
384- InUse : Optional [ NullableBoolean ]
385- Exported : Optional [ NullableBoolean ]
386- RenewalEligibility : Optional [ RenewalEligibility ]
387- NotBefore : Optional [ TStamp ]
388- NotAfter : Optional [ TStamp ]
389- CreatedAt : Optional [ TStamp ]
390- IssuedAt : Optional [ TStamp ]
391- ImportedAt : Optional [ TStamp ]
392- RevokedAt : Optional [ TStamp ]
393- ManagedBy : Optional [ CertificateManagedBy ]
394-
395-
396- CertificateSummaryList = List [CertificateSummary ]
374+ CertificateArn : Arn | None
375+ DomainName : DomainNameString | None
376+ SubjectAlternativeNameSummaries : DomainList | None
377+ HasAdditionalSubjectAlternativeNames : NullableBoolean | None
378+ Status : CertificateStatus | None
379+ Type : CertificateType | None
380+ KeyAlgorithm : KeyAlgorithm | None
381+ KeyUsages : KeyUsageNames | None
382+ ExtendedKeyUsages : ExtendedKeyUsageNames | None
383+ ExportOption : CertificateExport | None
384+ InUse : NullableBoolean | None
385+ Exported : NullableBoolean | None
386+ RenewalEligibility : RenewalEligibility | None
387+ NotBefore : TStamp | None
388+ NotAfter : TStamp | None
389+ CreatedAt : TStamp | None
390+ IssuedAt : TStamp | None
391+ ImportedAt : TStamp | None
392+ RevokedAt : TStamp | None
393+ ManagedBy : CertificateManagedBy | None
394+
395+
396+ CertificateSummaryList = list [CertificateSummary ]
397397
398398
399399class DeleteCertificateRequest (ServiceRequest ):
@@ -405,19 +405,19 @@ class DescribeCertificateRequest(ServiceRequest):
405405
406406
407407class DescribeCertificateResponse (TypedDict , total = False ):
408- Certificate : Optional [ CertificateDetail ]
408+ Certificate : CertificateDetail | None
409409
410410
411411class DomainValidationOption (TypedDict , total = False ):
412412 DomainName : DomainNameString
413413 ValidationDomain : DomainNameString
414414
415415
416- DomainValidationOptionList = List [DomainValidationOption ]
416+ DomainValidationOptionList = list [DomainValidationOption ]
417417
418418
419419class ExpiryEventsConfiguration (TypedDict , total = False ):
420- DaysBeforeExpiry : Optional [ PositiveInteger ]
420+ DaysBeforeExpiry : PositiveInteger | None
421421
422422
423423PassphraseBlob = bytes
@@ -429,76 +429,76 @@ class ExportCertificateRequest(ServiceRequest):
429429
430430
431431class ExportCertificateResponse (TypedDict , total = False ):
432- Certificate : Optional [ CertificateBody ]
433- CertificateChain : Optional [ CertificateChain ]
434- PrivateKey : Optional [ PrivateKey ]
432+ Certificate : CertificateBody | None
433+ CertificateChain : CertificateChain | None
434+ PrivateKey : PrivateKey | None
435435
436436
437- ExtendedKeyUsageFilterList = List [ExtendedKeyUsageName ]
438- KeyAlgorithmList = List [KeyAlgorithm ]
439- KeyUsageFilterList = List [KeyUsageName ]
437+ ExtendedKeyUsageFilterList = list [ExtendedKeyUsageName ]
438+ KeyAlgorithmList = list [KeyAlgorithm ]
439+ KeyUsageFilterList = list [KeyUsageName ]
440440
441441
442442class Filters (TypedDict , total = False ):
443- extendedKeyUsage : Optional [ ExtendedKeyUsageFilterList ]
444- keyUsage : Optional [ KeyUsageFilterList ]
445- keyTypes : Optional [ KeyAlgorithmList ]
446- exportOption : Optional [ CertificateExport ]
447- managedBy : Optional [ CertificateManagedBy ]
443+ extendedKeyUsage : ExtendedKeyUsageFilterList | None
444+ keyUsage : KeyUsageFilterList | None
445+ keyTypes : KeyAlgorithmList | None
446+ exportOption : CertificateExport | None
447+ managedBy : CertificateManagedBy | None
448448
449449
450450class GetAccountConfigurationResponse (TypedDict , total = False ):
451- ExpiryEvents : Optional [ ExpiryEventsConfiguration ]
451+ ExpiryEvents : ExpiryEventsConfiguration | None
452452
453453
454454class GetCertificateRequest (ServiceRequest ):
455455 CertificateArn : Arn
456456
457457
458458class GetCertificateResponse (TypedDict , total = False ):
459- Certificate : Optional [ CertificateBody ]
460- CertificateChain : Optional [ CertificateChain ]
459+ Certificate : CertificateBody | None
460+ CertificateChain : CertificateChain | None
461461
462462
463463PrivateKeyBlob = bytes
464464
465465
466466class ImportCertificateRequest (ServiceRequest ):
467- CertificateArn : Optional [ Arn ]
467+ CertificateArn : Arn | None
468468 Certificate : CertificateBodyBlob
469469 PrivateKey : PrivateKeyBlob
470- CertificateChain : Optional [ CertificateChainBlob ]
471- Tags : Optional [ TagList ]
470+ CertificateChain : CertificateChainBlob | None
471+ Tags : TagList | None
472472
473473
474474class ImportCertificateResponse (TypedDict , total = False ):
475- CertificateArn : Optional [ Arn ]
475+ CertificateArn : Arn | None
476476
477477
478478class ListCertificatesRequest (ServiceRequest ):
479- CertificateStatuses : Optional [ CertificateStatuses ]
480- Includes : Optional [ Filters ]
481- NextToken : Optional [ NextToken ]
482- MaxItems : Optional [ MaxItems ]
483- SortBy : Optional [ SortBy ]
484- SortOrder : Optional [ SortOrder ]
479+ CertificateStatuses : CertificateStatuses | None
480+ Includes : Filters | None
481+ NextToken : NextToken | None
482+ MaxItems : MaxItems | None
483+ SortBy : SortBy | None
484+ SortOrder : SortOrder | None
485485
486486
487487class ListCertificatesResponse (TypedDict , total = False ):
488- NextToken : Optional [ NextToken ]
489- CertificateSummaryList : Optional [ CertificateSummaryList ]
488+ NextToken : NextToken | None
489+ CertificateSummaryList : CertificateSummaryList | None
490490
491491
492492class ListTagsForCertificateRequest (ServiceRequest ):
493493 CertificateArn : Arn
494494
495495
496496class ListTagsForCertificateResponse (TypedDict , total = False ):
497- Tags : Optional [ TagList ]
497+ Tags : TagList | None
498498
499499
500500class PutAccountConfigurationRequest (ServiceRequest ):
501- ExpiryEvents : Optional [ ExpiryEventsConfiguration ]
501+ ExpiryEvents : ExpiryEventsConfiguration | None
502502 IdempotencyToken : IdempotencyToken
503503
504504
@@ -513,19 +513,19 @@ class RenewCertificateRequest(ServiceRequest):
513513
514514class RequestCertificateRequest (ServiceRequest ):
515515 DomainName : DomainNameString
516- ValidationMethod : Optional [ ValidationMethod ]
517- SubjectAlternativeNames : Optional [ DomainList ]
518- IdempotencyToken : Optional [ IdempotencyToken ]
519- DomainValidationOptions : Optional [ DomainValidationOptionList ]
520- Options : Optional [ CertificateOptions ]
521- CertificateAuthorityArn : Optional [ PcaArn ]
522- Tags : Optional [ TagList ]
523- KeyAlgorithm : Optional [ KeyAlgorithm ]
524- ManagedBy : Optional [ CertificateManagedBy ]
516+ ValidationMethod : ValidationMethod | None
517+ SubjectAlternativeNames : DomainList | None
518+ IdempotencyToken : IdempotencyToken | None
519+ DomainValidationOptions : DomainValidationOptionList | None
520+ Options : CertificateOptions | None
521+ CertificateAuthorityArn : PcaArn | None
522+ Tags : TagList | None
523+ KeyAlgorithm : KeyAlgorithm | None
524+ ManagedBy : CertificateManagedBy | None
525525
526526
527527class RequestCertificateResponse (TypedDict , total = False ):
528- CertificateArn : Optional [ Arn ]
528+ CertificateArn : Arn | None
529529
530530
531531class ResendValidationEmailRequest (ServiceRequest ):
@@ -540,7 +540,7 @@ class RevokeCertificateRequest(ServiceRequest):
540540
541541
542542class RevokeCertificateResponse (TypedDict , total = False ):
543- CertificateArn : Optional [ Arn ]
543+ CertificateArn : Arn | None
544544
545545
546546class UpdateCertificateOptionsRequest (ServiceRequest ):
@@ -549,8 +549,8 @@ class UpdateCertificateOptionsRequest(ServiceRequest):
549549
550550
551551class AcmApi :
552- service = "acm"
553- version = "2015-12-08"
552+ service : str = "acm"
553+ version : str = "2015-12-08"
554554
555555 @handler ("AddTagsToCertificate" )
556556 def add_tags_to_certificate (
0 commit comments