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.
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,7 @@
1
+ from collections.abc import Iterator
1
2
  from datetime import datetime
2
3
  from enum import StrEnum
3
- from typing import Dict, Iterator, List, Optional, TypedDict
4
+ from typing import TypedDict
4
5
 
5
6
  from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
6
7
 
@@ -19,6 +20,7 @@ ListStreamConsumersInputLimit = int
19
20
  ListStreamsInputLimit = int
20
21
  ListTagsForStreamInputLimit = int
21
22
  MaxRecordSizeInKiB = int
23
+ NaturalIntegerObject = int
22
24
  NextToken = str
23
25
  OnDemandStreamCountLimitObject = int
24
26
  OnDemandStreamCountObject = int
@@ -59,6 +61,17 @@ class MetricsName(StrEnum):
59
61
  ALL = "ALL"
60
62
 
61
63
 
64
+ class MinimumThroughputBillingCommitmentInputStatus(StrEnum):
65
+ ENABLED = "ENABLED"
66
+ DISABLED = "DISABLED"
67
+
68
+
69
+ class MinimumThroughputBillingCommitmentOutputStatus(StrEnum):
70
+ ENABLED = "ENABLED"
71
+ DISABLED = "DISABLED"
72
+ ENABLED_UNTIL_EARLIEST_ALLOWED_END = "ENABLED_UNTIL_EARLIEST_ALLOWED_END"
73
+
74
+
62
75
  class ScalingType(StrEnum):
63
76
  UNIFORM_SCALING = "UNIFORM_SCALING"
64
77
 
@@ -188,13 +201,13 @@ class ValidationException(ServiceException):
188
201
  status_code: int = 400
189
202
 
190
203
 
191
- TagMap = Dict[TagKey, TagValue]
204
+ TagMap = dict[TagKey, TagValue]
192
205
 
193
206
 
194
207
  class AddTagsToStreamInput(ServiceRequest):
195
- StreamName: Optional[StreamName]
208
+ StreamName: StreamName | None
196
209
  Tags: TagMap
197
- StreamARN: Optional[StreamARN]
210
+ StreamARN: StreamARN | None
198
211
 
199
212
 
200
213
  class HashKeyRange(TypedDict, total=False):
@@ -202,7 +215,7 @@ class HashKeyRange(TypedDict, total=False):
202
215
  EndingHashKey: HashKey
203
216
 
204
217
 
205
- ShardIdList = List[ShardId]
218
+ ShardIdList = list[ShardId]
206
219
 
207
220
 
208
221
  class ChildShard(TypedDict, total=False):
@@ -211,7 +224,7 @@ class ChildShard(TypedDict, total=False):
211
224
  HashKeyRange: HashKeyRange
212
225
 
213
226
 
214
- ChildShardList = List[ChildShard]
227
+ ChildShardList = list[ChildShard]
215
228
  Timestamp = datetime
216
229
 
217
230
 
@@ -230,7 +243,7 @@ class ConsumerDescription(TypedDict, total=False):
230
243
  StreamARN: StreamARN
231
244
 
232
245
 
233
- ConsumerList = List[Consumer]
246
+ ConsumerList = list[Consumer]
234
247
 
235
248
 
236
249
  class StreamModeDetails(TypedDict, total=False):
@@ -239,19 +252,20 @@ class StreamModeDetails(TypedDict, total=False):
239
252
 
240
253
  class CreateStreamInput(ServiceRequest):
241
254
  StreamName: StreamName
242
- ShardCount: Optional[PositiveIntegerObject]
243
- StreamModeDetails: Optional[StreamModeDetails]
244
- Tags: Optional[TagMap]
245
- MaxRecordSizeInKiB: Optional[MaxRecordSizeInKiB]
255
+ ShardCount: PositiveIntegerObject | None
256
+ StreamModeDetails: StreamModeDetails | None
257
+ Tags: TagMap | None
258
+ WarmThroughputMiBps: NaturalIntegerObject | None
259
+ MaxRecordSizeInKiB: MaxRecordSizeInKiB | None
246
260
 
247
261
 
248
262
  Data = bytes
249
263
 
250
264
 
251
265
  class DecreaseStreamRetentionPeriodInput(ServiceRequest):
