localstack-core 4.10.1.dev7__py3-none-any.whl → 4.11.2.dev14__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 (152) hide show
  1. localstack/aws/api/acm/__init__.py +122 -122
  2. localstack/aws/api/apigateway/__init__.py +604 -561
  3. localstack/aws/api/cloudcontrol/__init__.py +63 -63
  4. localstack/aws/api/cloudformation/__init__.py +1201 -969
  5. localstack/aws/api/cloudwatch/__init__.py +375 -375
  6. localstack/aws/api/config/__init__.py +784 -786
  7. localstack/aws/api/dynamodb/__init__.py +753 -759
  8. localstack/aws/api/dynamodbstreams/__init__.py +74 -74
  9. localstack/aws/api/ec2/__init__.py +10062 -8826
  10. localstack/aws/api/es/__init__.py +453 -453
  11. localstack/aws/api/events/__init__.py +552 -552
  12. localstack/aws/api/firehose/__init__.py +541 -543
  13. localstack/aws/api/iam/__init__.py +866 -572
  14. localstack/aws/api/kinesis/__init__.py +235 -147
  15. localstack/aws/api/kms/__init__.py +341 -336
  16. localstack/aws/api/lambda_/__init__.py +974 -621
  17. localstack/aws/api/logs/__init__.py +988 -675
  18. localstack/aws/api/opensearch/__init__.py +903 -785
  19. localstack/aws/api/pipes/__init__.py +336 -336
  20. localstack/aws/api/redshift/__init__.py +1257 -1166
  21. localstack/aws/api/resource_groups/__init__.py +175 -175
  22. localstack/aws/api/resourcegroupstaggingapi/__init__.py +103 -67
  23. localstack/aws/api/route53/__init__.py +296 -254
  24. localstack/aws/api/route53resolver/__init__.py +397 -396
  25. localstack/aws/api/s3/__init__.py +1412 -1349
  26. localstack/aws/api/s3control/__init__.py +594 -594
  27. localstack/aws/api/scheduler/__init__.py +118 -118
  28. localstack/aws/api/secretsmanager/__init__.py +221 -216
  29. localstack/aws/api/ses/__init__.py +227 -227
  30. localstack/aws/api/sns/__init__.py +115 -115
  31. localstack/aws/api/sqs/__init__.py +100 -100
  32. localstack/aws/api/ssm/__init__.py +1977 -1971
  33. localstack/aws/api/stepfunctions/__init__.py +375 -333
  34. localstack/aws/api/sts/__init__.py +142 -66
  35. localstack/aws/api/support/__init__.py +112 -112
  36. localstack/aws/api/swf/__init__.py +378 -386
  37. localstack/aws/api/transcribe/__init__.py +425 -425
  38. localstack/aws/handlers/logging.py +8 -4
  39. localstack/aws/handlers/service.py +22 -3
  40. localstack/aws/protocol/parser.py +1 -1
  41. localstack/aws/protocol/serializer.py +1 -1
  42. localstack/aws/scaffold.py +15 -17
  43. localstack/cli/localstack.py +6 -1
  44. localstack/deprecations.py +0 -6
  45. localstack/dev/kubernetes/__main__.py +38 -3
  46. localstack/services/acm/provider.py +4 -0
  47. localstack/services/apigateway/helpers.py +5 -9
  48. localstack/services/apigateway/legacy/provider.py +60 -24
  49. localstack/services/apigateway/patches.py +0 -9
  50. localstack/services/cloudformation/engine/template_preparer.py +6 -2
  51. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +12 -0
  52. localstack/services/cloudformation/provider.py +2 -2
  53. localstack/services/cloudformation/v2/provider.py +6 -6
  54. localstack/services/cloudwatch/provider.py +10 -3
  55. localstack/services/cloudwatch/provider_v2.py +6 -3
  56. localstack/services/configservice/provider.py +5 -1
  57. localstack/services/dynamodb/provider.py +1 -0
  58. localstack/services/dynamodb/v2/provider.py +1 -0
  59. localstack/services/dynamodbstreams/provider.py +6 -0
  60. localstack/services/dynamodbstreams/v2/provider.py +6 -0
  61. localstack/services/ec2/provider.py +6 -0
  62. localstack/services/es/provider.py +6 -0
  63. localstack/services/events/provider.py +4 -0
  64. localstack/services/events/v1/provider.py +9 -0
  65. localstack/services/firehose/provider.py +5 -0
  66. localstack/services/iam/provider.py +4 -0
  67. localstack/services/kinesis/packages.py +1 -1
  68. localstack/services/kms/models.py +44 -24
  69. localstack/services/kms/provider.py +97 -16
  70. localstack/services/lambda_/api_utils.py +40 -21
  71. localstack/services/lambda_/event_source_mapping/pollers/stream_poller.py +1 -1
  72. localstack/services/lambda_/invocation/assignment.py +4 -1
  73. localstack/services/lambda_/invocation/execution_environment.py +21 -2
  74. localstack/services/lambda_/invocation/lambda_models.py +27 -2
  75. localstack/services/lambda_/invocation/lambda_service.py +51 -3
  76. localstack/services/lambda_/invocation/models.py +9 -1
  77. localstack/services/lambda_/invocation/version_manager.py +18 -3
  78. localstack/services/lambda_/packages.py +1 -1
  79. localstack/services/lambda_/provider.py +240 -96
  80. localstack/services/lambda_/resource_providers/aws_lambda_function.py +33 -1
  81. localstack/services/lambda_/runtimes.py +10 -3
  82. localstack/services/logs/provider.py +45 -19
  83. localstack/services/opensearch/provider.py +53 -3
  84. localstack/services/resource_groups/provider.py +5 -1
  85. localstack/services/resourcegroupstaggingapi/provider.py +6 -1
  86. localstack/services/s3/provider.py +29 -16
  87. localstack/services/s3/utils.py +35 -14
  88. localstack/services/s3control/provider.py +101 -2
  89. localstack/services/s3control/validation.py +50 -0
  90. localstack/services/sns/constants.py +3 -1
  91. localstack/services/sns/publisher.py +15 -6
  92. localstack/services/sns/v2/models.py +30 -1
  93. localstack/services/sns/v2/provider.py +794 -31
  94. localstack/services/sns/v2/utils.py +20 -0
  95. localstack/services/sqs/models.py +37 -10
  96. localstack/services/stepfunctions/asl/component/common/path/result_path.py +1 -1
  97. localstack/services/stepfunctions/asl/component/state/state_execution/execute_state.py +0 -1
  98. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py +0 -1
  99. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/lambda_eval_utils.py +8 -8
  100. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/{mock_eval_utils.py → local_mock_eval_utils.py} +13 -9
  101. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service.py +6 -6
  102. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_callback.py +1 -1
  103. localstack/services/stepfunctions/asl/component/state/state_fail/state_fail.py +4 -0
  104. localstack/services/stepfunctions/asl/component/test_state/state/base_mock.py +118 -0
  105. localstack/services/stepfunctions/asl/component/test_state/state/common.py +82 -0
  106. localstack/services/stepfunctions/asl/component/test_state/state/execution.py +139 -0
  107. localstack/services/stepfunctions/asl/component/test_state/state/map.py +77 -0
  108. localstack/services/stepfunctions/asl/component/test_state/state/task.py +44 -0
  109. localstack/services/stepfunctions/asl/eval/environment.py +30 -22
  110. localstack/services/stepfunctions/asl/eval/states.py +1 -1
  111. localstack/services/stepfunctions/asl/eval/test_state/environment.py +49 -9
  112. localstack/services/stepfunctions/asl/eval/test_state/program_state.py +22 -0
  113. localstack/services/stepfunctions/asl/jsonata/jsonata.py +5 -1
  114. localstack/services/stepfunctions/asl/parse/preprocessor.py +67 -24
  115. localstack/services/stepfunctions/asl/parse/test_state/asl_parser.py +5 -4
  116. localstack/services/stepfunctions/asl/parse/test_state/preprocessor.py +222 -31
  117. localstack/services/stepfunctions/asl/static_analyser/test_state/test_state_analyser.py +170 -22
  118. localstack/services/stepfunctions/backend/execution.py +6 -6
  119. localstack/services/stepfunctions/backend/execution_worker.py +5 -5
  120. localstack/services/stepfunctions/backend/test_state/execution.py +36 -0
  121. localstack/services/stepfunctions/backend/test_state/execution_worker.py +33 -1
  122. localstack/services/stepfunctions/backend/test_state/test_state_mock.py +127 -0
  123. localstack/services/stepfunctions/local_mocking/__init__.py +9 -0
  124. localstack/services/stepfunctions/{mocking → local_mocking}/mock_config.py +24 -17
  125. localstack/services/stepfunctions/provider.py +78 -27
  126. localstack/services/stepfunctions/test_state/mock_config.py +47 -0
  127. localstack/testing/pytest/fixtures.py +28 -0
  128. localstack/testing/snapshots/transformer_utility.py +7 -0
  129. localstack/testing/testselection/matching.py +0 -1
  130. localstack/utils/analytics/publisher.py +37 -155
  131. localstack/utils/analytics/service_request_aggregator.py +6 -4
  132. localstack/utils/aws/arns.py +7 -0
  133. localstack/utils/aws/client_types.py +0 -8
  134. localstack/utils/batching.py +258 -0
  135. localstack/utils/catalog/catalog_loader.py +111 -3
  136. localstack/utils/collections.py +23 -11
  137. localstack/utils/crypto.py +109 -0
  138. localstack/version.py +2 -2
  139. {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.dist-info}/METADATA +7 -6
  140. {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.dist-info}/RECORD +149 -141
  141. localstack_core-4.11.2.dev14.dist-info/plux.json +1 -0
  142. localstack/services/stepfunctions/mocking/__init__.py +0 -0
  143. localstack/utils/batch_policy.py +0 -124
  144. localstack_core-4.10.1.dev7.dist-info/plux.json +0 -1
  145. /localstack/services/stepfunctions/{mocking → local_mocking}/mock_config_file.py +0 -0
  146. {localstack_core-4.10.1.dev7.data → localstack_core-4.11.2.dev14.data}/scripts/localstack +0 -0
  147. {localstack_core-4.10.1.dev7.data → localstack_core-4.11.2.dev14.data}/scripts/localstack-supervisor +0 -0
  148. {localstack_core-4.10.1.dev7.data → localstack_core-4.11.2.dev14.data}/scripts/localstack.bat +0 -0
  149. {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.dist-info}/WHEEL +0 -0
  150. {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.dist-info}/entry_points.txt +0 -0
  151. {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.dist-info}/licenses/LICENSE.txt +0 -0
  152. {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.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 Dict, List, Optional, TypedDict
3
+ from typing import TypedDict
4
4
 
5
5
  from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
6
6
 
@@ -189,35 +189,35 @@ class AlreadyExistsException(ServiceException):
189
189
  code: str = "AlreadyExists"
190
190
  sender_fault: bool = True
191
191
  status_code: int = 400
192
- Name: Optional[RuleOrRuleSetName]
192
+ Name: RuleOrRuleSetName | None
193
193
 
194
194
 
195
195
  class CannotDeleteException(ServiceException):
196
196
  code: str = "CannotDelete"
197
197
  sender_fault: bool = True
198
198
  status_code: int = 400
199
- Name: Optional[RuleOrRuleSetName]
199
+ Name: RuleOrRuleSetName | None
200
200
 
201
201
 
202
202
  class ConfigurationSetAlreadyExistsException(ServiceException):
203
203
  code: str = "ConfigurationSetAlreadyExists"
204
204
  sender_fault: bool = True
205
205
  status_code: int = 400
206
- ConfigurationSetName: Optional[ConfigurationSetName]
206
+ ConfigurationSetName: ConfigurationSetName | None
207
207
 
208
208
 
209
209
  class ConfigurationSetDoesNotExistException(ServiceException):
210
210
  code: str = "ConfigurationSetDoesNotExist"
211
211
  sender_fault: bool = True
212
212
  status_code: int = 400
213
- ConfigurationSetName: Optional[ConfigurationSetName]
213
+ ConfigurationSetName: ConfigurationSetName | None
214
214
 
215
215
 
216
216
  class ConfigurationSetSendingPausedException(ServiceException):
217
217
  code: str = "ConfigurationSetSendingPausedException"
218
218
  sender_fault: bool = True
219
219
  status_code: int = 400
220
- ConfigurationSetName: Optional[ConfigurationSetName]
220
+ ConfigurationSetName: ConfigurationSetName | None
221
221
 
222
222
 
223
223
  class CustomVerificationEmailInvalidContentException(ServiceException):
@@ -230,45 +230,45 @@ class CustomVerificationEmailTemplateAlreadyExistsException(ServiceException):
230
230
  code: str = "CustomVerificationEmailTemplateAlreadyExists"
231
231
  sender_fault: bool = True
232
232
  status_code: int = 400
233
- CustomVerificationEmailTemplateName: Optional[TemplateName]
233
+ CustomVerificationEmailTemplateName: TemplateName | None
234
234
 
235
235
 
236
236
  class CustomVerificationEmailTemplateDoesNotExistException(ServiceException):
237
237
  code: str = "CustomVerificationEmailTemplateDoesNotExist"
238
238
  sender_fault: bool = True
239
239
  status_code: int = 400
240
- CustomVerificationEmailTemplateName: Optional[TemplateName]
240
+ CustomVerificationEmailTemplateName: TemplateName | None
241
241
 
242
242
 
243
243
  class EventDestinationAlreadyExistsException(ServiceException):
244
244
  code: str = "EventDestinationAlreadyExists"
245
245
  sender_fault: bool = True
246
246
  status_code: int = 400
247
- ConfigurationSetName: Optional[ConfigurationSetName]
248
- EventDestinationName: Optional[EventDestinationName]
247
+ ConfigurationSetName: ConfigurationSetName | None
248
+ EventDestinationName: EventDestinationName | None
249
249
 
250
250
 
251
251
  class EventDestinationDoesNotExistException(ServiceException):
252
252
  code: str = "EventDestinationDoesNotExist"
253
253
  sender_fault: bool = True
254
254
  status_code: int = 400
255
- ConfigurationSetName: Optional[ConfigurationSetName]
256
- EventDestinationName: Optional[EventDestinationName]
255
+ ConfigurationSetName: ConfigurationSetName | None
256
+ EventDestinationName: EventDestinationName | None
257
257
 
258
258
 
259
259
  class FromEmailAddressNotVerifiedException(ServiceException):
260
260
  code: str = "FromEmailAddressNotVerified"
261
261
  sender_fault: bool = True
262
262
  status_code: int = 400
263
- FromEmailAddress: Optional[FromAddress]
263
+ FromEmailAddress: FromAddress | None
264
264
 
265
265
 
266
266
  class InvalidCloudWatchDestinationException(ServiceException):
267
267
  code: str = "InvalidCloudWatchDestination"
268
268
  sender_fault: bool = True
269
269
  status_code: int = 400
270
- ConfigurationSetName: Optional[ConfigurationSetName]
271
- EventDestinationName: Optional[EventDestinationName]
270
+ ConfigurationSetName: ConfigurationSetName | None
271
+ EventDestinationName: EventDestinationName | None
272
272
 
273
273
 
274
274
  class InvalidConfigurationSetException(ServiceException):
@@ -287,15 +287,15 @@ class InvalidFirehoseDestinationException(ServiceException):
287
287
  code: str = "InvalidFirehoseDestination"
288
288
  sender_fault: bool = True
289
289
  status_code: int = 400
290
- ConfigurationSetName: Optional[ConfigurationSetName]
291
- EventDestinationName: Optional[EventDestinationName]
290
+ ConfigurationSetName: ConfigurationSetName | None
291
+ EventDestinationName: EventDestinationName | None
292
292
 
293
293
 
294
294
  class InvalidLambdaFunctionException(ServiceException):
295
295
  code: str = "InvalidLambdaFunction"
296
296
  sender_fault: bool = True
297
297
  status_code: int = 400
298
- FunctionArn: Optional[AmazonResourceName]
298
+ FunctionArn: AmazonResourceName | None
299
299
 
300
300
 
301
301
  class InvalidPolicyException(ServiceException):
@@ -308,36 +308,36 @@ class InvalidRenderingParameterException(ServiceException):
308
308
  code: str = "InvalidRenderingParameter"
309
309
  sender_fault: bool = True
310
310
  status_code: int = 400
311
- TemplateName: Optional[TemplateName]
311
+ TemplateName: TemplateName | None
312
312
 
313
313
 
314
314
  class InvalidS3ConfigurationException(ServiceException):
315
315
  code: str = "InvalidS3Configuration"
316
316
  sender_fault: bool = True
317
317
  status_code: int = 400
318
- Bucket: Optional[S3BucketName]
318
+ Bucket: S3BucketName | None
319
319
 
320
320
 
321
321
  class InvalidSNSDestinationException(ServiceException):
322
322
  code: str = "InvalidSNSDestination"
323
323
  sender_fault: bool = True
324
324
  status_code: int = 400
325
- ConfigurationSetName: Optional[ConfigurationSetName]
326
- EventDestinationName: Optional[EventDestinationName]
325
+ ConfigurationSetName: ConfigurationSetName | None
326
+ EventDestinationName: EventDestinationName | None
327
327
 
328
328
 
329
329
  class InvalidSnsTopicException(ServiceException):
330
330
  code: str = "InvalidSnsTopic"
331
331
  sender_fault: bool = True
332
332
  status_code: int = 400
333
- Topic: Optional[AmazonResourceName]
333
+ Topic: AmazonResourceName | None
334
334
 
335
335
 
336
336
  class InvalidTemplateException(ServiceException):
337
337
  code: str = "InvalidTemplate"
338
338
  sender_fault: bool = True
339
339
  status_code: int = 400
340
- TemplateName: Optional[TemplateName]
340
+ TemplateName: TemplateName | None
341
341
 
342
342
 
343
343
  class InvalidTrackingOptionsException(ServiceException):
@@ -368,7 +368,7 @@ class MissingRenderingAttributeException(ServiceException):
368
368
  code: str = "MissingRenderingAttribute"
369
369
  sender_fault: bool = True
370
370
  status_code: int = 400
371
- TemplateName: Optional[TemplateName]
371
+ TemplateName: TemplateName | None
372
372
 
373
373
 
374
374
  class ProductionAccessNotGrantedException(ServiceException):
@@ -381,35 +381,35 @@ class RuleDoesNotExistException(ServiceException):
381
381
  code: str = "RuleDoesNotExist"
382
382
  sender_fault: bool = True
383
383
  status_code: int = 400
384
- Name: Optional[RuleOrRuleSetName]
384
+ Name: RuleOrRuleSetName | None
385
385
 
386
386
 
387
387
  class RuleSetDoesNotExistException(ServiceException):
388
388
  code: str = "RuleSetDoesNotExist"
389
389
  sender_fault: bool = True
390
390
  status_code: int = 400
391
- Name: Optional[RuleOrRuleSetName]
391
+ Name: RuleOrRuleSetName | None
392
392
 
393
393
 
394
394
  class TemplateDoesNotExistException(ServiceException):
395
395
  code: str = "TemplateDoesNotExist"
396
396
  sender_fault: bool = True
397
397
  status_code: int = 400
398
- TemplateName: Optional[TemplateName]
398
+ TemplateName: TemplateName | None
399
399
 
400
400
 
401
401
  class TrackingOptionsAlreadyExistsException(ServiceException):
402
402
  code: str = "TrackingOptionsAlreadyExistsException"
403
403
  sender_fault: bool = True
404
404
  status_code: int = 400
405
- ConfigurationSetName: Optional[ConfigurationSetName]
405
+ ConfigurationSetName: ConfigurationSetName | None
406
406
 
407
407
 
408
408
  class TrackingOptionsDoesNotExistException(ServiceException):
409
409
  code: str = "TrackingOptionsDoesNotExistException"
410
410
  sender_fault: bool = True
411
411
  status_code: int = 400
412
- ConfigurationSetName: Optional[ConfigurationSetName]
412
+ ConfigurationSetName: ConfigurationSetName | None
413
413
 
414
414
 
415
415
  class AddHeaderAction(TypedDict, total=False):
@@ -417,24 +417,24 @@ class AddHeaderAction(TypedDict, total=False):
417
417
  HeaderValue: HeaderValue
418
418
 
419
419
 
420
- AddressList = List[Address]
420
+ AddressList = list[Address]
421
421
  ArrivalDate = datetime
422
422
 
423
423
 
424
424
  class Content(TypedDict, total=False):
425
425
  Data: MessageData
426
- Charset: Optional[Charset]
426
+ Charset: Charset | None
427
427
 
428
428
 
429
429
  class Body(TypedDict, total=False):
430
- Text: Optional[Content]
431
- Html: Optional[Content]
430
+ Text: Content | None
431
+ Html: Content | None
432
432
 
433
433
 
434
434
  class BounceAction(TypedDict, total=False):
435
- TopicArn: Optional[AmazonResourceName]
435
+ TopicArn: AmazonResourceName | None
436
436
  SmtpReplyCode: BounceSmtpReplyCode
437
- StatusCode: Optional[BounceStatusCode]
437
+ StatusCode: BounceStatusCode | None
438
438
  Message: BounceMessage
439
439
  Sender: Address
440
440
 
@@ -444,28 +444,28 @@ class ExtensionField(TypedDict, total=False):
444
444
  Value: ExtensionFieldValue
445
445
 
446
446
 
447
- ExtensionFieldList = List[ExtensionField]
447
+ ExtensionFieldList = list[ExtensionField]
448
448
  LastAttemptDate = datetime
449
449
 
450
450
 
451
451
  class RecipientDsnFields(TypedDict, total=False):
452
- FinalRecipient: Optional[Address]
452
+ FinalRecipient: Address | None
453
453
  Action: DsnAction
454
- RemoteMta: Optional[RemoteMta]
454
+ RemoteMta: RemoteMta | None
455
455
  Status: DsnStatus
456
- DiagnosticCode: Optional[DiagnosticCode]
457
- LastAttemptDate: Optional[LastAttemptDate]
458
- ExtensionFields: Optional[ExtensionFieldList]
456
+ DiagnosticCode: DiagnosticCode | None
457
+ LastAttemptDate: LastAttemptDate | None
458
+ ExtensionFields: ExtensionFieldList | None
459
459
 
460
460
 
461
461
  class BouncedRecipientInfo(TypedDict, total=False):
462
462
  Recipient: Address
463
- RecipientArn: Optional[AmazonResourceName]
464
- BounceType: Optional[BounceType]
465
- RecipientDsnFields: Optional[RecipientDsnFields]
463
+ RecipientArn: AmazonResourceName | None
464
+ BounceType: BounceType | None
465
+ RecipientDsnFields: RecipientDsnFields | None
466
466
 
467
467
 
468
- BouncedRecipientInfoList = List[BouncedRecipientInfo]
468
+ BouncedRecipientInfoList = list[BouncedRecipientInfo]
469
469
 
470
470
 
471
471
  class MessageTag(TypedDict, total=False):
@@ -473,31 +473,31 @@ class MessageTag(TypedDict, total=False):
473
473
  Value: MessageTagValue
474
474
 
475
475
 
476
- MessageTagList = List[MessageTag]
476
+ MessageTagList = list[MessageTag]
477
477
 
478
478
 
479
479
  class Destination(TypedDict, total=False):
480
- ToAddresses: Optional[AddressList]
481
- CcAddresses: Optional[AddressList]
482
- BccAddresses: Optional[AddressList]
480
+ ToAddresses: AddressList | None
481
+ CcAddresses: AddressList | None
482
+ BccAddresses: AddressList | None
483
483
 
484
484
 
485
485
  class BulkEmailDestination(TypedDict, total=False):
486
486
  Destination: Destination
487
- ReplacementTags: Optional[MessageTagList]
488
- ReplacementTemplateData: Optional[TemplateData]
487
+ ReplacementTags: MessageTagList | None
488
+ ReplacementTemplateData: TemplateData | None
489
489
 
490
490
 
491
- BulkEmailDestinationList = List[BulkEmailDestination]
491
+ BulkEmailDestinationList = list[BulkEmailDestination]
492
492
 
493
493
 
494
494
  class BulkEmailDestinationStatus(TypedDict, total=False):
495
- Status: Optional[BulkEmailStatus]
496
- Error: Optional[Error]
497
- MessageId: Optional[MessageId]
495
+ Status: BulkEmailStatus | None
496
+ Error: Error | None
497
+ MessageId: MessageId | None
498
498
 
499
499
 
500
- BulkEmailDestinationStatusList = List[BulkEmailDestinationStatus]
500
+ BulkEmailDestinationStatusList = list[BulkEmailDestinationStatus]
501
501
 
502
502
 
503
503
  class CloneReceiptRuleSetRequest(ServiceRequest):
@@ -515,7 +515,7 @@ class CloudWatchDimensionConfiguration(TypedDict, total=False):
515
515
  DefaultDimensionValue: DefaultDimensionValue
516
516
 
517
517
 
518
- CloudWatchDimensionConfigurations = List[CloudWatchDimensionConfiguration]
518
+ CloudWatchDimensionConfigurations = list[CloudWatchDimensionConfiguration]
519
519
 
520
520
 
521
521
  class CloudWatchDestination(TypedDict, total=False):
@@ -526,8 +526,8 @@ class ConfigurationSet(TypedDict, total=False):
526
526
  Name: ConfigurationSetName
527
527
 
528
528
 
529
- ConfigurationSetAttributeList = List[ConfigurationSetAttribute]
530
- ConfigurationSets = List[ConfigurationSet]
529
+ ConfigurationSetAttributeList = list[ConfigurationSetAttribute]
530
+ ConfigurationSets = list[ConfigurationSet]
531
531
 
532
532
 
533
533
  class ConnectAction(TypedDict, total=False):
@@ -547,16 +547,16 @@ class KinesisFirehoseDestination(TypedDict, total=False):
547
547
  DeliveryStreamARN: AmazonResourceName
548
548
 
549
549
 
550
- EventTypes = List[EventType]
550
+ EventTypes = list[EventType]
551
551
 
552
552
 
553
553
  class EventDestination(TypedDict, total=False):
554
554
  Name: EventDestinationName
555
- Enabled: Optional[Enabled]
555
+ Enabled: Enabled | None
556
556
  MatchingEventTypes: EventTypes
557
- KinesisFirehoseDestination: Optional[KinesisFirehoseDestination]
558
- CloudWatchDestination: Optional[CloudWatchDestination]
559
- SNSDestination: Optional[SNSDestination]
557
+ KinesisFirehoseDestination: KinesisFirehoseDestination | None
558
+ CloudWatchDestination: CloudWatchDestination | None
559
+ SNSDestination: SNSDestination | None
560
560
 
561
561
 
562
562
  class CreateConfigurationSetEventDestinationRequest(ServiceRequest):
@@ -577,7 +577,7 @@ class CreateConfigurationSetResponse(TypedDict, total=False):
577
577
 
578
578
 
579
579
  class TrackingOptions(TypedDict, total=False):
580
- CustomRedirectDomain: Optional[CustomRedirectDomain]
580
+ CustomRedirectDomain: CustomRedirectDomain | None
581
581
 
582
582
 
583
583
  class CreateConfigurationSetTrackingOptionsRequest(ServiceRequest):
@@ -618,60 +618,60 @@ class CreateReceiptFilterResponse(TypedDict, total=False):
618
618
 
619
619
  class SNSAction(TypedDict, total=False):
620
620
  TopicArn: AmazonResourceName
621
- Encoding: Optional[SNSActionEncoding]
621
+ Encoding: SNSActionEncoding | None
622
622
 
623
623
 
624
624
  class StopAction(TypedDict, total=False):
625
625
  Scope: StopScope
626
- TopicArn: Optional[AmazonResourceName]
626
+ TopicArn: AmazonResourceName | None
627
627
 
628
628
 
629
629
  class LambdaAction(TypedDict, total=False):
630
- TopicArn: Optional[AmazonResourceName]
630
+ TopicArn: AmazonResourceName | None
631
631
  FunctionArn: AmazonResourceName
632
- InvocationType: Optional[InvocationType]
632
+ InvocationType: InvocationType | None
633
633
 
634
634
 
635
635
  class WorkmailAction(TypedDict, total=False):
636
- TopicArn: Optional[AmazonResourceName]
636
+ TopicArn: AmazonResourceName | None
637
637
  OrganizationArn: AmazonResourceName
638
638
 
639
639
 
640
640
  class S3Action(TypedDict, total=False):
641
- TopicArn: Optional[AmazonResourceName]
641
+ TopicArn: AmazonResourceName | None
642
642
  BucketName: S3BucketName
643
- ObjectKeyPrefix: Optional[S3KeyPrefix]
644
- KmsKeyArn: Optional[AmazonResourceName]
645
- IamRoleArn: Optional[IAMRoleARN]
643
+ ObjectKeyPrefix: S3KeyPrefix | None
644
+ KmsKeyArn: AmazonResourceName | None
645
+ IamRoleArn: IAMRoleARN | None
646
646
 
647
647
 
648
648
  class ReceiptAction(TypedDict, total=False):
649
- S3Action: Optional[S3Action]
650
- BounceAction: Optional[BounceAction]
651
- WorkmailAction: Optional[WorkmailAction]
652
- LambdaAction: Optional[LambdaAction]
653
- StopAction: Optional[StopAction]
654
- AddHeaderAction: Optional[AddHeaderAction]
655
- SNSAction: Optional[SNSAction]
656
- ConnectAction: Optional[ConnectAction]
649
+ S3Action: S3Action | None
650
+ BounceAction: BounceAction | None
651
+ WorkmailAction: WorkmailAction | None
652
+ LambdaAction: LambdaAction | None
653
+ StopAction: StopAction | None
654
+ AddHeaderAction: AddHeaderAction | None
655
+ SNSAction: SNSAction | None
656
+ ConnectAction: ConnectAction | None
657
657
 
658
658
 
659
- ReceiptActionsList = List[ReceiptAction]
660
- RecipientsList = List[Recipient]
659
+ ReceiptActionsList = list[ReceiptAction]
660
+ RecipientsList = list[Recipient]
661
661
 
662
662
 
663
663
  class ReceiptRule(TypedDict, total=False):
664
664
  Name: ReceiptRuleName
665
- Enabled: Optional[Enabled]
666
- TlsPolicy: Optional[TlsPolicy]
667
- Recipients: Optional[RecipientsList]
668
- Actions: Optional[ReceiptActionsList]
669
- ScanEnabled: Optional[Enabled]
665
+ Enabled: Enabled | None
666
+ TlsPolicy: TlsPolicy | None
667
+ Recipients: RecipientsList | None
668
+ Actions: ReceiptActionsList | None
669
+ ScanEnabled: Enabled | None
670
670
 
671
671
 
672
672
  class CreateReceiptRuleRequest(ServiceRequest):
673
673
  RuleSetName: ReceiptRuleSetName
674
- After: Optional[ReceiptRuleName]
674
+ After: ReceiptRuleName | None
675
675
  Rule: ReceiptRule
676
676
 
677
677
 
@@ -689,9 +689,9 @@ class CreateReceiptRuleSetResponse(TypedDict, total=False):
689
689
 
690
690
  class Template(TypedDict, total=False):
691
691
  TemplateName: TemplateName
692
- SubjectPart: Optional[SubjectPart]
693
- TextPart: Optional[TextPart]
694
- HtmlPart: Optional[HtmlPart]
692
+ SubjectPart: SubjectPart | None
693
+ TextPart: TextPart | None
694
+ HtmlPart: HtmlPart | None
695
695
 
696
696
 
697
697
  class CreateTemplateRequest(ServiceRequest):
@@ -703,14 +703,14 @@ class CreateTemplateResponse(TypedDict, total=False):
703
703
 
704
704
 
705
705
  class CustomVerificationEmailTemplate(TypedDict, total=False):
706
- TemplateName: Optional[TemplateName]
707
- FromEmailAddress: Optional[FromAddress]
708
- TemplateSubject: Optional[Subject]
709
- SuccessRedirectionURL: Optional[SuccessRedirectionURL]
710
- FailureRedirectionURL: Optional[FailureRedirectionURL]
706
+ TemplateName: TemplateName | None
707
+ FromEmailAddress: FromAddress | None
708
+ TemplateSubject: Subject | None
709
+ SuccessRedirectionURL: SuccessRedirectionURL | None
710
+ FailureRedirectionURL: FailureRedirectionURL | None
711
711
 
712
712
 
713
- CustomVerificationEmailTemplates = List[CustomVerificationEmailTemplate]
713
+ CustomVerificationEmailTemplates = list[CustomVerificationEmailTemplate]
714
714
 
715
715
 
716
716
  class DeleteConfigurationSetEventDestinationRequest(ServiceRequest):
@@ -797,50 +797,50 @@ class DeleteVerifiedEmailAddressRequest(ServiceRequest):
797
797
 
798
798
 
799
799
  class DeliveryOptions(TypedDict, total=False):
800
- TlsPolicy: Optional[TlsPolicy]
800
+ TlsPolicy: TlsPolicy | None
801
801
 
802
802
 
803
803
  class DescribeActiveReceiptRuleSetRequest(ServiceRequest):
804
804
  pass
805
805
 
806
806
 
807
- ReceiptRulesList = List[ReceiptRule]
807
+ ReceiptRulesList = list[ReceiptRule]
808
808
  Timestamp = datetime
809
809
 
810
810
 
811
811
  class ReceiptRuleSetMetadata(TypedDict, total=False):
812
- Name: Optional[ReceiptRuleSetName]
813
- CreatedTimestamp: Optional[Timestamp]
812
+ Name: ReceiptRuleSetName | None
813
+ CreatedTimestamp: Timestamp | None
814
814
 
815
815
 
816
816
  class DescribeActiveReceiptRuleSetResponse(TypedDict, total=False):
817
- Metadata: Optional[ReceiptRuleSetMetadata]
818
- Rules: Optional[ReceiptRulesList]
817
+ Metadata: ReceiptRuleSetMetadata | None
818
+ Rules: ReceiptRulesList | None
819
819
 
820
820
 
821
821
  class DescribeConfigurationSetRequest(ServiceRequest):
822
822
  ConfigurationSetName: ConfigurationSetName
823
- ConfigurationSetAttributeNames: Optional[ConfigurationSetAttributeList]
823
+ ConfigurationSetAttributeNames: ConfigurationSetAttributeList | None
824
824
 
825
825
 
826
826
  LastFreshStart = datetime
827
827
 
828
828
 
829
829
  class ReputationOptions(TypedDict, total=False):
830
- SendingEnabled: Optional[Enabled]
831
- ReputationMetricsEnabled: Optional[Enabled]
832
- LastFreshStart: Optional[LastFreshStart]
830
+ SendingEnabled: Enabled | None
831
+ ReputationMetricsEnabled: Enabled | None
832
+ LastFreshStart: LastFreshStart | None
833
833
 
834
834
 
835
- EventDestinations = List[EventDestination]
835
+ EventDestinations = list[EventDestination]
836
836
 
837
837
 
838
838
  class DescribeConfigurationSetResponse(TypedDict, total=False):
839
- ConfigurationSet: Optional[ConfigurationSet]
840
- EventDestinations: Optional[EventDestinations]
841
- TrackingOptions: Optional[TrackingOptions]
842
- DeliveryOptions: Optional[DeliveryOptions]
843
- ReputationOptions: Optional[ReputationOptions]
839
+ ConfigurationSet: ConfigurationSet | None
840
+ EventDestinations: EventDestinations | None
841
+ TrackingOptions: TrackingOptions | None
842
+ DeliveryOptions: DeliveryOptions | None
843
+ ReputationOptions: ReputationOptions | None
844
844
 
845
845
 
846
846
  class DescribeReceiptRuleRequest(ServiceRequest):
@@ -849,7 +849,7 @@ class DescribeReceiptRuleRequest(ServiceRequest):
849
849
 
850
850
 
851
851
  class DescribeReceiptRuleResponse(TypedDict, total=False):
852
- Rule: Optional[ReceiptRule]
852
+ Rule: ReceiptRule | None
853
853
 
854
854
 
855
855
  class DescribeReceiptRuleSetRequest(ServiceRequest):
@@ -857,24 +857,24 @@ class DescribeReceiptRuleSetRequest(ServiceRequest):
857
857
 
858
858
 
859
859
  class DescribeReceiptRuleSetResponse(TypedDict, total=False):
860
- Metadata: Optional[ReceiptRuleSetMetadata]
861
- Rules: Optional[ReceiptRulesList]
860
+ Metadata: ReceiptRuleSetMetadata | None
861
+ Rules: ReceiptRulesList | None
862
862
 
863
863
 
864
- VerificationTokenList = List[VerificationToken]
864
+ VerificationTokenList = list[VerificationToken]
865
865
 
866
866
 
867
867
  class IdentityDkimAttributes(TypedDict, total=False):
868
868
  DkimEnabled: Enabled
869
869
  DkimVerificationStatus: VerificationStatus
870
- DkimTokens: Optional[VerificationTokenList]
870
+ DkimTokens: VerificationTokenList | None
871
871
 
872
872
 
873
- DkimAttributes = Dict[Identity, IdentityDkimAttributes]
873
+ DkimAttributes = dict[Identity, IdentityDkimAttributes]
874
874
 
875
875
 
876
876
  class GetAccountSendingEnabledResponse(TypedDict, total=False):
877
- Enabled: Optional[Enabled]
877
+ Enabled: Enabled | None
878
878
 
879
879
 
880
880
  class GetCustomVerificationEmailTemplateRequest(ServiceRequest):
@@ -882,15 +882,15 @@ class GetCustomVerificationEmailTemplateRequest(ServiceRequest):
882
882
 
883
883
 
884
884
  class GetCustomVerificationEmailTemplateResponse(TypedDict, total=False):
885
- TemplateName: Optional[TemplateName]
886
- FromEmailAddress: Optional[FromAddress]
887
- TemplateSubject: Optional[Subject]
888
- TemplateContent: Optional[TemplateContent]
889
- SuccessRedirectionURL: Optional[SuccessRedirectionURL]
890
- FailureRedirectionURL: Optional[FailureRedirectionURL]
885
+ TemplateName: TemplateName | None
886
+ FromEmailAddress: FromAddress | None
887
+ TemplateSubject: Subject | None
888
+ TemplateContent: TemplateContent | None
889
+ SuccessRedirectionURL: SuccessRedirectionURL | None
890
+ FailureRedirectionURL: FailureRedirectionURL | None
891
891
 
892
892
 
893
- IdentityList = List[Identity]
893
+ IdentityList = list[Identity]
894
894
 
895
895
 
896
896
  class GetIdentityDkimAttributesRequest(ServiceRequest):
@@ -911,7 +911,7 @@ class IdentityMailFromDomainAttributes(TypedDict, total=False):
911
911
  BehaviorOnMXFailure: BehaviorOnMXFailure
912
912
 
913
913
 
914
- MailFromDomainAttributes = Dict[Identity, IdentityMailFromDomainAttributes]
914
+ MailFromDomainAttributes = dict[Identity, IdentityMailFromDomainAttributes]
915
915
 
916
916
 
917
917
  class GetIdentityMailFromDomainAttributesResponse(TypedDict, total=False):
@@ -927,19 +927,19 @@ class IdentityNotificationAttributes(TypedDict, total=False):
927
927
  ComplaintTopic: NotificationTopic
928
928
  DeliveryTopic: NotificationTopic
929
929
  ForwardingEnabled: Enabled
930
- HeadersInBounceNotificationsEnabled: Optional[Enabled]
931
- HeadersInComplaintNotificationsEnabled: Optional[Enabled]
932
- HeadersInDeliveryNotificationsEnabled: Optional[Enabled]
930
+ HeadersInBounceNotificationsEnabled: Enabled | None
931
+ HeadersInComplaintNotificationsEnabled: Enabled | None
932
+ HeadersInDeliveryNotificationsEnabled: Enabled | None
933
933
 
934
934
 
935
- NotificationAttributes = Dict[Identity, IdentityNotificationAttributes]
935
+ NotificationAttributes = dict[Identity, IdentityNotificationAttributes]
936
936
 
937
937
 
938
938
  class GetIdentityNotificationAttributesResponse(TypedDict, total=False):
939
939
  NotificationAttributes: NotificationAttributes
940
940
 
941
941
 
942
- PolicyNameList = List[PolicyName]
942
+ PolicyNameList = list[PolicyName]
943
943
 
944
944
 
945
945
  class GetIdentityPoliciesRequest(ServiceRequest):
@@ -947,7 +947,7 @@ class GetIdentityPoliciesRequest(ServiceRequest):
947
947
  PolicyNames: PolicyNameList
948
948
 
949
949
 
950
- PolicyMap = Dict[PolicyName, Policy]
950
+ PolicyMap = dict[PolicyName, Policy]
951
951
 
952
952
 
953
953
  class GetIdentityPoliciesResponse(TypedDict, total=False):
@@ -960,10 +960,10 @@ class GetIdentityVerificationAttributesRequest(ServiceRequest):
960
960
 
961
961
  class IdentityVerificationAttributes(TypedDict, total=False):
962
962
  VerificationStatus: VerificationStatus
963
- VerificationToken: Optional[VerificationToken]
963
+ VerificationToken: VerificationToken | None
964
964
 
965
965
 
966
- VerificationAttributes = Dict[Identity, IdentityVerificationAttributes]
966
+ VerificationAttributes = dict[Identity, IdentityVerificationAttributes]
967
967
 
968
968
 
969
969
  class GetIdentityVerificationAttributesResponse(TypedDict, total=False):
@@ -971,24 +971,24 @@ class GetIdentityVerificationAttributesResponse(TypedDict, total=False):
971
971
 
972
972
 
973
973
  class GetSendQuotaResponse(TypedDict, total=False):
974
- Max24HourSend: Optional[Max24HourSend]
975
- MaxSendRate: Optional[MaxSendRate]
976
- SentLast24Hours: Optional[SentLast24Hours]
974
+ Max24HourSend: Max24HourSend | None
975
+ MaxSendRate: MaxSendRate | None
976
+ SentLast24Hours: SentLast24Hours | None
977
977
 
978
978
 
979
979
  class SendDataPoint(TypedDict, total=False):
980
- Timestamp: Optional[Timestamp]
981
- DeliveryAttempts: Optional[Counter]
982
- Bounces: Optional[Counter]
983
- Complaints: Optional[Counter]
984
- Rejects: Optional[Counter]
980
+ Timestamp: Timestamp | None
981
+ DeliveryAttempts: Counter | None
982
+ Bounces: Counter | None
983
+ Complaints: Counter | None
984
+ Rejects: Counter | None
985
985
 
986
986
 
987
- SendDataPointList = List[SendDataPoint]
987
+ SendDataPointList = list[SendDataPoint]
988
988
 
989
989
 
990
990
  class GetSendStatisticsResponse(TypedDict, total=False):
991
- SendDataPoints: Optional[SendDataPointList]
991
+ SendDataPoints: SendDataPointList | None
992
992
 
993
993
 
994
994
  class GetTemplateRequest(ServiceRequest):
@@ -996,38 +996,38 @@ class GetTemplateRequest(ServiceRequest):
996
996
 
997
997
 
998
998
  class GetTemplateResponse(TypedDict, total=False):
999
- Template: Optional[Template]
999
+ Template: Template | None
1000
1000
 
1001
1001
 
1002
1002
  class ListConfigurationSetsRequest(ServiceRequest):
1003
- NextToken: Optional[NextToken]
1004
- MaxItems: Optional[MaxItems]
1003
+ NextToken: NextToken | None
1004
+ MaxItems: MaxItems | None
1005
1005
 
1006
1006
 
1007
1007
  class ListConfigurationSetsResponse(TypedDict, total=False):
1008
- ConfigurationSets: Optional[ConfigurationSets]
1009
- NextToken: Optional[NextToken]
1008
+ ConfigurationSets: ConfigurationSets | None
1009
+ NextToken: NextToken | None
1010
1010
 
1011
1011
 
1012
1012
  class ListCustomVerificationEmailTemplatesRequest(ServiceRequest):
1013
- NextToken: Optional[NextToken]
1014
- MaxResults: Optional[MaxResults]
1013
+ NextToken: NextToken | None
1014
+ MaxResults: MaxResults | None
1015
1015
 
1016
1016
 
1017
1017
  class ListCustomVerificationEmailTemplatesResponse(TypedDict, total=False):
1018
- CustomVerificationEmailTemplates: Optional[CustomVerificationEmailTemplates]
1019
- NextToken: Optional[NextToken]
1018
+ CustomVerificationEmailTemplates: CustomVerificationEmailTemplates | None
1019
+ NextToken: NextToken | None
1020
1020
 
1021
1021
 
1022
1022
  class ListIdentitiesRequest(ServiceRequest):
1023
- IdentityType: Optional[IdentityType]
1024
- NextToken: Optional[NextToken]
1025
- MaxItems: Optional[MaxItems]
1023
+ IdentityType: IdentityType | None
1024
+ NextToken: NextToken | None
1025
+ MaxItems: MaxItems | None
1026
1026
 
1027
1027
 
1028
1028
  class ListIdentitiesResponse(TypedDict, total=False):
1029
1029
  Identities: IdentityList
1030
- NextToken: Optional[NextToken]
1030
+ NextToken: NextToken | None
1031
1031
 
1032
1032
 
1033
1033
  class ListIdentityPoliciesRequest(ServiceRequest):
@@ -1042,45 +1042,45 @@ class ListReceiptFiltersRequest(ServiceRequest):
1042
1042
  pass
1043
1043
 
1044
1044
 
1045
- ReceiptFilterList = List[ReceiptFilter]
1045
+ ReceiptFilterList = list[ReceiptFilter]
1046
1046
 
1047
1047
 
1048
1048
  class ListReceiptFiltersResponse(TypedDict, total=False):
1049
- Filters: Optional[ReceiptFilterList]
1049
+ Filters: ReceiptFilterList | None
1050
1050
 
1051
1051
 
1052
1052
  class ListReceiptRuleSetsRequest(ServiceRequest):
1053
- NextToken: Optional[NextToken]
1053
+ NextToken: NextToken | None
1054
1054
 
1055
1055
 
1056
- ReceiptRuleSetsLists = List[ReceiptRuleSetMetadata]
1056
+ ReceiptRuleSetsLists = list[ReceiptRuleSetMetadata]
1057
1057
 
1058
1058
 
1059
1059
  class ListReceiptRuleSetsResponse(TypedDict, total=False):
1060
- RuleSets: Optional[ReceiptRuleSetsLists]
1061
- NextToken: Optional[NextToken]
1060
+ RuleSets: ReceiptRuleSetsLists | None
1061
+ NextToken: NextToken | None
1062
1062
 
1063
1063
 
1064
1064
  class ListTemplatesRequest(ServiceRequest):
1065
- NextToken: Optional[NextToken]
1066
- MaxItems: Optional[MaxItems]
1065
+ NextToken: NextToken | None
1066
+ MaxItems: MaxItems | None
1067
1067
 
1068
1068
 
1069
1069
  class TemplateMetadata(TypedDict, total=False):
1070
- Name: Optional[TemplateName]
1071
- CreatedTimestamp: Optional[Timestamp]
1070
+ Name: TemplateName | None
1071
+ CreatedTimestamp: Timestamp | None
1072
1072
 
1073
1073
 
1074
- TemplateMetadataList = List[TemplateMetadata]
1074
+ TemplateMetadataList = list[TemplateMetadata]
1075
1075
 
1076
1076
 
1077
1077
  class ListTemplatesResponse(TypedDict, total=False):
1078
- TemplatesMetadata: Optional[TemplateMetadataList]
1079
- NextToken: Optional[NextToken]
1078
+ TemplatesMetadata: TemplateMetadataList | None
1079
+ NextToken: NextToken | None
1080
1080
 
1081
1081
 
1082
1082
  class ListVerifiedEmailAddressesResponse(TypedDict, total=False):
1083
- VerifiedEmailAddresses: Optional[AddressList]
1083
+ VerifiedEmailAddresses: AddressList | None
1084
1084
 
1085
1085
 
1086
1086
  class Message(TypedDict, total=False):
@@ -1090,13 +1090,13 @@ class Message(TypedDict, total=False):
1090
1090
 
1091
1091
  class MessageDsn(TypedDict, total=False):
1092
1092
  ReportingMta: ReportingMta
1093
- ArrivalDate: Optional[ArrivalDate]
1094
- ExtensionFields: Optional[ExtensionFieldList]
1093
+ ArrivalDate: ArrivalDate | None
1094
+ ExtensionFields: ExtensionFieldList | None
1095
1095
 
1096
1096
 
1097
1097
  class PutConfigurationSetDeliveryOptionsRequest(ServiceRequest):
1098
1098
  ConfigurationSetName: ConfigurationSetName
1099
- DeliveryOptions: Optional[DeliveryOptions]
1099
+ DeliveryOptions: DeliveryOptions | None
1100
1100
 
1101
1101
 
1102
1102
  class PutConfigurationSetDeliveryOptionsResponse(TypedDict, total=False):
@@ -1120,7 +1120,7 @@ class RawMessage(TypedDict, total=False):
1120
1120
  Data: RawMessageData
1121
1121
 
1122
1122
 
1123
- ReceiptRuleNamesList = List[ReceiptRuleName]
1123
+ ReceiptRuleNamesList = list[ReceiptRuleName]
1124
1124
 
1125
1125
 
1126
1126
  class ReorderReceiptRuleSetRequest(ServiceRequest):
@@ -1135,26 +1135,26 @@ class ReorderReceiptRuleSetResponse(TypedDict, total=False):
1135
1135
  class SendBounceRequest(ServiceRequest):
1136
1136
  OriginalMessageId: MessageId
1137
1137
  BounceSender: Address
1138
- Explanation: Optional[Explanation]
1139
- MessageDsn: Optional[MessageDsn]
1138
+ Explanation: Explanation | None
1139
+ MessageDsn: MessageDsn | None
1140
1140
  BouncedRecipientInfoList: BouncedRecipientInfoList
1141
- BounceSenderArn: Optional[AmazonResourceName]
1141
+ BounceSenderArn: AmazonResourceName | None
1142
1142
 
1143
1143
 
1144
1144
  class SendBounceResponse(TypedDict, total=False):
1145
- MessageId: Optional[MessageId]
1145
+ MessageId: MessageId | None
1146
1146
 
1147
1147
 
1148
1148
  class SendBulkTemplatedEmailRequest(ServiceRequest):
1149
1149
  Source: Address
1150
- SourceArn: Optional[AmazonResourceName]
1151
- ReplyToAddresses: Optional[AddressList]
1152
- ReturnPath: Optional[Address]
1153
- ReturnPathArn: Optional[AmazonResourceName]
1154
- ConfigurationSetName: Optional[ConfigurationSetName]
1155
- DefaultTags: Optional[MessageTagList]
1150
+ SourceArn: AmazonResourceName | None
1151
+ ReplyToAddresses: AddressList | None
1152
+ ReturnPath: Address | None
1153
+ ReturnPathArn: AmazonResourceName | None
1154
+ ConfigurationSetName: ConfigurationSetName | None
1155
+ DefaultTags: MessageTagList | None
1156
1156
  Template: TemplateName
1157
- TemplateArn: Optional[AmazonResourceName]
1157
+ TemplateArn: AmazonResourceName | None
1158
1158
  DefaultTemplateData: TemplateData
1159
1159
  Destinations: BulkEmailDestinationList
1160
1160
 
@@ -1166,23 +1166,23 @@ class SendBulkTemplatedEmailResponse(TypedDict, total=False):
1166
1166
  class SendCustomVerificationEmailRequest(ServiceRequest):
1167
1167
  EmailAddress: Address
1168
1168
  TemplateName: TemplateName
1169
- ConfigurationSetName: Optional[ConfigurationSetName]
1169
+ ConfigurationSetName: ConfigurationSetName | None
1170
1170
 
1171
1171
 
1172
1172
  class SendCustomVerificationEmailResponse(TypedDict, total=False):
1173
- MessageId: Optional[MessageId]
1173
+ MessageId: MessageId | None
1174
1174
 
1175
1175
 
1176
1176
  class SendEmailRequest(ServiceRequest):
1177
1177
  Source: Address
1178
1178
  Destination: Destination
1179
1179
  Message: Message
1180
- ReplyToAddresses: Optional[AddressList]
1181
- ReturnPath: Optional[Address]
1182
- SourceArn: Optional[AmazonResourceName]
1183
- ReturnPathArn: Optional[AmazonResourceName]
1184
- Tags: Optional[MessageTagList]
1185
- ConfigurationSetName: Optional[ConfigurationSetName]
1180
+ ReplyToAddresses: AddressList | None
1181
+ ReturnPath: Address | None
1182
+ SourceArn: AmazonResourceName | None
1183
+ ReturnPathArn: AmazonResourceName | None
1184
+ Tags: MessageTagList | None
1185
+ ConfigurationSetName: ConfigurationSetName | None
1186
1186
 
1187
1187
 
1188
1188
  class SendEmailResponse(TypedDict, total=False):
@@ -1190,14 +1190,14 @@ class SendEmailResponse(TypedDict, total=False):
1190
1190
 
1191
1191
 
1192
1192
  class SendRawEmailRequest(ServiceRequest):
1193
- Source: Optional[Address]
1194
- Destinations: Optional[AddressList]
1193
+ Source: Address | None
1194
+ Destinations: AddressList | None
1195
1195
  RawMessage: RawMessage
1196
- FromArn: Optional[AmazonResourceName]
1197
- SourceArn: Optional[AmazonResourceName]
1198
- ReturnPathArn: Optional[AmazonResourceName]
1199
- Tags: Optional[MessageTagList]
1200
- ConfigurationSetName: Optional[ConfigurationSetName]
1196
+ FromArn: AmazonResourceName | None
1197
+ SourceArn: AmazonResourceName | None
1198
+ ReturnPathArn: AmazonResourceName | None
1199
+ Tags: MessageTagList | None
1200
+ ConfigurationSetName: ConfigurationSetName | None
1201
1201
 
1202
1202
 
1203
1203
  class SendRawEmailResponse(TypedDict, total=False):
@@ -1207,14 +1207,14 @@ class SendRawEmailResponse(TypedDict, total=False):
1207
1207
  class SendTemplatedEmailRequest(ServiceRequest):
1208
1208
  Source: Address
1209
1209
  Destination: Destination
1210
- ReplyToAddresses: Optional[AddressList]
1211
- ReturnPath: Optional[Address]
1212
- SourceArn: Optional[AmazonResourceName]
1213
- ReturnPathArn: Optional[AmazonResourceName]
1214
- Tags: Optional[MessageTagList]
1215
- ConfigurationSetName: Optional[ConfigurationSetName]
1210
+ ReplyToAddresses: AddressList | None
1211
+ ReturnPath: Address | None
1212
+ SourceArn: AmazonResourceName | None
1213
+ ReturnPathArn: AmazonResourceName | None
1214
+ Tags: MessageTagList | None
1215
+ ConfigurationSetName: ConfigurationSetName | None
1216
1216
  Template: TemplateName
1217
- TemplateArn: Optional[AmazonResourceName]
1217
+ TemplateArn: AmazonResourceName | None
1218
1218
  TemplateData: TemplateData
1219
1219
 
1220
1220
 
@@ -1223,7 +1223,7 @@ class SendTemplatedEmailResponse(TypedDict, total=False):
1223
1223
 
1224
1224
 
1225
1225
  class SetActiveReceiptRuleSetRequest(ServiceRequest):
1226
- RuleSetName: Optional[ReceiptRuleSetName]
1226
+ RuleSetName: ReceiptRuleSetName | None
1227
1227
 
1228
1228
 
1229
1229
  class SetActiveReceiptRuleSetResponse(TypedDict, total=False):
@@ -1260,8 +1260,8 @@ class SetIdentityHeadersInNotificationsEnabledResponse(TypedDict, total=False):
1260
1260
 
1261
1261
  class SetIdentityMailFromDomainRequest(ServiceRequest):
1262
1262
  Identity: Identity
1263
- MailFromDomain: Optional[MailFromDomainName]
1264
- BehaviorOnMXFailure: Optional[BehaviorOnMXFailure]
1263
+ MailFromDomain: MailFromDomainName | None
1264
+ BehaviorOnMXFailure: BehaviorOnMXFailure | None
1265
1265
 
1266
1266
 
1267
1267
  class SetIdentityMailFromDomainResponse(TypedDict, total=False):
@@ -1271,7 +1271,7 @@ class SetIdentityMailFromDomainResponse(TypedDict, total=False):
1271
1271
  class SetIdentityNotificationTopicRequest(ServiceRequest):
1272
1272
  Identity: Identity
1273
1273
  NotificationType: NotificationType
1274
- SnsTopic: Optional[NotificationTopic]
1274
+ SnsTopic: NotificationTopic | None
1275
1275
 
1276
1276
 
1277
1277
  class SetIdentityNotificationTopicResponse(TypedDict, total=False):
@@ -1281,7 +1281,7 @@ class SetIdentityNotificationTopicResponse(TypedDict, total=False):
1281
1281
  class SetReceiptRulePositionRequest(ServiceRequest):
1282
1282
  RuleSetName: ReceiptRuleSetName
1283
1283
  RuleName: ReceiptRuleName
1284
- After: Optional[ReceiptRuleName]
1284
+ After: ReceiptRuleName | None
1285
1285
 
1286
1286
 
1287
1287
  class SetReceiptRulePositionResponse(TypedDict, total=False):
@@ -1294,11 +1294,11 @@ class TestRenderTemplateRequest(ServiceRequest):
1294
1294
 
1295
1295
 
1296
1296
  class TestRenderTemplateResponse(TypedDict, total=False):
1297
- RenderedTemplate: Optional[RenderedTemplate]
1297
+ RenderedTemplate: RenderedTemplate | None
1298
1298
 
1299
1299
 
1300
1300
  class UpdateAccountSendingEnabledRequest(ServiceRequest):
1301
- Enabled: Optional[Enabled]
1301
+ Enabled: Enabled | None
1302
1302
 
1303
1303
 
1304
1304
  class UpdateConfigurationSetEventDestinationRequest(ServiceRequest):
@@ -1331,11 +1331,11 @@ class UpdateConfigurationSetTrackingOptionsResponse(TypedDict, total=False):
1331
1331
 
1332
1332
  class UpdateCustomVerificationEmailTemplateRequest(ServiceRequest):
1333
1333
  TemplateName: TemplateName
1334
- FromEmailAddress: Optional[FromAddress]
1335
- TemplateSubject: Optional[Subject]
1336
- TemplateContent: Optional[TemplateContent]
1337
- SuccessRedirectionURL: Optional[SuccessRedirectionURL]
1338
- FailureRedirectionURL: Optional[FailureRedirectionURL]
1334
+ FromEmailAddress: FromAddress | None
1335
+ TemplateSubject: Subject | None
1336
+ TemplateContent: TemplateContent | None
1337
+ SuccessRedirectionURL: SuccessRedirectionURL | None
1338
+ FailureRedirectionURL: FailureRedirectionURL | None
1339
1339
 
1340
1340
 
1341
1341
  class UpdateReceiptRuleRequest(ServiceRequest):
@@ -1384,8 +1384,8 @@ class VerifyEmailIdentityResponse(TypedDict, total=False):
1384
1384
 
1385
1385
 
1386
1386
  class SesApi:
1387
- service = "ses"
1388
- version = "2010-12-01"
1387
+ service: str = "ses"
1388
+ version: str = "2010-12-01"
1389
1389
 
1390
1390
  @handler("CloneReceiptRuleSet")
1391
1391
  def clone_receipt_rule_set(