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