252
- StreamName: Optional[StreamName]
266
+ StreamName: StreamName | None
253
267
  RetentionPeriodHours: RetentionPeriodHours
254
- StreamARN: Optional[StreamARN]
268
+ StreamARN: StreamARN | None
255
269
 
256
270
 
257
271
  class DeleteResourcePolicyInput(ServiceRequest):
@@ -259,15 +273,30 @@ class DeleteResourcePolicyInput(ServiceRequest):
259
273
 
260
274
 
261
275
  class DeleteStreamInput(ServiceRequest):
262
- StreamName: Optional[StreamName]
263
- EnforceConsumerDeletion: Optional[BooleanObject]
264
- StreamARN: Optional[StreamARN]
276
+ StreamName: StreamName | None
277
+ EnforceConsumerDeletion: BooleanObject | None
278
+ StreamARN: StreamARN | None
265
279
 
266
280
 
267
281
  class DeregisterStreamConsumerInput(ServiceRequest):
268
- StreamARN: Optional[StreamARN]
269
- ConsumerName: Optional[ConsumerName]
270
- ConsumerARN: Optional[ConsumerARN]
282
+ StreamARN: StreamARN | None
283
+ ConsumerName: ConsumerName | None
284
+ ConsumerARN: ConsumerARN | None
285
+
286
+
287
+ class DescribeAccountSettingsInput(ServiceRequest):
288
+ pass
289
+
290
+
291
+ class MinimumThroughputBillingCommitmentOutput(TypedDict, total=False):
292
+ Status: MinimumThroughputBillingCommitmentOutputStatus
293
+ StartedAt: Timestamp | None
294
+ EndedAt: Timestamp | None
295
+ EarliestAllowedEndAt: Timestamp | None
296
+
297
+
298
+ class DescribeAccountSettingsOutput(TypedDict, total=False):
299
+ MinimumThroughputBillingCommitment: MinimumThroughputBillingCommitmentOutput | None
271
300
 
272
301
 
273
302
  class DescribeLimitsInput(ServiceRequest):
@@ -282,9 +311,9 @@ class DescribeLimitsOutput(TypedDict, total=False):
282
311
 
283
312
 
284
313
  class DescribeStreamConsumerInput(ServiceRequest):
285
- StreamARN: Optional[StreamARN]
286
- ConsumerName: Optional[ConsumerName]
287
- ConsumerARN: Optional[ConsumerARN]
314
+ StreamARN: StreamARN | None
315
+ ConsumerName: ConsumerName | None
316
+ ConsumerARN: ConsumerARN | None
288
317
 
289
318
 
290
319
  class DescribeStreamConsumerOutput(TypedDict, total=False):
@@ -292,50 +321,50 @@ class DescribeStreamConsumerOutput(TypedDict, total=False):
292
321
 
293
322
 
294
323
  class DescribeStreamInput(ServiceRequest):
295
- StreamName: Optional[StreamName]
296
- Limit: Optional[DescribeStreamInputLimit]
297
- ExclusiveStartShardId: Optional[ShardId]
298
- StreamARN: Optional[StreamARN]
324
+ StreamName: StreamName | None
325
+ Limit: DescribeStreamInputLimit | None
326
+ ExclusiveStartShardId: ShardId | None
327
+ StreamARN: StreamARN | None
299
328
 
300
329
 
301
- MetricsNameList = List[MetricsName]
330
+ MetricsNameList = list[MetricsName]
302
331
 
303
332
 
304
333
  class EnhancedMetrics(TypedDict, total=False):
305
- ShardLevelMetrics: Optional[MetricsNameList]
334
+ ShardLevelMetrics: MetricsNameList | None
306
335
 
307
336
 
308
- EnhancedMonitoringList = List[EnhancedMetrics]
337
+ EnhancedMonitoringList = list[EnhancedMetrics]
309
338
 
310
339
 
311
340
  class SequenceNumberRange(TypedDict, total=False):
312
341
  StartingSequenceNumber: SequenceNumber
313
- EndingSequenceNumber: Optional[SequenceNumber]
342
+ EndingSequenceNumber: SequenceNumber | None
314
343
 
315
344
 
316
345
  class Shard(TypedDict, total=False):
317
346
  ShardId: ShardId
