localstack-core 4.7.1.dev139__py3-none-any.whl → 4.10.1.dev42__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of localstack-core might be problematic. Click here for more details.

Files changed (208) hide show
  1. localstack/aws/api/acm/__init__.py +122 -122
  2. localstack/aws/api/apigateway/__init__.py +560 -559
  3. localstack/aws/api/cloudcontrol/__init__.py +63 -63
  4. localstack/aws/api/cloudformation/__init__.py +1041 -969
  5. localstack/aws/api/cloudwatch/__init__.py +408 -368
  6. localstack/aws/api/config/__init__.py +788 -786
  7. localstack/aws/api/core.py +4 -0
  8. localstack/aws/api/dynamodb/__init__.py +753 -759
  9. localstack/aws/api/dynamodbstreams/__init__.py +74 -74
  10. localstack/aws/api/ec2/__init__.py +9713 -8573
  11. localstack/aws/api/es/__init__.py +453 -453
  12. localstack/aws/api/events/__init__.py +552 -552
  13. localstack/aws/api/firehose/__init__.py +541 -543
  14. localstack/aws/api/iam/__init__.py +646 -572
  15. localstack/aws/api/kinesis/__init__.py +251 -144
  16. localstack/aws/api/kms/__init__.py +343 -333
  17. localstack/aws/api/lambda_/__init__.py +585 -571
  18. localstack/aws/api/logs/__init__.py +682 -666
  19. localstack/aws/api/opensearch/__init__.py +814 -785
  20. localstack/aws/api/pipes/__init__.py +336 -336
  21. localstack/aws/api/redshift/__init__.py +1192 -1164
  22. localstack/aws/api/resource_groups/__init__.py +175 -175
  23. localstack/aws/api/resourcegroupstaggingapi/__init__.py +67 -67
  24. localstack/aws/api/route53/__init__.py +256 -254
  25. localstack/aws/api/route53resolver/__init__.py +396 -396
  26. localstack/aws/api/s3/__init__.py +1358 -1345
  27. localstack/aws/api/s3control/__init__.py +616 -584
  28. localstack/aws/api/scheduler/__init__.py +118 -118
  29. localstack/aws/api/secretsmanager/__init__.py +193 -193
  30. localstack/aws/api/ses/__init__.py +227 -227
  31. localstack/aws/api/sns/__init__.py +115 -115
  32. localstack/aws/api/sqs/__init__.py +100 -100
  33. localstack/aws/api/ssm/__init__.py +1978 -1970
  34. localstack/aws/api/stepfunctions/__init__.py +323 -323
  35. localstack/aws/api/sts/__init__.py +90 -66
  36. localstack/aws/api/support/__init__.py +112 -112
  37. localstack/aws/api/swf/__init__.py +378 -386
  38. localstack/aws/api/transcribe/__init__.py +425 -425
  39. localstack/aws/client.py +7 -2
  40. localstack/aws/forwarder.py +52 -5
  41. localstack/aws/handlers/analytics.py +1 -1
  42. localstack/aws/handlers/logging.py +12 -2
  43. localstack/aws/handlers/metric_handler.py +41 -1
  44. localstack/aws/handlers/service.py +43 -10
  45. localstack/aws/protocol/parser.py +440 -21
  46. localstack/aws/protocol/serializer.py +684 -64
  47. localstack/aws/protocol/service_router.py +120 -20
  48. localstack/aws/scaffold.py +15 -17
  49. localstack/aws/skeleton.py +4 -2
  50. localstack/aws/spec-patches.json +58 -0
  51. localstack/aws/spec.py +33 -13
  52. localstack/cli/exceptions.py +1 -1
  53. localstack/cli/localstack.py +10 -5
  54. localstack/cli/lpm.py +3 -4
  55. localstack/cli/profiles.py +1 -2
  56. localstack/config.py +18 -12
  57. localstack/constants.py +4 -29
  58. localstack/dev/kubernetes/__main__.py +39 -4
  59. localstack/dev/run/paths.py +1 -1
  60. localstack/dns/plugins.py +5 -1
  61. localstack/dns/server.py +12 -3
  62. localstack/packages/api.py +9 -8
  63. localstack/packages/core.py +2 -2
  64. localstack/packages/plugins.py +0 -8
  65. localstack/runtime/init.py +1 -1
  66. localstack/services/apigateway/helpers.py +5 -9
  67. localstack/services/apigateway/legacy/provider.py +85 -12
  68. localstack/services/apigateway/next_gen/execute_api/integrations/aws.py +3 -0
  69. localstack/services/apigateway/next_gen/execute_api/integrations/http.py +3 -3
  70. localstack/services/apigateway/next_gen/execute_api/test_invoke.py +50 -6
  71. localstack/services/apigateway/next_gen/provider.py +5 -0
  72. localstack/services/apigateway/patches.py +0 -9
  73. localstack/services/cloudformation/engine/entities.py +12 -1
  74. localstack/services/cloudformation/engine/v2/change_set_model.py +0 -3
  75. localstack/services/cloudformation/engine/v2/change_set_model_describer.py +14 -0
  76. localstack/services/cloudformation/engine/v2/change_set_model_executor.py +13 -15
  77. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +118 -24
  78. localstack/services/cloudformation/engine/v2/change_set_model_transform.py +4 -1
  79. localstack/services/cloudformation/engine/v2/change_set_model_validator.py +5 -14
  80. localstack/services/cloudformation/engine/v2/change_set_model_visitor.py +1 -0
  81. localstack/services/cloudformation/engine/v2/resolving.py +6 -4
  82. localstack/services/cloudformation/engine/yaml_parser.py +9 -2
  83. localstack/services/cloudformation/provider.py +2 -2
  84. localstack/services/cloudformation/resource_provider.py +5 -1
  85. localstack/services/cloudformation/resources.py +24149 -0
  86. localstack/services/cloudformation/v2/entities.py +6 -3
  87. localstack/services/cloudformation/v2/provider.py +178 -33
  88. localstack/services/cloudformation/v2/types.py +8 -4
  89. localstack/services/cloudwatch/provider_v2.py +25 -28
  90. localstack/services/dynamodb/packages.py +2 -1
  91. localstack/services/dynamodb/provider.py +42 -0
  92. localstack/services/dynamodb/v2/provider.py +42 -0
  93. localstack/services/ecr/resource_providers/aws_ecr_repository.py +5 -2
  94. localstack/services/es/provider.py +2 -2
  95. localstack/services/events/event_rule_engine.py +31 -13
  96. localstack/services/events/models.py +4 -5
  97. localstack/services/events/target.py +17 -9
  98. localstack/services/iam/provider.py +11 -116
  99. localstack/services/iam/resources/policy_simulator.py +133 -0
  100. localstack/services/kinesis/models.py +15 -2
  101. localstack/services/kinesis/packages.py +1 -1
  102. localstack/services/kinesis/provider.py +77 -0
  103. localstack/services/kms/models.py +34 -4
  104. localstack/services/kms/provider.py +107 -21
  105. localstack/services/lambda_/api_utils.py +3 -1
  106. localstack/services/lambda_/invocation/internal_sqs_queue.py +5 -9
  107. localstack/services/lambda_/packages.py +1 -1
  108. localstack/services/lambda_/provider.py +1 -1
  109. localstack/services/lambda_/runtimes.py +8 -3
  110. localstack/services/logs/provider.py +36 -19
  111. localstack/services/moto.py +2 -1
  112. localstack/services/opensearch/cluster.py +15 -7
  113. localstack/services/opensearch/packages.py +26 -7
  114. localstack/services/opensearch/provider.py +6 -1
  115. localstack/services/opensearch/versions.py +56 -7
  116. localstack/services/s3/constants.py +5 -2
  117. localstack/services/s3/cors.py +4 -4
  118. localstack/services/s3/notifications.py +1 -1
  119. localstack/services/s3/presigned_url.py +27 -43
  120. localstack/services/s3/provider.py +68 -12
  121. localstack/services/s3/utils.py +42 -11
  122. localstack/services/ses/provider.py +16 -7
  123. localstack/services/sns/constants.py +7 -1
  124. localstack/services/sns/v2/models.py +190 -0
  125. localstack/services/sns/v2/provider.py +992 -2
  126. localstack/services/sns/v2/utils.py +138 -0
  127. localstack/services/sqs/developer_api.py +205 -0
  128. localstack/services/sqs/models.py +79 -13
  129. localstack/services/sqs/provider.py +8 -309
  130. localstack/services/sqs/query_api.py +1 -1
  131. localstack/services/sqs/utils.py +121 -2
  132. localstack/services/stepfunctions/asl/jsonata/jsonata.py +1 -1
  133. localstack/testing/aws/cloudformation_utils.py +1 -1
  134. localstack/testing/pytest/cloudformation/fixtures.py +3 -3
  135. localstack/testing/pytest/container.py +4 -5
  136. localstack/testing/pytest/fixtures.py +20 -19
  137. localstack/testing/pytest/in_memory_localstack.py +0 -4
  138. localstack/testing/pytest/marking.py +13 -4
  139. localstack/testing/pytest/stepfunctions/utils.py +4 -3
  140. localstack/testing/pytest/util.py +1 -1
  141. localstack/testing/pytest/validation_tracking.py +1 -2
  142. localstack/testing/snapshots/transformer_utility.py +7 -0
  143. localstack/testing/testselection/matching.py +0 -1
  144. localstack/utils/analytics/events.py +2 -2
  145. localstack/utils/analytics/metadata.py +1 -2
  146. localstack/utils/analytics/metrics/counter.py +6 -8
  147. localstack/utils/analytics/publisher.py +1 -2
  148. localstack/utils/analytics/service_request_aggregator.py +2 -2
  149. localstack/utils/archives.py +11 -11
  150. localstack/utils/aws/arns.py +17 -9
  151. localstack/utils/aws/aws_responses.py +7 -7
  152. localstack/utils/aws/aws_stack.py +2 -3
  153. localstack/utils/aws/client_types.py +0 -8
  154. localstack/utils/aws/message_forwarding.py +1 -2
  155. localstack/utils/aws/request_context.py +4 -5
  156. localstack/utils/batch_policy.py +3 -3
  157. localstack/utils/bootstrap.py +7 -7
  158. localstack/utils/catalog/catalog.py +139 -0
  159. localstack/utils/catalog/catalog_loader.py +119 -0
  160. localstack/utils/catalog/common.py +58 -0
  161. localstack/utils/catalog/plugins.py +28 -0
  162. localstack/utils/cloudwatch/cloudwatch_util.py +5 -5
  163. localstack/utils/collections.py +7 -8
  164. localstack/utils/config_listener.py +1 -1
  165. localstack/utils/container_networking.py +2 -3
  166. localstack/utils/container_utils/container_client.py +115 -131
  167. localstack/utils/container_utils/docker_cmd_client.py +42 -42
  168. localstack/utils/container_utils/docker_sdk_client.py +63 -62
  169. localstack/utils/crypto.py +109 -0
  170. localstack/utils/diagnose.py +2 -3
  171. localstack/utils/docker_utils.py +3 -4
  172. localstack/utils/files.py +31 -7
  173. localstack/utils/functions.py +3 -2
  174. localstack/utils/http.py +4 -5
  175. localstack/utils/json.py +19 -5
  176. localstack/utils/kinesis/kinesis_connector.py +2 -1
  177. localstack/utils/net.py +6 -6
  178. localstack/utils/no_exit_argument_parser.py +2 -2
  179. localstack/utils/numbers.py +9 -2
  180. localstack/utils/objects.py +6 -5
  181. localstack/utils/patch.py +2 -1
  182. localstack/utils/run.py +10 -9
  183. localstack/utils/scheduler.py +11 -11
  184. localstack/utils/server/tcp_proxy.py +2 -2
  185. localstack/utils/serving.py +2 -3
  186. localstack/utils/strings.py +10 -11
  187. localstack/utils/sync.py +126 -1
  188. localstack/utils/tagging.py +1 -4
  189. localstack/utils/testutil.py +5 -4
  190. localstack/utils/threads.py +2 -2
  191. localstack/utils/time.py +11 -3
  192. localstack/utils/urls.py +1 -3
  193. localstack/version.py +2 -2
  194. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/METADATA +19 -13
  195. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/RECORD +203 -199
  196. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/entry_points.txt +4 -2
  197. localstack_core-4.10.1.dev42.dist-info/plux.json +1 -0
  198. localstack/packages/terraform.py +0 -46
  199. localstack/services/cloudformation/deploy.html +0 -144
  200. localstack/services/cloudformation/deploy_ui.py +0 -47
  201. localstack/services/cloudformation/plugins.py +0 -12
  202. localstack_core-4.7.1.dev139.dist-info/plux.json +0 -1
  203. {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack +0 -0
  204. {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack-supervisor +0 -0
  205. {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack.bat +0 -0
  206. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/WHEEL +0 -0
  207. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/licenses/LICENSE.txt +0 -0
  208. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  from datetime import datetime
2
2
  from enum import StrEnum
3
- from typing import List, Optional, TypedDict
3
+ from typing import TypedDict
4
4
 
5
5
  from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
6
6
 
@@ -261,10 +261,10 @@ class ValidationException(ServiceException):
261
261
 
262
262
  class Tag(TypedDict, total=False):
263
263
  Key: TagKey
264
- Value: Optional[TagValue]
264
+ Value: TagValue | None
265
265
 
266
266
 
267
- TagList = List[Tag]
267
+ TagList = list[Tag]
268
268
 
269
269
 
270
270
  class AddTagsToCertificateRequest(ServiceRequest):
@@ -277,29 +277,29 @@ CertificateChainBlob = bytes
277
277
 
278
278
 
279
279
  class CertificateOptions(TypedDict, total=False):
280
- CertificateTransparencyLoggingPreference: Optional[CertificateTransparencyLoggingPreference]
281
- Export: Optional[CertificateExport]
280
+ CertificateTransparencyLoggingPreference: CertificateTransparencyLoggingPreference | None
281
+ Export: CertificateExport | None
282
282
 
283
283
 
284
284
  class ExtendedKeyUsage(TypedDict, total=False):
285
- Name: Optional[ExtendedKeyUsageName]
286
- OID: Optional[String]
285
+ Name: ExtendedKeyUsageName | None
286
+ OID: String | None
287
287
 
288
288
 
289
- ExtendedKeyUsageList = List[ExtendedKeyUsage]
289
+ ExtendedKeyUsageList = list[ExtendedKeyUsage]
290
290
 
291
291
 
292
292
  class KeyUsage(TypedDict, total=False):
293
- Name: Optional[KeyUsageName]
293
+ Name: KeyUsageName | None
294
294
 
295
295
 
296
- KeyUsageList = List[KeyUsage]
296
+ KeyUsageList = list[KeyUsage]
297
297
  TStamp = datetime
298
298
 
299
299
 
300
300
  class HttpRedirect(TypedDict, total=False):
301
- RedirectFrom: Optional[String]
302
- RedirectTo: Optional[String]
301
+ RedirectFrom: String | None
302
+ RedirectTo: String | None
303
303
 
304
304
 
305
305
  class ResourceRecord(TypedDict, total=False):
@@ -308,92 +308,92 @@ class ResourceRecord(TypedDict, total=False):
308
308
  Value: String
309
309
 
310
310
 
311
- ValidationEmailList = List[String]
311
+ ValidationEmailList = list[String]
312
312
 
313
313
 
314
314
  class DomainValidation(TypedDict, total=False):
315
315
  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
322
322
 
323
323
 
324
- DomainValidationList = List[DomainValidation]
324
+ DomainValidationList = list[DomainValidation]
325
325
 
326
326
 
327
327
  class RenewalSummary(TypedDict, total=False):
328
328
  RenewalStatus: RenewalStatus
329
329
  DomainValidationOptions: DomainValidationList
330
- RenewalStatusReason: Optional[FailureReason]
330
+ RenewalStatusReason: FailureReason | None
331
331
  UpdatedAt: TStamp
332
332
 
333
333
 
334
- InUseList = List[String]
335
- DomainList = List[DomainNameString]
334
+ InUseList = list[String]
335
+ DomainList = list[DomainNameString]
336
336
 
337
337
 
338
338
  class 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]
371
371
 
372
372
 
373
373
  class 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]
397
397
 
398
398
 
399
399
  class DeleteCertificateRequest(ServiceRequest):
@@ -405,7 +405,7 @@ class DescribeCertificateRequest(ServiceRequest):
405
405
 
406
406
 
407
407
  class DescribeCertificateResponse(TypedDict, total=False):
408
- Certificate: Optional[CertificateDetail]
408
+ Certificate: CertificateDetail | None
409
409
 
410
410
 
411
411
  class DomainValidationOption(TypedDict, total=False):
@@ -413,11 +413,11 @@ class DomainValidationOption(TypedDict, total=False):
413
413
  ValidationDomain: DomainNameString
414
414
 
415
415
 
416
- DomainValidationOptionList = List[DomainValidationOption]
416
+ DomainValidationOptionList = list[DomainValidationOption]
417
417
 
418
418
 
419
419
  class ExpiryEventsConfiguration(TypedDict, total=False):
420
- DaysBeforeExpiry: Optional[PositiveInteger]
420
+ DaysBeforeExpiry: PositiveInteger | None
421
421
 
422
422
 
423
423
  PassphraseBlob = bytes
@@ -429,26 +429,26 @@ class ExportCertificateRequest(ServiceRequest):
429
429
 
430
430
 
431
431
  class 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
435
435
 
436
436
 
437
- ExtendedKeyUsageFilterList = List[ExtendedKeyUsageName]
438
- KeyAlgorithmList = List[KeyAlgorithm]
439
- KeyUsageFilterList = List[KeyUsageName]
437
+ ExtendedKeyUsageFilterList = list[ExtendedKeyUsageName]
438
+ KeyAlgorithmList = list[KeyAlgorithm]
439
+ KeyUsageFilterList = list[KeyUsageName]
440
440
 
441
441
 
442
442
  class 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
448
448
 
449
449
 
450
450
  class GetAccountConfigurationResponse(TypedDict, total=False):
451
- ExpiryEvents: Optional[ExpiryEventsConfiguration]
451
+ ExpiryEvents: ExpiryEventsConfiguration | None
452
452
 
453
453
 
454
454
  class GetCertificateRequest(ServiceRequest):
@@ -456,37 +456,37 @@ class GetCertificateRequest(ServiceRequest):
456
456
 
457
457
 
458
458
  class GetCertificateResponse(TypedDict, total=False):
459
- Certificate: Optional[CertificateBody]
460
- CertificateChain: Optional[CertificateChain]
459
+ Certificate: CertificateBody | None
460
+ CertificateChain: CertificateChain | None
461
461
 
462
462
 
463
463
  PrivateKeyBlob = bytes
464
464
 
465
465
 
466
466
  class ImportCertificateRequest(ServiceRequest):
467
- CertificateArn: Optional[Arn]
467
+ CertificateArn: Arn | None
468
468
  Certificate: CertificateBodyBlob
469
469
  PrivateKey: PrivateKeyBlob
470
- CertificateChain: Optional[CertificateChainBlob]
471
- Tags: Optional[TagList]
470
+ CertificateChain: CertificateChainBlob | None
471
+ Tags: TagList | None
472
472
 
473
473
 
474
474
  class ImportCertificateResponse(TypedDict, total=False):
475
- CertificateArn: Optional[Arn]
475
+ CertificateArn: Arn | None
476
476
 
477
477
 
478
478
  class 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
485
485
 
486
486
 
487
487
  class ListCertificatesResponse(TypedDict, total=False):
488
- NextToken: Optional[NextToken]
489
- CertificateSummaryList: Optional[CertificateSummaryList]
488
+ NextToken: NextToken | None
489
+ CertificateSummaryList: CertificateSummaryList | None
490
490
 
491
491
 
492
492
  class ListTagsForCertificateRequest(ServiceRequest):
@@ -494,11 +494,11 @@ class ListTagsForCertificateRequest(ServiceRequest):
494
494
 
495
495
 
496
496
  class ListTagsForCertificateResponse(TypedDict, total=False):
497
- Tags: Optional[TagList]
497
+ Tags: TagList | None
498
498
 
499
499
 
500
500
  class PutAccountConfigurationRequest(ServiceRequest):
501
- ExpiryEvents: Optional[ExpiryEventsConfiguration]
501
+ ExpiryEvents: ExpiryEventsConfiguration | None
502
502
  IdempotencyToken: IdempotencyToken
503
503
 
504
504
 
@@ -513,19 +513,19 @@ class RenewCertificateRequest(ServiceRequest):
513
513
 
514
514
  class RequestCertificateRequest(ServiceRequest):
515
515
  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
525
525
 
526
526
 
527
527
  class RequestCertificateResponse(TypedDict, total=False):
528
- CertificateArn: Optional[Arn]
528
+ CertificateArn: Arn | None
529
529
 
530
530
 
531
531
  class ResendValidationEmailRequest(ServiceRequest):
@@ -540,7 +540,7 @@ class RevokeCertificateRequest(ServiceRequest):
540
540
 
541
541
 
542
542
  class RevokeCertificateResponse(TypedDict, total=False):
543
- CertificateArn: Optional[Arn]
543
+ CertificateArn: Arn | None
544
544
 
545
545
 
546
546
  class UpdateCertificateOptionsRequest(ServiceRequest):
@@ -549,8 +549,8 @@ class UpdateCertificateOptionsRequest(ServiceRequest):
549
549
 
550
550
 
551
551
  class AcmApi:
552
- service = "acm"
553
- version = "2015-12-08"
552
+ service: str = "acm"
553
+ version: str = "2015-12-08"
554
554
 
555
555
  @handler("AddTagsToCertificate")
556
556
  def add_tags_to_certificate(