318
- ParentShardId: Optional[ShardId]
319
- AdjacentParentShardId: Optional[ShardId]
347
+ ParentShardId: ShardId | None
348
+ AdjacentParentShardId: ShardId | None
320
349
  HashKeyRange: HashKeyRange
321
350
  SequenceNumberRange: SequenceNumberRange
322
351
 
323
352
 
324
- ShardList = List[Shard]
353
+ ShardList = list[Shard]
325
354
 
326
355
 
327
356
  class StreamDescription(TypedDict, total=False):
328
357
  StreamName: StreamName
329
358
  StreamARN: StreamARN
330
359
  StreamStatus: StreamStatus
331
- StreamModeDetails: Optional[StreamModeDetails]
360
+ StreamModeDetails: StreamModeDetails | None
332
361
  Shards: ShardList
333
362
  HasMoreShards: BooleanObject
334
363
  RetentionPeriodHours: RetentionPeriodHours
335
364
  StreamCreationTimestamp: Timestamp
336
365
  EnhancedMonitoring: EnhancedMonitoringList
337
- EncryptionType: Optional[EncryptionType]
338
- KeyId: Optional[KeyId]
366
+ EncryptionType: EncryptionType | None
367
+ KeyId: KeyId | None
339
368
 
340
369
 
341
370
  class DescribeStreamOutput(TypedDict, total=False):
@@ -343,23 +372,29 @@ class DescribeStreamOutput(TypedDict, total=False):
343
372
 
344
373
 
345
374
  class DescribeStreamSummaryInput(ServiceRequest):
346
- StreamName: Optional[StreamName]
347
- StreamARN: Optional[StreamARN]
375
+ StreamName: StreamName | None
376
+ StreamARN: StreamARN | None
377
+
378
+
379
+ class WarmThroughputObject(TypedDict, total=False):
380
+ TargetMiBps: NaturalIntegerObject | None
381
+ CurrentMiBps: NaturalIntegerObject | None
348
382
 
349
383
 
350
384
  class StreamDescriptionSummary(TypedDict, total=False):
351
385
  StreamName: StreamName
352
386
  StreamARN: StreamARN
353
387
  StreamStatus: StreamStatus
354
- StreamModeDetails: Optional[StreamModeDetails]
388
+ StreamModeDetails: StreamModeDetails | None
355
389
  RetentionPeriodHours: RetentionPeriodHours
356
390
  StreamCreationTimestamp: Timestamp
357
391
  EnhancedMonitoring: EnhancedMonitoringList
358
- EncryptionType: Optional[EncryptionType]
359
- KeyId: Optional[KeyId]
392
+ EncryptionType: EncryptionType | None
393
+ KeyId: KeyId | None
360
394
  OpenShardCount: ShardCountObject
361
- ConsumerCount: Optional[ConsumerCountObject]
362
- MaxRecordSizeInKiB: Optional[MaxRecordSizeInKiB]
395
+ ConsumerCount: ConsumerCountObject | None
396
+ WarmThroughput: WarmThroughputObject | None
397
+ MaxRecordSizeInKiB: MaxRecordSizeInKiB | None
363
398
 
364
399
 
365
400
  class DescribeStreamSummaryOutput(TypedDict, total=False):
@@ -367,28 +402,28 @@ class DescribeStreamSummaryOutput(TypedDict, total=False):
367
402
 
368
403
 
369
404
  class DisableEnhancedMonitoringInput(ServiceRequest):
370
- StreamName: Optional[StreamName]
405
+ StreamName: StreamName | None
371
406
  ShardLevelMetrics: MetricsNameList
372
- StreamARN: Optional[StreamARN]
407
+ StreamARN: StreamARN | None
373
408
 
374
409
 
375
410
  class EnableEnhancedMonitoringInput(ServiceRequest):
376
- StreamName: Optional[StreamName]
411
+ StreamName: StreamName | None
377
412
  ShardLevelMetrics: MetricsNameList
378
- StreamARN: Optional[StreamARN]
413
+ StreamARN: StreamARN | None
379
414
 
380
415
 
381
416
  class EnhancedMonitoringOutput(TypedDict, total=False):
382
- StreamName: Optional[StreamName]
383
- CurrentShardLevelMetrics: Optional[MetricsNameList]
384
- DesiredShardLevelMetrics: Optional[MetricsNameList]
385
- StreamARN: Optional[StreamARN]
417
+ StreamName: StreamName | None
418
+ CurrentShardLevelMetrics: MetricsNameList | None
419
+ DesiredShardLevelMetrics: MetricsNameList | None
420
+ StreamARN: StreamARN | None
386
421
 
387
422
 
388
423
  class GetRecordsInput(ServiceRequest):
389
424
  ShardIterator: ShardIterator
390
- Limit: Optional[GetRecordsInputLimit]
391
- StreamARN: Optional[StreamARN]
425
+ Limit: GetRecordsInputLimit | None
426
+ StreamARN: StreamARN | None
392
427
 
393
428
 
394
429
  MillisBehindLatest = int
@@ -396,20 +431,20 @@ MillisBehindLatest = int
396
431
 
397
432
  class Record(TypedDict, total=False):
398
433
  SequenceNumber: SequenceNumber
399
- ApproximateArrivalTimestamp: Optional[Timestamp]
434
+ ApproximateArrivalTimestamp: Timestamp | None
400
435
  Data: Data
401
436
  PartitionKey: PartitionKey
402
- EncryptionType: Optional[EncryptionType]
437
+ EncryptionType: EncryptionType | None
403
438
 
404
439
 
405
- RecordList = List[Record]
440
+ RecordList = list[Record]
406
441
 
407
442
 
408
443
  class GetRecordsOutput(TypedDict, total=False):
409
444
  Records: RecordList
410
- NextShardIterator: Optional[ShardIterator]
411
- MillisBehindLatest: Optional[MillisBehindLatest]
412
- ChildShards: Optional[ChildShardList]
445
+ NextShardIterator: ShardIterator | None
446
+ MillisBehindLatest: MillisBehindLatest | None
447
+ ChildShards: ChildShardList | None
413
448
 
414
449
 
415
450
  class GetResourcePolicyInput(ServiceRequest):
@@ -421,80 +456,80 @@ class GetResourcePolicyOutput(TypedDict, total=False):
421
456
 
422
457
 
423
458
  class GetShardIteratorInput(ServiceRequest):
424
- StreamName: Optional[StreamName]
459
+ StreamName: StreamName | None
425
460
  ShardId: ShardId
426
461
  ShardIteratorType: ShardIteratorType
427
- StartingSequenceNumber: Optional[SequenceNumber]
428
- Timestamp: Optional[Timestamp]
429
- StreamARN: Optional[StreamARN]
462
+ StartingSequenceNumber: SequenceNumber | None
463
+ Timestamp: Timestamp | None
464
+ StreamARN: StreamARN | None
430
465
 
431
466
 
432
467
  class GetShardIteratorOutput(TypedDict, total=False):
433
- ShardIterator: Optional[ShardIterator]
468
+ ShardIterator: ShardIterator | None
434
469
 
435
470
 
436
471
  class IncreaseStreamRetentionPeriodInput(ServiceRequest):
437
- StreamName: Optional[StreamName]
472
+ StreamName: StreamName | None
438
473
  RetentionPeriodHours: RetentionPeriodHours
439
- StreamARN: Optional[StreamARN]
474
+ StreamARN: StreamARN | None
440
475
 
441
476
 
442
477
  class ShardFilter(TypedDict, total=False):
443
478
  Type: ShardFilterType
444
- ShardId: Optional[ShardId]
445
- Timestamp: Optional[Timestamp]
479
+ ShardId: ShardId | None
480
+ Timestamp: Timestamp | None
446
481
 
447
482
 
448
483
  class ListShardsInput(ServiceRequest):
449
- StreamName: Optional[StreamName]
450
- NextToken: Optional[NextToken]
451
- ExclusiveStartShardId: Optional[ShardId]
452
- MaxResults: Optional[ListShardsInputLimit]
453
- StreamCreationTimestamp: Optional[Timestamp]
454
- ShardFilter: Optional[ShardFilter]
455
- StreamARN: Optional[StreamARN]
484
+ StreamName: StreamName | None
485
+ NextToken: NextToken | None
486
+ ExclusiveStartShardId: ShardId | None
487
+ MaxResults: ListShardsInputLimit | None
488
+ StreamCreationTimestamp: Timestamp | None
489
+ ShardFilter: ShardFilter | None
490
+ StreamARN: StreamARN | None
456
491
 
457
492
 
458
493
  class ListShardsOutput(TypedDict, total=False):
459
- Shards: Optional[ShardList]
460
- NextToken: Optional[NextToken]
494
+ Shards: ShardList | None
495
+ NextToken: NextToken | None
461
496
 
462
497
 
463
498
  class ListStreamConsumersInput(ServiceRequest):
464
499
  StreamARN: StreamARN
465
- NextToken: Optional[NextToken]
466
- MaxResults: Optional[ListStreamConsumersInputLimit]
467
- StreamCreationTimestamp: Optional[Timestamp]
500
+ NextToken: NextToken | None
501
+ MaxResults: ListStreamConsumersInputLimit | None
502
+ StreamCreationTimestamp: Timestamp | None
468
503
 
469
504
 
470
505
  class ListStreamConsumersOutput(TypedDict, total=False):
471
- Consumers: Optional[ConsumerList]
472
- NextToken: Optional[NextToken]
506
+ Consumers: ConsumerList | None
507
+ NextToken: NextToken | None
473
508
 
474
509
 
475
510
  class ListStreamsInput(ServiceRequest):
476
- Limit: Optional[ListStreamsInputLimit]
477
- ExclusiveStartStreamName: Optional[StreamName]
478
- NextToken: Optional[NextToken]
511
+ Limit: ListStreamsInputLimit | None
512
+ ExclusiveStartStreamName: StreamName | None
513
+ NextToken: NextToken | None
479
514
 
480
515
 
481
516
  class StreamSummary(TypedDict, total=False):
482
517
  StreamName: StreamName
483
518
  StreamARN: StreamARN
484
519
  StreamStatus: StreamStatus
485
- StreamModeDetails: Optional[StreamModeDetails]
486
- StreamCreationTimestamp: Optional[Timestamp]
520
+ StreamModeDetails: StreamModeDetails | None
521
+ StreamCreationTimestamp: Timestamp | None
487
522
 
488
523
 
489
- StreamSummaryList = List[StreamSummary]
490
- StreamNameList = List[StreamName]
524
+ StreamSummaryList = list[StreamSummary]
525
+ StreamNameList = list[StreamName]
491
526
 
492
527
 
493
528
  class ListStreamsOutput(TypedDict, total=False):
494
529
  StreamNames: StreamNameList
495
530
  HasMoreStreams: BooleanObject
496
- NextToken: Optional[NextToken]
497
- StreamSummaries: Optional[StreamSummaryList]
531
+ NextToken: NextToken | None
532
+ StreamSummaries: StreamSummaryList | None
498
533
 
499
534
 
500
535
  class ListTagsForResourceInput(ServiceRequest):
@@ -503,21 +538,21 @@ class ListTagsForResourceInput(ServiceRequest):
503
538
 
504
539
  class Tag(TypedDict, total=False):
505
540
  Key: TagKey
506
- Value: Optional[TagValue]
541
+ Value: TagValue | None
507
542
 
508
543
 
509
- TagList = List[Tag]
544
+ TagList = list[Tag]
510
545
 
511
546
 
512
547
  class ListTagsForResourceOutput(TypedDict, total=False):
513
- Tags: Optional[TagList]
548
+ Tags: TagList | None
514
549
 
515
550
 
516
551
  class ListTagsForStreamInput(ServiceRequest):
517
- StreamName: Optional[StreamName]
518
- ExclusiveStartTagKey: Optional[TagKey]
519
- Limit: Optional[ListTagsForStreamInputLimit]
520
- StreamARN: Optional[StreamARN]
552
+ StreamName: StreamName | None
553
+ ExclusiveStartTagKey: TagKey | None
554
+ Limit: ListTagsForStreamInputLimit | None
555
+ StreamARN: StreamARN | None
521
556
 
522
557
 
523
558
  class ListTagsForStreamOutput(TypedDict, total=False):
@@ -526,56 +561,60 @@ class ListTagsForStreamOutput(TypedDict, total=False):
526
561
 
527
562
 
528
563
  class MergeShardsInput(ServiceRequest):
529
- StreamName: Optional[StreamName]
564
+ StreamName: StreamName | None
530
565
  ShardToMerge: ShardId
531
566
  AdjacentShardToMerge: ShardId
532
- StreamARN: Optional[StreamARN]
567
+ StreamARN: StreamARN | None
568
+
569
+
570
+ class MinimumThroughputBillingCommitmentInput(TypedDict, total=False):
571
+ Status: MinimumThroughputBillingCommitmentInputStatus
533
572
 
534
573
 
535
574
  class PutRecordInput(ServiceRequest):
536
- StreamName: Optional[StreamName]
575
+ StreamName: StreamName | None
537
576
  Data: Data
538
577
  PartitionKey: PartitionKey
539
- ExplicitHashKey: Optional[HashKey]
540
- SequenceNumberForOrdering: Optional[SequenceNumber]
541
- StreamARN: Optional[StreamARN]
578
+ ExplicitHashKey: HashKey | None
579
+ SequenceNumberForOrdering: SequenceNumber | None
580
+ StreamARN: StreamARN | None
542
581
 
543
582
 
544
583
  class PutRecordOutput(TypedDict, total=False):
545
584
  ShardId: ShardId
546
585
  SequenceNumber: SequenceNumber
547
- EncryptionType: Optional[EncryptionType]
586
+ EncryptionType: EncryptionType | None
548
587
 
549
588
 
550
589
  class PutRecordsRequestEntry(TypedDict, total=False):
551
590
  Data: Data
552
- ExplicitHashKey: Optional[HashKey]
591
+ ExplicitHashKey: HashKey | None
553
592
  PartitionKey: PartitionKey
554
593
 
555
594
 
556
- PutRecordsRequestEntryList = List[PutRecordsRequestEntry]
595
+ PutRecordsRequestEntryList = list[PutRecordsRequestEntry]
557
596
 
558
597
 
559
598
  class PutRecordsInput(ServiceRequest):
560
599
  Records: PutRecordsRequestEntryList
561
- StreamName: Optional[StreamName]
562
- StreamARN: Optional[StreamARN]
600
+ StreamName: StreamName | None
601
+ StreamARN: StreamARN | None
563
602
 
564
603
 
565
604
  class PutRecordsResultEntry(TypedDict, total=False):
566
- SequenceNumber: Optional[SequenceNumber]
567
- ShardId: Optional[ShardId]
568
- ErrorCode: Optional[ErrorCode]
569
- ErrorMessage: Optional[ErrorMessage]
605
+ SequenceNumber: SequenceNumber | None
606
+ ShardId: ShardId | None
607
+ ErrorCode: ErrorCode | None
608
+ ErrorMessage: ErrorMessage | None
570
609
 
571
610
 
572
- PutRecordsResultEntryList = List[PutRecordsResultEntry]
611
+ PutRecordsResultEntryList = list[PutRecordsResultEntry]
573
612
 
574
613
 
575
614
  class PutRecordsOutput(TypedDict, total=False):
576
- FailedRecordCount: Optional[PositiveIntegerObject]
615
+ FailedRecordCount: PositiveIntegerObject | None
577
616
  Records: PutRecordsResultEntryList
578
- EncryptionType: Optional[EncryptionType]
617
+ EncryptionType: EncryptionType | None
579
618
 
580
619
 
581
620
  class PutResourcePolicyInput(ServiceRequest):
@@ -586,67 +625,67 @@ class PutResourcePolicyInput(ServiceRequest):
586
625
  class RegisterStreamConsumerInput(ServiceRequest):
587
626
  StreamARN: StreamARN
588
627
  ConsumerName: ConsumerName
589
- Tags: Optional[TagMap]
628
+ Tags: TagMap | None
590
629
 
591
630
 
592
631
  class RegisterStreamConsumerOutput(TypedDict, total=False):
593
632
  Consumer: Consumer
594
633
 
595
634
 
596
- TagKeyList = List[TagKey]
635
+ TagKeyList = list[TagKey]
597
636
 
598
637
 
599
638
  class RemoveTagsFromStreamInput(ServiceRequest):
600
- StreamName: Optional[StreamName]
639
+ StreamName: StreamName | None
601
640
  TagKeys: TagKeyList
602
- StreamARN: Optional[StreamARN]
641
+ StreamARN: StreamARN | None
603
642
 
604
643
 
605
644
  class SplitShardInput(ServiceRequest):
606
- StreamName: Optional[StreamName]
645
+ StreamName: StreamName | None
607
646
  ShardToSplit: ShardId
608
647
  NewStartingHashKey: HashKey
609
- StreamARN: Optional[StreamARN]
648
+ StreamARN: StreamARN | None
610
649
 
611
650
 
612
651
  class StartStreamEncryptionInput(ServiceRequest):
613
- StreamName: Optional[StreamName]
652
+ StreamName: StreamName | None
614
653
  EncryptionType: EncryptionType
615
654
  KeyId: KeyId
616
- StreamARN: Optional[StreamARN]
655
+ StreamARN: StreamARN | None
617
656
 
618
657
 
619
658
  class StartingPosition(TypedDict, total=False):
620
659
  Type: ShardIteratorType
621
- SequenceNumber: Optional[SequenceNumber]
622
- Timestamp: Optional[Timestamp]
660
+ SequenceNumber: SequenceNumber | None
661
+ Timestamp: Timestamp | None
623
662
 
624
663
 
625
664
  class StopStreamEncryptionInput(ServiceRequest):
626
- StreamName: Optional[StreamName]
665
+ StreamName: StreamName | None
627
666
  EncryptionType: EncryptionType
628
667
  KeyId: KeyId
629
- StreamARN: Optional[StreamARN]
668
+ StreamARN: StreamARN | None
630
669
 
631
670
 
632
671
  class SubscribeToShardEvent(TypedDict, total=False):
633
672
  Records: RecordList
634
673
  ContinuationSequenceNumber: SequenceNumber
635
674
  MillisBehindLatest: MillisBehindLatest
636
- ChildShards: Optional[ChildShardList]
675
+ ChildShards: ChildShardList | None
637
676
 
638
677
 
639
678
  class SubscribeToShardEventStream(TypedDict, total=False):
640
679
  SubscribeToShardEvent: SubscribeToShardEvent
641
- ResourceNotFoundException: Optional[ResourceNotFoundException]
642
- ResourceInUseException: Optional[ResourceInUseException]
643
- KMSDisabledException: Optional[KMSDisabledException]
644
- KMSInvalidStateException: Optional[KMSInvalidStateException]
645
- KMSAccessDeniedException: Optional[KMSAccessDeniedException]
646
- KMSNotFoundException: Optional[KMSNotFoundException]
647
- KMSOptInRequired: Optional[KMSOptInRequired]
648
- KMSThrottlingException: Optional[KMSThrottlingException]
649
- InternalFailureException: Optional[InternalFailureException]
680
+ ResourceNotFoundException: ResourceNotFoundException | None
681
+ ResourceInUseException: ResourceInUseException | None
682
+ KMSDisabledException: KMSDisabledException | None
683
+ KMSInvalidStateException: KMSInvalidStateException | None
684
+ KMSAccessDeniedException: KMSAccessDeniedException | None
685
+ KMSNotFoundException: KMSNotFoundException | None
686
+ KMSOptInRequired: KMSOptInRequired | None
687
+ KMSThrottlingException: KMSThrottlingException | None
688
+ InternalFailureException: InternalFailureException | None
650
689
 
651
690
 
652
691
  class SubscribeToShardInput(ServiceRequest):
@@ -669,33 +708,54 @@ class UntagResourceInput(ServiceRequest):
669
708
  ResourceARN: ResourceARN
670
709
 
671
710
 
711
+ class UpdateAccountSettingsInput(ServiceRequest):
712
+ MinimumThroughputBillingCommitment: MinimumThroughputBillingCommitmentInput
713
+
714
+
715
+ class UpdateAccountSettingsOutput(TypedDict, total=False):
716
+ MinimumThroughputBillingCommitment: MinimumThroughputBillingCommitmentOutput | None
717
+
718
+
672
719
  class UpdateMaxRecordSizeInput(ServiceRequest):
673
- StreamARN: Optional[StreamARN]
720
+ StreamARN: StreamARN | None
674
721
  MaxRecordSizeInKiB: MaxRecordSizeInKiB
675
722
 
676
723
 
677
724
  class UpdateShardCountInput(ServiceRequest):
678
- StreamName: Optional[StreamName]
725
+ StreamName: StreamName | None
679
726
  TargetShardCount: PositiveIntegerObject
680
727
  ScalingType: ScalingType
681
- StreamARN: Optional[StreamARN]
728
+ StreamARN: StreamARN | None
682
729
 
683
730
 
684
731
  class UpdateShardCountOutput(TypedDict, total=False):
685
- StreamName: Optional[StreamName]
686
- CurrentShardCount: Optional[PositiveIntegerObject]
687
- TargetShardCount: Optional[PositiveIntegerObject]
688
- StreamARN: Optional[StreamARN]
732
+ StreamName: StreamName | None
733
+ CurrentShardCount: PositiveIntegerObject | None
734
+ TargetShardCount: PositiveIntegerObject | None
735
+ StreamARN: StreamARN | None
689
736
 
690
737
 
691
738
  class UpdateStreamModeInput(ServiceRequest):
692
739
  StreamARN: StreamARN
693
740
  StreamModeDetails: StreamModeDetails
741
+ WarmThroughputMiBps: NaturalIntegerObject | None
742
+
743
+
744
+ class UpdateStreamWarmThroughputInput(ServiceRequest):
745
+ StreamARN: StreamARN | None
746
+ StreamName: StreamName | None
747
+ WarmThroughputMiBps: NaturalIntegerObject
748
+
749
+
750
+ class UpdateStreamWarmThroughputOutput(TypedDict, total=False):
751
+ StreamARN: StreamARN | None
752
+ StreamName: StreamName | None
753
+ WarmThroughput: WarmThroughputObject | None
694
754
 
695
755
 
696
756
  class KinesisApi:
697
- service = "kinesis"
698
- version = "2013-12-02"
757
+ service: str = "kinesis"
758
+ version: str = "2013-12-02"
699
759
 
700
760
  @handler("AddTagsToStream")
701
761
  def add_tags_to_stream(
@@ -716,6 +776,7 @@ class KinesisApi:
716
776
  shard_count: PositiveIntegerObject | None = None,
717
777
  stream_mode_details: StreamModeDetails | None = None,
718
778
  tags: TagMap | None = None,
779
+ warm_throughput_mi_bps: NaturalIntegerObject | None = None,
719
780
  max_record_size_in_ki_b: MaxRecordSizeInKiB | None = None,
720
781
  **kwargs,
721
782
  ) -> None:
@@ -760,6 +821,12 @@ class KinesisApi:
760
821
  ) -> None:
761
822
  raise NotImplementedError
762
823
 
824
+ @handler("DescribeAccountSettings")
825
+ def describe_account_settings(
826
+ self, context: RequestContext, **kwargs
827
+ ) -> DescribeAccountSettingsOutput:
828
+ raise NotImplementedError
829
+
763
830
  @handler("DescribeLimits")
764
831
  def describe_limits(self, context: RequestContext, **kwargs) -> DescribeLimitsOutput:
765
832
  raise NotImplementedError
@@ -1041,6 +1108,15 @@ class KinesisApi:
1041
1108
  ) -> None:
1042
1109
  raise NotImplementedError
1043
1110
 
1111
+ @handler("UpdateAccountSettings")
1112
+ def update_account_settings(
1113
+ self,
1114
+ context: RequestContext,
1115
+ minimum_throughput_billing_commitment: MinimumThroughputBillingCommitmentInput,
1116
+ **kwargs,
1117
+ ) -> UpdateAccountSettingsOutput:
1118
+ raise NotImplementedError
1119
+
1044
1120
  @handler("UpdateMaxRecordSize")
1045
1121
  def update_max_record_size(
1046
1122
  self,
@@ -1069,6 +1145,18 @@ class KinesisApi:
1069
1145
  context: RequestContext,
1070
1146
  stream_arn: StreamARN,
1071
1147
  stream_mode_details: StreamModeDetails,
1148
+ warm_throughput_mi_bps: NaturalIntegerObject | None = None,
1072
1149
  **kwargs,
1073
1150
  ) -> None:
1074
1151
  raise NotImplementedError
1152
+
1153
+ @handler("UpdateStreamWarmThroughput")
1154
+ def update_stream_warm_throughput(
1155
+ self,
1156
+ context: RequestContext,
1157
+ warm_throughput_mi_bps: NaturalIntegerObject,
1158
+ stream_arn: StreamARN | None = None,
1159
+ stream_name: StreamName | None = None,
1160
+ **kwargs,
1161
+ ) -> UpdateStreamWarmThroughputOutput:
1162
+ raise NotImplementedError