localstack-core 4.6.1.dev60__py3-none-any.whl → 4.10.1.dev12__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 (672) hide show
  1. localstack/aws/api/apigateway/__init__.py +87 -110
  2. localstack/aws/api/cloudformation/__init__.py +18 -4
  3. localstack/aws/api/cloudwatch/__init__.py +41 -1
  4. localstack/aws/api/config/__init__.py +4 -0
  5. localstack/aws/api/core.py +8 -5
  6. localstack/aws/api/dynamodb/__init__.py +30 -0
  7. localstack/aws/api/ec2/__init__.py +1545 -66
  8. localstack/aws/api/events/__init__.py +12 -16
  9. localstack/aws/api/iam/__init__.py +7 -0
  10. localstack/aws/api/kinesis/__init__.py +19 -0
  11. localstack/aws/api/kms/__init__.py +6 -0
  12. localstack/aws/api/lambda_/__init__.py +36 -23
  13. localstack/aws/api/logs/__init__.py +20 -8
  14. localstack/aws/api/opensearch/__init__.py +16 -0
  15. localstack/aws/api/pipes/__init__.py +24 -32
  16. localstack/aws/api/redshift/__init__.py +9 -3
  17. localstack/aws/api/route53/__init__.py +5 -0
  18. localstack/aws/api/s3/__init__.py +12 -0
  19. localstack/aws/api/s3control/__init__.py +56 -0
  20. localstack/aws/api/scheduler/__init__.py +14 -16
  21. localstack/aws/api/ssm/__init__.py +2 -0
  22. localstack/aws/api/stepfunctions/__init__.py +88 -114
  23. localstack/aws/api/support/__init__.py +8 -9
  24. localstack/aws/api/transcribe/__init__.py +17 -0
  25. localstack/aws/chain.py +2 -2
  26. localstack/aws/client.py +14 -11
  27. localstack/aws/connect.py +42 -41
  28. localstack/aws/forwarder.py +57 -9
  29. localstack/aws/gateway.py +1 -3
  30. localstack/aws/handlers/analytics.py +2 -3
  31. localstack/aws/handlers/cors.py +4 -5
  32. localstack/aws/handlers/internal_requests.py +6 -1
  33. localstack/aws/handlers/logging.py +13 -4
  34. localstack/aws/handlers/metric_handler.py +44 -5
  35. localstack/aws/handlers/service.py +48 -28
  36. localstack/aws/mocking.py +18 -27
  37. localstack/aws/patches.py +2 -2
  38. localstack/aws/protocol/op_router.py +11 -10
  39. localstack/aws/protocol/parser.py +475 -49
  40. localstack/aws/protocol/serializer.py +723 -106
  41. localstack/aws/protocol/service_router.py +133 -33
  42. localstack/aws/protocol/validate.py +6 -6
  43. localstack/aws/scaffold.py +9 -10
  44. localstack/aws/serving/edge.py +5 -6
  45. localstack/aws/serving/hypercorn.py +2 -2
  46. localstack/aws/serving/twisted.py +1 -2
  47. localstack/aws/serving/werkzeug.py +2 -2
  48. localstack/aws/skeleton.py +12 -11
  49. localstack/aws/spec-patches.json +58 -0
  50. localstack/aws/spec.py +66 -46
  51. localstack/cli/exceptions.py +1 -1
  52. localstack/cli/localstack.py +11 -11
  53. localstack/cli/lpm.py +4 -5
  54. localstack/cli/plugins.py +1 -1
  55. localstack/cli/profiles.py +1 -2
  56. localstack/config.py +44 -30
  57. localstack/constants.py +4 -29
  58. localstack/deprecations.py +5 -5
  59. localstack/dev/kubernetes/__main__.py +130 -7
  60. localstack/dev/run/__main__.py +5 -5
  61. localstack/dev/run/configurators.py +1 -4
  62. localstack/dev/run/paths.py +6 -6
  63. localstack/dns/models.py +2 -1
  64. localstack/dns/plugins.py +5 -1
  65. localstack/dns/server.py +16 -6
  66. localstack/http/dispatcher.py +1 -2
  67. localstack/http/response.py +2 -2
  68. localstack/http/router.py +1 -1
  69. localstack/http/trace.py +2 -1
  70. localstack/logging/format.py +6 -6
  71. localstack/packages/api.py +13 -12
  72. localstack/packages/core.py +4 -4
  73. localstack/packages/debugpy.py +1 -3
  74. localstack/packages/ffmpeg.py +1 -2
  75. localstack/packages/java.py +38 -12
  76. localstack/packages/plugins.py +0 -8
  77. localstack/runtime/analytics.py +3 -0
  78. localstack/runtime/hooks.py +1 -1
  79. localstack/runtime/init.py +8 -9
  80. localstack/runtime/main.py +5 -5
  81. localstack/runtime/patches.py +2 -2
  82. localstack/runtime/shutdown.py +2 -1
  83. localstack/services/apigateway/exporter.py +1 -2
  84. localstack/services/apigateway/helpers.py +7 -10
  85. localstack/services/apigateway/legacy/context.py +21 -21
  86. localstack/services/apigateway/legacy/helpers.py +27 -28
  87. localstack/services/apigateway/legacy/integration.py +11 -10
  88. localstack/services/apigateway/legacy/invocations.py +6 -5
  89. localstack/services/apigateway/legacy/provider.py +148 -68
  90. localstack/services/apigateway/legacy/router_asf.py +2 -2
  91. localstack/services/apigateway/legacy/templates.py +6 -6
  92. localstack/services/apigateway/models.py +16 -16
  93. localstack/services/apigateway/next_gen/execute_api/api.py +2 -2
  94. localstack/services/apigateway/next_gen/execute_api/context.py +25 -25
  95. localstack/services/apigateway/next_gen/execute_api/handlers/api_key_validation.py +2 -5
  96. localstack/services/apigateway/next_gen/execute_api/handlers/method_request.py +7 -2
  97. localstack/services/apigateway/next_gen/execute_api/handlers/parse.py +1 -2
  98. localstack/services/apigateway/next_gen/execute_api/handlers/resource_router.py +2 -3
  99. localstack/services/apigateway/next_gen/execute_api/header_utils.py +1 -1
  100. localstack/services/apigateway/next_gen/execute_api/helpers.py +2 -2
  101. localstack/services/apigateway/next_gen/execute_api/integrations/aws.py +9 -6
  102. localstack/services/apigateway/next_gen/execute_api/integrations/http.py +12 -12
  103. localstack/services/apigateway/next_gen/execute_api/router.py +31 -0
  104. localstack/services/apigateway/next_gen/execute_api/template_mapping.py +2 -2
  105. localstack/services/apigateway/next_gen/execute_api/test_invoke.py +114 -9
  106. localstack/services/apigateway/next_gen/execute_api/variables.py +63 -63
  107. localstack/services/apigateway/next_gen/provider.py +5 -0
  108. localstack/services/apigateway/resource_providers/aws_apigateway_account.py +3 -3
  109. localstack/services/apigateway/resource_providers/aws_apigateway_account_plugin.py +1 -3
  110. localstack/services/apigateway/resource_providers/aws_apigateway_apikey.py +14 -14
  111. localstack/services/apigateway/resource_providers/aws_apigateway_apikey_plugin.py +1 -3
  112. localstack/services/apigateway/resource_providers/aws_apigateway_basepathmapping.py +5 -5
  113. localstack/services/apigateway/resource_providers/aws_apigateway_basepathmapping_plugin.py +1 -3
  114. localstack/services/apigateway/resource_providers/aws_apigateway_deployment.py +46 -46
  115. localstack/services/apigateway/resource_providers/aws_apigateway_deployment_plugin.py +1 -3
  116. localstack/services/apigateway/resource_providers/aws_apigateway_domainname.py +18 -18
  117. localstack/services/apigateway/resource_providers/aws_apigateway_domainname_plugin.py +1 -3
  118. localstack/services/apigateway/resource_providers/aws_apigateway_gatewayresponse.py +7 -7
  119. localstack/services/apigateway/resource_providers/aws_apigateway_gatewayresponse_plugin.py +1 -3
  120. localstack/services/apigateway/resource_providers/aws_apigateway_method.py +36 -36
  121. localstack/services/apigateway/resource_providers/aws_apigateway_method_plugin.py +1 -3
  122. localstack/services/apigateway/resource_providers/aws_apigateway_model.py +6 -6
  123. localstack/services/apigateway/resource_providers/aws_apigateway_model_plugin.py +1 -3
  124. localstack/services/apigateway/resource_providers/aws_apigateway_requestvalidator.py +6 -6
  125. localstack/services/apigateway/resource_providers/aws_apigateway_requestvalidator_plugin.py +1 -3
  126. localstack/services/apigateway/resource_providers/aws_apigateway_resource.py +6 -6
  127. localstack/services/apigateway/resource_providers/aws_apigateway_resource_plugin.py +1 -3
  128. localstack/services/apigateway/resource_providers/aws_apigateway_restapi.py +26 -26
  129. localstack/services/apigateway/resource_providers/aws_apigateway_restapi_plugin.py +1 -3
  130. localstack/services/apigateway/resource_providers/aws_apigateway_stage.py +33 -33
  131. localstack/services/apigateway/resource_providers/aws_apigateway_stage_plugin.py +1 -3
  132. localstack/services/apigateway/resource_providers/aws_apigateway_usageplan.py +18 -18
  133. localstack/services/apigateway/resource_providers/aws_apigateway_usageplan_plugin.py +1 -3
  134. localstack/services/apigateway/resource_providers/aws_apigateway_usageplankey.py +5 -5
  135. localstack/services/apigateway/resource_providers/aws_apigateway_usageplankey_plugin.py +1 -3
  136. localstack/services/cdk/resource_providers/cdk_metadata.py +4 -3
  137. localstack/services/cdk/resource_providers/cdk_metadata_plugin.py +1 -3
  138. localstack/services/certificatemanager/resource_providers/aws_certificatemanager_certificate.py +14 -14
  139. localstack/services/certificatemanager/resource_providers/aws_certificatemanager_certificate_plugin.py +1 -3
  140. localstack/services/cloudformation/api_utils.py +4 -8
  141. localstack/services/cloudformation/cfn_utils.py +2 -2
  142. localstack/services/cloudformation/deployment_utils.py +14 -12
  143. localstack/services/cloudformation/engine/changes.py +3 -3
  144. localstack/services/cloudformation/engine/entities.py +27 -17
  145. localstack/services/cloudformation/engine/parameters.py +4 -4
  146. localstack/services/cloudformation/engine/template_deployer.py +15 -14
  147. localstack/services/cloudformation/engine/template_utils.py +34 -12
  148. localstack/services/cloudformation/engine/transformers.py +11 -8
  149. localstack/services/cloudformation/engine/types.py +5 -4
  150. localstack/services/cloudformation/engine/v2/change_set_model.py +336 -39
  151. localstack/services/cloudformation/engine/v2/change_set_model_describer.py +96 -17
  152. localstack/services/cloudformation/engine/v2/change_set_model_executor.py +289 -136
  153. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +315 -146
  154. localstack/services/cloudformation/engine/v2/change_set_model_transform.py +380 -105
  155. localstack/services/cloudformation/engine/v2/change_set_model_validator.py +183 -0
  156. localstack/services/cloudformation/engine/v2/change_set_model_visitor.py +6 -0
  157. localstack/services/cloudformation/engine/v2/resolving.py +102 -0
  158. localstack/services/cloudformation/engine/yaml_parser.py +9 -2
  159. localstack/services/cloudformation/provider.py +11 -6
  160. localstack/services/cloudformation/provider_utils.py +34 -4
  161. localstack/services/cloudformation/resource_provider.py +31 -21
  162. localstack/services/cloudformation/resource_providers/aws_cloudformation_macro.py +7 -7
  163. localstack/services/cloudformation/resource_providers/aws_cloudformation_macro_plugin.py +1 -3
  164. localstack/services/cloudformation/resource_providers/aws_cloudformation_stack.py +9 -9
  165. localstack/services/cloudformation/resource_providers/aws_cloudformation_stack_plugin.py +1 -3
  166. localstack/services/cloudformation/resource_providers/aws_cloudformation_waitcondition.py +6 -6
  167. localstack/services/cloudformation/resource_providers/aws_cloudformation_waitcondition_plugin.py +1 -3
  168. localstack/services/cloudformation/resource_providers/aws_cloudformation_waitconditionhandle.py +2 -2
  169. localstack/services/cloudformation/resource_providers/aws_cloudformation_waitconditionhandle_plugin.py +1 -3
  170. localstack/services/cloudformation/resources.py +24149 -0
  171. localstack/services/cloudformation/scaffolding/__main__.py +13 -12
  172. localstack/services/cloudformation/scaffolding/propgen.py +2 -2
  173. localstack/services/cloudformation/service_models.py +2 -2
  174. localstack/services/cloudformation/stores.py +33 -22
  175. localstack/services/cloudformation/v2/entities.py +103 -88
  176. localstack/services/cloudformation/v2/provider.py +872 -131
  177. localstack/services/cloudformation/v2/types.py +38 -0
  178. localstack/services/cloudformation/v2/utils.py +4 -1
  179. localstack/services/cloudwatch/alarm_scheduler.py +11 -8
  180. localstack/services/cloudwatch/cloudwatch_database_helper.py +4 -5
  181. localstack/services/cloudwatch/models.py +5 -7
  182. localstack/services/cloudwatch/provider.py +30 -25
  183. localstack/services/cloudwatch/provider_v2.py +27 -32
  184. localstack/services/cloudwatch/resource_providers/aws_cloudwatch_alarm.py +40 -40
  185. localstack/services/cloudwatch/resource_providers/aws_cloudwatch_alarm_plugin.py +1 -3
  186. localstack/services/cloudwatch/resource_providers/aws_cloudwatch_compositealarm.py +12 -12
  187. localstack/services/cloudwatch/resource_providers/aws_cloudwatch_compositealarm_plugin.py +1 -3
  188. localstack/services/dynamodb/packages.py +3 -3
  189. localstack/services/dynamodb/provider.py +159 -18
  190. localstack/services/dynamodb/resource_providers/aws_dynamodb_globaltable.py +63 -63
  191. localstack/services/dynamodb/resource_providers/aws_dynamodb_globaltable_plugin.py +1 -3
  192. localstack/services/dynamodb/resource_providers/aws_dynamodb_table.py +57 -57
  193. localstack/services/dynamodb/resource_providers/aws_dynamodb_table_plugin.py +1 -3
  194. localstack/services/dynamodb/server.py +2 -2
  195. localstack/services/dynamodb/utils.py +13 -14
  196. localstack/services/dynamodb/v2/provider.py +157 -18
  197. localstack/services/dynamodbstreams/dynamodbstreams_api.py +2 -2
  198. localstack/services/dynamodbstreams/models.py +1 -3
  199. localstack/services/ec2/patches.py +26 -5
  200. localstack/services/ec2/provider.py +3 -3
  201. localstack/services/ec2/resource_providers/aws_ec2_dhcpoptions.py +10 -10
  202. localstack/services/ec2/resource_providers/aws_ec2_dhcpoptions_plugin.py +1 -3
  203. localstack/services/ec2/resource_providers/aws_ec2_instance.py +96 -96
  204. localstack/services/ec2/resource_providers/aws_ec2_instance_plugin.py +1 -3
  205. localstack/services/ec2/resource_providers/aws_ec2_internetgateway.py +5 -5
  206. localstack/services/ec2/resource_providers/aws_ec2_internetgateway_plugin.py +1 -3
  207. localstack/services/ec2/resource_providers/aws_ec2_keypair.py +10 -10
  208. localstack/services/ec2/resource_providers/aws_ec2_keypair_plugin.py +1 -3
  209. localstack/services/ec2/resource_providers/aws_ec2_natgateway.py +13 -13
  210. localstack/services/ec2/resource_providers/aws_ec2_natgateway_plugin.py +1 -3
  211. localstack/services/ec2/resource_providers/aws_ec2_networkacl.py +6 -6
  212. localstack/services/ec2/resource_providers/aws_ec2_networkacl_plugin.py +1 -3
  213. localstack/services/ec2/resource_providers/aws_ec2_prefixlist.py +14 -14
  214. localstack/services/ec2/resource_providers/aws_ec2_prefixlist_plugin.py +1 -3
  215. localstack/services/ec2/resource_providers/aws_ec2_route.py +15 -15
  216. localstack/services/ec2/resource_providers/aws_ec2_route_plugin.py +1 -3
  217. localstack/services/ec2/resource_providers/aws_ec2_routetable.py +6 -6
  218. localstack/services/ec2/resource_providers/aws_ec2_routetable_plugin.py +1 -3
  219. localstack/services/ec2/resource_providers/aws_ec2_securitygroup.py +29 -29
  220. localstack/services/ec2/resource_providers/aws_ec2_securitygroup_plugin.py +1 -3
  221. localstack/services/ec2/resource_providers/aws_ec2_subnet.py +19 -19
  222. localstack/services/ec2/resource_providers/aws_ec2_subnet_plugin.py +1 -3
  223. localstack/services/ec2/resource_providers/aws_ec2_subnetroutetableassociation.py +4 -4
  224. localstack/services/ec2/resource_providers/aws_ec2_subnetroutetableassociation_plugin.py +1 -3
  225. localstack/services/ec2/resource_providers/aws_ec2_transitgateway.py +16 -16
  226. localstack/services/ec2/resource_providers/aws_ec2_transitgateway_plugin.py +1 -3
  227. localstack/services/ec2/resource_providers/aws_ec2_transitgatewayattachment.py +9 -9
  228. localstack/services/ec2/resource_providers/aws_ec2_transitgatewayattachment_plugin.py +1 -3
  229. localstack/services/ec2/resource_providers/aws_ec2_vpc.py +15 -15
  230. localstack/services/ec2/resource_providers/aws_ec2_vpc_plugin.py +1 -3
  231. localstack/services/ec2/resource_providers/aws_ec2_vpcendpoint.py +29 -22
  232. localstack/services/ec2/resource_providers/aws_ec2_vpcendpoint_plugin.py +1 -3
  233. localstack/services/ec2/resource_providers/aws_ec2_vpcgatewayattachment.py +5 -5
  234. localstack/services/ec2/resource_providers/aws_ec2_vpcgatewayattachment_plugin.py +1 -3
  235. localstack/services/ecr/resource_providers/aws_ecr_repository.py +22 -19
  236. localstack/services/ecr/resource_providers/aws_ecr_repository_plugin.py +1 -3
  237. localstack/services/edge.py +6 -6
  238. localstack/services/es/provider.py +21 -21
  239. localstack/services/events/archive.py +2 -2
  240. localstack/services/events/connection.py +5 -5
  241. localstack/services/events/event_bus.py +9 -9
  242. localstack/services/events/event_rule_engine.py +31 -13
  243. localstack/services/events/models.py +29 -30
  244. localstack/services/events/provider.py +29 -26
  245. localstack/services/events/replay.py +3 -3
  246. localstack/services/events/resource_providers/aws_events_apidestination.py +8 -8
  247. localstack/services/events/resource_providers/aws_events_apidestination_plugin.py +1 -3
  248. localstack/services/events/resource_providers/aws_events_connection.py +27 -27
  249. localstack/services/events/resource_providers/aws_events_connection_plugin.py +1 -3
  250. localstack/services/events/resource_providers/aws_events_eventbus.py +9 -9
  251. localstack/services/events/resource_providers/aws_events_eventbus_plugin.py +1 -3
  252. localstack/services/events/resource_providers/aws_events_eventbuspolicy.py +11 -11
  253. localstack/services/events/resource_providers/aws_events_eventbuspolicy_plugin.py +1 -3
  254. localstack/services/events/resource_providers/aws_events_rule.py +82 -82
  255. localstack/services/events/resource_providers/aws_events_rule_plugin.py +1 -3
  256. localstack/services/events/rule.py +15 -15
  257. localstack/services/events/target.py +21 -13
  258. localstack/services/events/utils.py +7 -7
  259. localstack/services/events/v1/models.py +1 -3
  260. localstack/services/events/v1/provider.py +15 -15
  261. localstack/services/firehose/models.py +1 -3
  262. localstack/services/firehose/provider.py +25 -16
  263. localstack/services/iam/iam_patches.py +5 -6
  264. localstack/services/iam/provider.py +14 -119
  265. localstack/services/iam/resource_providers/aws_iam_accesskey.py +6 -6
  266. localstack/services/iam/resource_providers/aws_iam_accesskey_plugin.py +1 -3
  267. localstack/services/iam/resource_providers/aws_iam_group.py +9 -9
  268. localstack/services/iam/resource_providers/aws_iam_group_plugin.py +1 -3
  269. localstack/services/iam/resource_providers/aws_iam_instanceprofile.py +5 -5
  270. localstack/services/iam/resource_providers/aws_iam_instanceprofile_plugin.py +1 -3
  271. localstack/services/iam/resource_providers/aws_iam_managedpolicy.py +9 -9
  272. localstack/services/iam/resource_providers/aws_iam_managedpolicy_plugin.py +1 -3
  273. localstack/services/iam/resource_providers/aws_iam_policy.py +7 -7
  274. localstack/services/iam/resource_providers/aws_iam_policy_plugin.py +1 -3
  275. localstack/services/iam/resource_providers/aws_iam_role.py +16 -16
  276. localstack/services/iam/resource_providers/aws_iam_role_plugin.py +1 -3
  277. localstack/services/iam/resource_providers/aws_iam_servercertificate.py +10 -10
  278. localstack/services/iam/resource_providers/aws_iam_servercertificate_plugin.py +1 -3
  279. localstack/services/iam/resource_providers/aws_iam_servicelinkedrole.py +5 -5
  280. localstack/services/iam/resource_providers/aws_iam_servicelinkedrole_plugin.py +1 -3
  281. localstack/services/iam/resource_providers/aws_iam_user.py +17 -17
  282. localstack/services/iam/resource_providers/aws_iam_user_plugin.py +1 -3
  283. localstack/services/iam/resources/policy_simulator.py +133 -0
  284. localstack/services/kinesis/kinesis_mock_server.py +7 -8
  285. localstack/services/kinesis/models.py +17 -5
  286. localstack/services/kinesis/packages.py +3 -3
  287. localstack/services/kinesis/provider.py +86 -3
  288. localstack/services/kinesis/resource_providers/aws_kinesis_stream.py +13 -13
  289. localstack/services/kinesis/resource_providers/aws_kinesis_stream_plugin.py +1 -3
  290. localstack/services/kinesis/resource_providers/aws_kinesis_streamconsumer.py +7 -7
  291. localstack/services/kinesis/resource_providers/aws_kinesis_streamconsumer_plugin.py +1 -3
  292. localstack/services/kinesisfirehose/resource_providers/aws_kinesisfirehose_deliverystream.py +191 -191
  293. localstack/services/kinesisfirehose/resource_providers/aws_kinesisfirehose_deliverystream_plugin.py +1 -3
  294. localstack/services/kms/models.py +21 -18
  295. localstack/services/kms/provider.py +62 -26
  296. localstack/services/kms/resource_providers/aws_kms_alias.py +3 -3
  297. localstack/services/kms/resource_providers/aws_kms_alias_plugin.py +1 -3
  298. localstack/services/kms/resource_providers/aws_kms_key.py +14 -14
  299. localstack/services/kms/resource_providers/aws_kms_key_plugin.py +1 -3
  300. localstack/services/kms/utils.py +4 -3
  301. localstack/services/lambda_/api_utils.py +19 -16
  302. localstack/services/lambda_/custom_endpoints.py +2 -2
  303. localstack/services/lambda_/event_source_mapping/esm_worker_factory.py +4 -7
  304. localstack/services/lambda_/event_source_mapping/pipe_utils.py +2 -2
  305. localstack/services/lambda_/event_source_mapping/pollers/stream_poller.py +1 -1
  306. localstack/services/lambda_/event_source_mapping/senders/sender_utils.py +2 -1
  307. localstack/services/lambda_/hooks.py +6 -1
  308. localstack/services/lambda_/invocation/assignment.py +1 -2
  309. localstack/services/lambda_/invocation/docker_runtime_executor.py +7 -11
  310. localstack/services/lambda_/invocation/event_manager.py +1 -1
  311. localstack/services/lambda_/invocation/execution_environment.py +4 -4
  312. localstack/services/lambda_/invocation/executor_endpoint.py +8 -11
  313. localstack/services/lambda_/invocation/internal_sqs_queue.py +6 -10
  314. localstack/services/lambda_/invocation/lambda_models.py +33 -30
  315. localstack/services/lambda_/invocation/lambda_service.py +12 -5
  316. localstack/services/lambda_/invocation/logs.py +2 -3
  317. localstack/services/lambda_/invocation/runtime_executor.py +3 -3
  318. localstack/services/lambda_/invocation/version_manager.py +31 -8
  319. localstack/services/lambda_/ldm.py +14 -0
  320. localstack/services/lambda_/packages.py +3 -4
  321. localstack/services/lambda_/provider.py +9 -26
  322. localstack/services/lambda_/provider_utils.py +1 -1
  323. localstack/services/lambda_/resource_providers/aws_lambda_codesigningconfig.py +8 -8
  324. localstack/services/lambda_/resource_providers/aws_lambda_codesigningconfig_plugin.py +1 -3
  325. localstack/services/lambda_/resource_providers/aws_lambda_eventinvokeconfig.py +11 -11
  326. localstack/services/lambda_/resource_providers/aws_lambda_eventinvokeconfig_plugin.py +1 -3
  327. localstack/services/lambda_/resource_providers/aws_lambda_eventsourcemapping.py +39 -39
  328. localstack/services/lambda_/resource_providers/aws_lambda_eventsourcemapping_plugin.py +1 -3
  329. localstack/services/lambda_/resource_providers/aws_lambda_function.py +54 -54
  330. localstack/services/lambda_/resource_providers/aws_lambda_function_plugin.py +1 -3
  331. localstack/services/lambda_/resource_providers/aws_lambda_layerversion.py +11 -11
  332. localstack/services/lambda_/resource_providers/aws_lambda_layerversion_plugin.py +1 -3
  333. localstack/services/lambda_/resource_providers/aws_lambda_layerversionpermission.py +6 -6
  334. localstack/services/lambda_/resource_providers/aws_lambda_layerversionpermission_plugin.py +1 -3
  335. localstack/services/lambda_/resource_providers/aws_lambda_permission.py +10 -10
  336. localstack/services/lambda_/resource_providers/aws_lambda_permission_plugin.py +1 -3
  337. localstack/services/lambda_/resource_providers/aws_lambda_url.py +15 -15
  338. localstack/services/lambda_/resource_providers/aws_lambda_url_plugin.py +1 -3
  339. localstack/services/lambda_/resource_providers/aws_lambda_version.py +8 -8
  340. localstack/services/lambda_/resource_providers/aws_lambda_version_plugin.py +1 -3
  341. localstack/services/lambda_/resource_providers/lambda_alias.py +12 -12
  342. localstack/services/lambda_/resource_providers/lambda_alias_plugin.py +1 -3
  343. localstack/services/lambda_/runtimes.py +1 -3
  344. localstack/services/lambda_/urlrouter.py +14 -1
  345. localstack/services/logs/models.py +1 -3
  346. localstack/services/logs/provider.py +39 -22
  347. localstack/services/logs/resource_providers/aws_logs_loggroup.py +9 -9
  348. localstack/services/logs/resource_providers/aws_logs_loggroup_plugin.py +1 -3
  349. localstack/services/logs/resource_providers/aws_logs_logstream.py +4 -4
  350. localstack/services/logs/resource_providers/aws_logs_logstream_plugin.py +1 -3
  351. localstack/services/logs/resource_providers/aws_logs_subscriptionfilter.py +7 -7
  352. localstack/services/logs/resource_providers/aws_logs_subscriptionfilter_plugin.py +1 -3
  353. localstack/services/moto.py +5 -4
  354. localstack/services/opensearch/cluster.py +28 -20
  355. localstack/services/opensearch/cluster_manager.py +13 -14
  356. localstack/services/opensearch/models.py +1 -3
  357. localstack/services/opensearch/packages.py +27 -9
  358. localstack/services/opensearch/provider.py +15 -10
  359. localstack/services/opensearch/resource_providers/aws_elasticsearch_domain.py +61 -61
  360. localstack/services/opensearch/resource_providers/aws_elasticsearch_domain_plugin.py +1 -3
  361. localstack/services/opensearch/resource_providers/aws_opensearchservice_domain.py +89 -89
  362. localstack/services/opensearch/resource_providers/aws_opensearchservice_domain_plugin.py +1 -3
  363. localstack/services/opensearch/versions.py +57 -10
  364. localstack/services/plugins.py +37 -32
  365. localstack/services/providers.py +10 -2
  366. localstack/services/redshift/provider.py +0 -21
  367. localstack/services/redshift/resource_providers/aws_redshift_cluster.py +57 -57
  368. localstack/services/redshift/resource_providers/aws_redshift_cluster_plugin.py +1 -3
  369. localstack/services/resource_groups/resource_providers/aws_resourcegroups_group.py +21 -21
  370. localstack/services/resource_groups/resource_providers/aws_resourcegroups_group_plugin.py +1 -3
  371. localstack/services/route53/models.py +1 -3
  372. localstack/services/route53/provider.py +1 -2
  373. localstack/services/route53/resource_providers/aws_route53_healthcheck.py +6 -6
  374. localstack/services/route53/resource_providers/aws_route53_healthcheck_plugin.py +1 -3
  375. localstack/services/route53/resource_providers/aws_route53_recordset.py +27 -27
  376. localstack/services/route53/resource_providers/aws_route53_recordset_plugin.py +1 -3
  377. localstack/services/route53resolver/models.py +8 -10
  378. localstack/services/route53resolver/provider.py +12 -12
  379. localstack/services/s3/codec.py +2 -2
  380. localstack/services/s3/constants.py +5 -2
  381. localstack/services/s3/cors.py +8 -8
  382. localstack/services/s3/models.py +73 -73
  383. localstack/services/s3/notifications.py +74 -58
  384. localstack/services/s3/presigned_url.py +41 -59
  385. localstack/services/s3/provider.py +86 -29
  386. localstack/services/s3/resource_providers/aws_s3_bucket.py +180 -180
  387. localstack/services/s3/resource_providers/aws_s3_bucket_plugin.py +1 -3
  388. localstack/services/s3/resource_providers/aws_s3_bucketpolicy.py +4 -4
  389. localstack/services/s3/resource_providers/aws_s3_bucketpolicy_plugin.py +1 -3
  390. localstack/services/s3/storage/core.py +4 -3
  391. localstack/services/s3/storage/ephemeral.py +7 -6
  392. localstack/services/s3/utils.py +51 -31
  393. localstack/services/s3/validation.py +47 -33
  394. localstack/services/s3/website_hosting.py +9 -7
  395. localstack/services/scheduler/resource_providers/aws_scheduler_schedule.py +60 -60
  396. localstack/services/scheduler/resource_providers/aws_scheduler_schedule_plugin.py +1 -3
  397. localstack/services/scheduler/resource_providers/aws_scheduler_schedulegroup.py +9 -9
  398. localstack/services/scheduler/resource_providers/aws_scheduler_schedulegroup_plugin.py +1 -3
  399. localstack/services/secretsmanager/provider.py +10 -12
  400. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_resourcepolicy.py +5 -5
  401. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_resourcepolicy_plugin.py +1 -3
  402. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_rotationschedule.py +21 -21
  403. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_rotationschedule_plugin.py +1 -3
  404. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secret.py +23 -23
  405. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secret_plugin.py +1 -3
  406. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secrettargetattachment.py +5 -5
  407. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secrettargetattachment_plugin.py +1 -3
  408. localstack/services/ses/models.py +8 -1
  409. localstack/services/ses/provider.py +128 -55
  410. localstack/services/ses/resource_providers/aws_ses_emailidentity.py +21 -21
  411. localstack/services/ses/resource_providers/aws_ses_emailidentity_plugin.py +1 -3
  412. localstack/services/sns/constants.py +7 -1
  413. localstack/services/sns/executor.py +9 -2
  414. localstack/services/sns/models.py +25 -25
  415. localstack/services/sns/provider.py +9 -7
  416. localstack/services/sns/publisher.py +37 -23
  417. localstack/services/sns/resource_providers/aws_sns_subscription.py +13 -13
  418. localstack/services/sns/resource_providers/aws_sns_subscription_plugin.py +1 -3
  419. localstack/services/sns/resource_providers/aws_sns_topic.py +16 -16
  420. localstack/services/sns/resource_providers/aws_sns_topic_plugin.py +1 -3
  421. localstack/services/sns/resource_providers/aws_sns_topicpolicy.py +4 -4
  422. localstack/services/sns/resource_providers/aws_sns_topicpolicy_plugin.py +1 -3
  423. localstack/services/sns/v2/models.py +167 -0
  424. localstack/services/sns/v2/provider.py +867 -0
  425. localstack/services/sns/v2/utils.py +130 -0
  426. localstack/services/sqs/constants.py +2 -2
  427. localstack/services/sqs/developer_api.py +205 -0
  428. localstack/services/sqs/models.py +71 -36
  429. localstack/services/sqs/provider.py +56 -332
  430. localstack/services/sqs/query_api.py +8 -5
  431. localstack/services/sqs/resource_providers/aws_sqs_queue.py +21 -21
  432. localstack/services/sqs/resource_providers/aws_sqs_queue_plugin.py +1 -3
  433. localstack/services/sqs/resource_providers/aws_sqs_queuepolicy.py +7 -5
  434. localstack/services/sqs/resource_providers/aws_sqs_queuepolicy_plugin.py +1 -3
  435. localstack/services/sqs/utils.py +123 -4
  436. localstack/services/ssm/provider.py +3 -4
  437. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindow.py +15 -15
  438. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindow_plugin.py +1 -3
  439. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtarget.py +10 -10
  440. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtarget_plugin.py +1 -3
  441. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtask.py +48 -48
  442. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtask_plugin.py +1 -3
  443. localstack/services/ssm/resource_providers/aws_ssm_parameter.py +10 -10
  444. localstack/services/ssm/resource_providers/aws_ssm_parameter_plugin.py +1 -3
  445. localstack/services/ssm/resource_providers/aws_ssm_patchbaseline.py +29 -29
  446. localstack/services/ssm/resource_providers/aws_ssm_patchbaseline_plugin.py +1 -3
  447. localstack/services/stepfunctions/asl/antlt4utils/antlr4utils.py +3 -4
  448. localstack/services/stepfunctions/asl/component/common/assign/assign_decl.py +1 -1
  449. localstack/services/stepfunctions/asl/component/common/assign/assign_decl_binding.py +1 -1
  450. localstack/services/stepfunctions/asl/component/common/assign/assign_template_value_array.py +1 -1
  451. localstack/services/stepfunctions/asl/component/common/assign/assign_template_value_object.py +1 -1
  452. localstack/services/stepfunctions/asl/component/common/catch/catcher_decl.py +9 -9
  453. localstack/services/stepfunctions/asl/component/common/error_name/custom_error_name.py +2 -2
  454. localstack/services/stepfunctions/asl/component/common/error_name/error_name.py +4 -4
  455. localstack/services/stepfunctions/asl/component/common/error_name/failure_event.py +8 -8
  456. localstack/services/stepfunctions/asl/component/common/error_name/states_error_name_type.py +1 -1
  457. localstack/services/stepfunctions/asl/component/common/jsonata/jsonata_template_binding.py +2 -2
  458. localstack/services/stepfunctions/asl/component/common/jsonata/jsonata_template_value_array.py +1 -1
  459. localstack/services/stepfunctions/asl/component/common/jsonata/jsonata_template_value_object.py +1 -1
  460. localstack/services/stepfunctions/asl/component/common/path/input_path.py +4 -4
  461. localstack/services/stepfunctions/asl/component/common/path/output_path.py +4 -4
  462. localstack/services/stepfunctions/asl/component/common/path/result_path.py +3 -3
  463. localstack/services/stepfunctions/asl/component/common/payload/payloadvalue/payloadarr/payload_arr.py +1 -1
  464. localstack/services/stepfunctions/asl/component/common/payload/payloadvalue/payloadbinding/payload_binding.py +3 -3
  465. localstack/services/stepfunctions/asl/component/common/payload/payloadvalue/payloadtmpl/payload_tmpl.py +1 -1
  466. localstack/services/stepfunctions/asl/component/common/retry/retrier_decl.py +8 -8
  467. localstack/services/stepfunctions/asl/component/common/string/string_expression.py +3 -3
  468. localstack/services/stepfunctions/asl/component/common/timeouts/timeout.py +3 -3
  469. localstack/services/stepfunctions/asl/component/eval_component.py +2 -3
  470. localstack/services/stepfunctions/asl/component/intrinsic/argument/argument.py +4 -4
  471. localstack/services/stepfunctions/asl/component/intrinsic/function/statesfunction/array/array_partition.py +1 -1
  472. localstack/services/stepfunctions/asl/component/intrinsic/function/statesfunction/generic/string_format.py +1 -1
  473. localstack/services/stepfunctions/asl/component/intrinsic/function/statesfunction/states_function_array.py +1 -1
  474. localstack/services/stepfunctions/asl/component/intrinsic/function/statesfunction/states_function_format.py +1 -1
  475. localstack/services/stepfunctions/asl/component/intrinsic/jsonata.py +3 -3
  476. localstack/services/stepfunctions/asl/component/intrinsic/member.py +1 -1
  477. localstack/services/stepfunctions/asl/component/program/program.py +9 -9
  478. localstack/services/stepfunctions/asl/component/program/states.py +1 -1
  479. localstack/services/stepfunctions/asl/component/state/state.py +10 -11
  480. localstack/services/stepfunctions/asl/component/state/state_choice/choice_rule.py +11 -11
  481. localstack/services/stepfunctions/asl/component/state/state_choice/comparison/comparison.py +5 -11
  482. localstack/services/stepfunctions/asl/component/state/state_choice/comparison/operator/implementations/is_operator.py +2 -2
  483. localstack/services/stepfunctions/asl/component/state/state_choice/state_choice.py +3 -5
  484. localstack/services/stepfunctions/asl/component/state/state_execution/execute_state.py +9 -9
  485. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/item_reader_decl.py +7 -7
  486. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/reader_config/reader_config_decl.py +5 -5
  487. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/resource_eval/resource_eval_s3.py +2 -1
  488. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/resource_eval/resource_output_transformer/resource_output_transformer_csv.py +2 -2
  489. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/distributed_iteration_component.py +8 -8
  490. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/inline_iteration_component.py +7 -7
  491. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/distributed_item_processor_worker.py +4 -4
  492. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/inline_item_processor_worker.py +5 -5
  493. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/map_run_record.py +10 -10
  494. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_component.py +3 -3
  495. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_declaration.py +3 -3
  496. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_worker.py +2 -2
  497. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/distributed_iterator_worker.py +3 -5
  498. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/inline_iterator.py +1 -2
  499. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/inline_iterator_worker.py +5 -5
  500. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/job.py +9 -9
  501. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/result_writer/resource_eval/resource_eval_s3.py +2 -1
  502. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py +12 -13
  503. localstack/services/stepfunctions/asl/component/state/state_execution/state_parallel/branch_worker.py +3 -3
  504. localstack/services/stepfunctions/asl/component/state/state_execution/state_parallel/branches_decl.py +7 -7
  505. localstack/services/stepfunctions/asl/component/state/state_execution/state_parallel/state_parallel.py +2 -3
  506. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/lambda_eval_utils.py +7 -7
  507. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/resource.py +3 -3
  508. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service.py +10 -10
  509. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_api_gateway.py +18 -18
  510. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_aws_sdk.py +1 -1
  511. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_batch.py +8 -7
  512. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_callback.py +18 -17
  513. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_dynamodb.py +2 -2
  514. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_ecs.py +5 -4
  515. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_events.py +4 -4
  516. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_glue.py +7 -6
  517. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_lambda.py +4 -4
  518. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_sfn.py +9 -8
  519. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_sns.py +2 -2
  520. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_sqs.py +4 -4
  521. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/state_task.py +5 -5
  522. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/state_task_lambda.py +2 -2
  523. localstack/services/stepfunctions/asl/component/state/state_fail/state_fail.py +3 -5
  524. localstack/services/stepfunctions/asl/component/state/state_pass/state_pass.py +5 -7
  525. localstack/services/stepfunctions/asl/component/state/state_succeed/state_succeed.py +1 -1
  526. localstack/services/stepfunctions/asl/component/state/state_wait/state_wait.py +1 -1
  527. localstack/services/stepfunctions/asl/component/state/state_wait/wait_function/timestamp.py +2 -2
  528. localstack/services/stepfunctions/asl/eval/callback/callback.py +18 -18
  529. localstack/services/stepfunctions/asl/eval/environment.py +22 -24
  530. localstack/services/stepfunctions/asl/eval/evaluation_details.py +3 -5
  531. localstack/services/stepfunctions/asl/eval/event/event_manager.py +10 -10
  532. localstack/services/stepfunctions/asl/eval/event/logging.py +3 -3
  533. localstack/services/stepfunctions/asl/eval/program_state.py +8 -8
  534. localstack/services/stepfunctions/asl/eval/states.py +12 -12
  535. localstack/services/stepfunctions/asl/eval/test_state/environment.py +3 -5
  536. localstack/services/stepfunctions/asl/eval/variable_store.py +6 -6
  537. localstack/services/stepfunctions/asl/jsonata/jsonata.py +7 -6
  538. localstack/services/stepfunctions/asl/parse/asl_parser.py +1 -1
  539. localstack/services/stepfunctions/asl/parse/intrinsic/preprocessor.py +2 -3
  540. localstack/services/stepfunctions/asl/parse/preprocessor.py +44 -44
  541. localstack/services/stepfunctions/asl/parse/typed_props.py +2 -2
  542. localstack/services/stepfunctions/asl/static_analyser/intrinsic/variable_names_intrinsic_static_analyser.py +1 -1
  543. localstack/services/stepfunctions/asl/static_analyser/variable_references_static_analyser.py +2 -2
  544. localstack/services/stepfunctions/asl/utils/encoding.py +2 -2
  545. localstack/services/stepfunctions/asl/utils/json_path.py +2 -2
  546. localstack/services/stepfunctions/backend/activity.py +4 -4
  547. localstack/services/stepfunctions/backend/alias.py +8 -8
  548. localstack/services/stepfunctions/backend/execution.py +29 -30
  549. localstack/services/stepfunctions/backend/execution_worker.py +7 -7
  550. localstack/services/stepfunctions/backend/state_machine.py +28 -28
  551. localstack/services/stepfunctions/backend/test_state/execution.py +3 -4
  552. localstack/services/stepfunctions/backend/test_state/execution_worker.py +1 -3
  553. localstack/services/stepfunctions/mocking/mock_config.py +9 -9
  554. localstack/services/stepfunctions/mocking/mock_config_file.py +10 -10
  555. localstack/services/stepfunctions/packages.py +14 -5
  556. localstack/services/stepfunctions/provider.py +34 -44
  557. localstack/services/stepfunctions/quotas.py +2 -3
  558. localstack/services/stepfunctions/resource_providers/aws_stepfunctions_activity.py +6 -6
  559. localstack/services/stepfunctions/resource_providers/aws_stepfunctions_activity_plugin.py +1 -3
  560. localstack/services/stepfunctions/resource_providers/aws_stepfunctions_statemachine.py +25 -25
  561. localstack/services/stepfunctions/resource_providers/aws_stepfunctions_statemachine_plugin.py +1 -3
  562. localstack/services/stepfunctions/stepfunctions_utils.py +1 -2
  563. localstack/services/stores.py +8 -8
  564. localstack/services/transcribe/packages.py +1 -3
  565. localstack/services/transcribe/provider.py +8 -3
  566. localstack/state/codecs.py +61 -0
  567. localstack/state/core.py +11 -5
  568. localstack/state/inspect.py +4 -4
  569. localstack/state/pickle.py +36 -23
  570. localstack/testing/aws/asf_utils.py +3 -2
  571. localstack/testing/aws/cloudformation_utils.py +1 -1
  572. localstack/testing/aws/lambda_utils.py +15 -14
  573. localstack/testing/aws/util.py +3 -2
  574. localstack/testing/pytest/cloudformation/fixtures.py +68 -18
  575. localstack/testing/pytest/container.py +5 -5
  576. localstack/testing/pytest/filters.py +1 -3
  577. localstack/testing/pytest/fixtures.py +188 -49
  578. localstack/testing/pytest/in_memory_localstack.py +1 -3
  579. localstack/testing/pytest/marking.py +42 -15
  580. localstack/testing/pytest/path_filter.py +1 -1
  581. localstack/testing/pytest/stepfunctions/fixtures.py +4 -4
  582. localstack/testing/pytest/stepfunctions/utils.py +11 -10
  583. localstack/testing/pytest/util.py +1 -1
  584. localstack/testing/pytest/validation_tracking.py +3 -4
  585. localstack/testing/scenario/provisioning.py +11 -10
  586. localstack/testing/snapshots/transformer_utility.py +8 -3
  587. localstack/testing/testselection/matching.py +2 -2
  588. localstack/testing/testselection/opt_out.py +1 -1
  589. localstack/testing/testselection/scripts/filter_by_test_selection.py +1 -1
  590. localstack/testing/testselection/scripts/generate_test_selection.py +1 -1
  591. localstack/testing/testselection/testselection.py +2 -2
  592. localstack/utils/analytics/cli.py +2 -3
  593. localstack/utils/analytics/client.py +5 -5
  594. localstack/utils/analytics/events.py +2 -2
  595. localstack/utils/analytics/metadata.py +6 -4
  596. localstack/utils/analytics/metrics/counter.py +11 -18
  597. localstack/utils/analytics/metrics/registry.py +2 -2
  598. localstack/utils/analytics/publisher.py +4 -5
  599. localstack/utils/analytics/service_providers.py +19 -0
  600. localstack/utils/analytics/service_request_aggregator.py +4 -4
  601. localstack/utils/archives.py +12 -12
  602. localstack/utils/asyncio.py +2 -2
  603. localstack/utils/aws/arns.py +26 -31
  604. localstack/utils/aws/aws_responses.py +21 -28
  605. localstack/utils/aws/aws_stack.py +7 -12
  606. localstack/utils/aws/dead_letter_queue.py +4 -9
  607. localstack/utils/aws/message_forwarding.py +8 -11
  608. localstack/utils/aws/request_context.py +5 -6
  609. localstack/utils/aws/resources.py +1 -1
  610. localstack/utils/aws/templating.py +4 -4
  611. localstack/utils/batch_policy.py +4 -4
  612. localstack/utils/bootstrap.py +37 -30
  613. localstack/utils/catalog/catalog.py +139 -0
  614. localstack/utils/catalog/catalog_loader.py +119 -0
  615. localstack/utils/catalog/common.py +58 -0
  616. localstack/utils/catalog/plugins.py +28 -0
  617. localstack/utils/cloudwatch/cloudwatch_util.py +5 -5
  618. localstack/utils/collections.py +33 -27
  619. localstack/utils/config_listener.py +2 -2
  620. localstack/utils/container_networking.py +5 -6
  621. localstack/utils/container_utils/container_client.py +156 -160
  622. localstack/utils/container_utils/docker_cmd_client.py +97 -81
  623. localstack/utils/container_utils/docker_sdk_client.py +75 -72
  624. localstack/utils/crypto.py +12 -13
  625. localstack/utils/diagnose.py +11 -12
  626. localstack/utils/docker_utils.py +11 -7
  627. localstack/utils/files.py +34 -15
  628. localstack/utils/functions.py +5 -4
  629. localstack/utils/http.py +14 -14
  630. localstack/utils/iputils.py +2 -1
  631. localstack/utils/json.py +21 -7
  632. localstack/utils/kinesis/kinesis_connector.py +2 -1
  633. localstack/utils/net.py +25 -17
  634. localstack/utils/no_exit_argument_parser.py +2 -2
  635. localstack/utils/numbers.py +9 -2
  636. localstack/utils/objects.py +15 -14
  637. localstack/utils/patch.py +14 -7
  638. localstack/utils/platform.py +2 -2
  639. localstack/utils/run.py +15 -14
  640. localstack/utils/scheduler.py +13 -12
  641. localstack/utils/server/tcp_proxy.py +2 -2
  642. localstack/utils/serving.py +3 -4
  643. localstack/utils/strings.py +15 -16
  644. localstack/utils/sync.py +126 -1
  645. localstack/utils/tagging.py +10 -8
  646. localstack/utils/testutil.py +17 -17
  647. localstack/utils/threads.py +3 -3
  648. localstack/utils/time.py +12 -4
  649. localstack/utils/urls.py +1 -3
  650. localstack/utils/xml.py +1 -1
  651. localstack/utils/xray/traceid.py +1 -1
  652. localstack/version.py +16 -3
  653. {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/METADATA +18 -13
  654. {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/RECORD +663 -655
  655. {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/entry_points.txt +8 -4
  656. localstack_core-4.10.1.dev12.dist-info/plux.json +1 -0
  657. localstack/packages/terraform.py +0 -47
  658. localstack/services/cloudformation/deploy.html +0 -144
  659. localstack/services/cloudformation/deploy_ui.py +0 -47
  660. localstack/services/cloudformation/plugins.py +0 -12
  661. localstack/services/lambda_/lambda_debug_mode/ldm.py +0 -375
  662. localstack/services/lambda_/lambda_debug_mode/ldm_config_file.py +0 -178
  663. localstack/services/lambda_/lambda_debug_mode/ldm_types.py +0 -11
  664. localstack/services/lambda_/lambda_debug_mode/ldm_utils.py +0 -43
  665. localstack_core-4.6.1.dev60.dist-info/plux.json +0 -1
  666. /localstack/{services/lambda_/lambda_debug_mode/__init__.py → testing/pytest/cloudformation/transformers.py} +0 -0
  667. {localstack_core-4.6.1.dev60.data → localstack_core-4.10.1.dev12.data}/scripts/localstack +0 -0
  668. {localstack_core-4.6.1.dev60.data → localstack_core-4.10.1.dev12.data}/scripts/localstack-supervisor +0 -0
  669. {localstack_core-4.6.1.dev60.data → localstack_core-4.10.1.dev12.data}/scripts/localstack.bat +0 -0
  670. {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/WHEEL +0 -0
  671. {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/licenses/LICENSE.txt +0 -0
  672. {localstack_core-4.6.1.dev60.dist-info → localstack_core-4.10.1.dev12.dist-info}/top_level.txt +0 -0
@@ -893,23 +893,19 @@ class DisableRuleRequest(ServiceRequest):
893
893
  EventBusName: Optional[EventBusNameOrArn]
894
894
 
895
895
 
896
- PlacementStrategy = TypedDict(
897
- "PlacementStrategy",
898
- {
899
- "type": Optional[PlacementStrategyType],
900
- "field": Optional[PlacementStrategyField],
901
- },
902
- total=False,
903
- )
896
+ class PlacementStrategy(TypedDict, total=False):
897
+ type: Optional[PlacementStrategyType]
898
+ field: Optional[PlacementStrategyField]
899
+
900
+
904
901
  PlacementStrategies = List[PlacementStrategy]
905
- PlacementConstraint = TypedDict(
906
- "PlacementConstraint",
907
- {
908
- "type": Optional[PlacementConstraintType],
909
- "expression": Optional[PlacementConstraintExpression],
910
- },
911
- total=False,
912
- )
902
+
903
+
904
+ class PlacementConstraint(TypedDict, total=False):
905
+ type: Optional[PlacementConstraintType]
906
+ expression: Optional[PlacementConstraintExpression]
907
+
908
+
913
909
  PlacementConstraints = List[PlacementConstraint]
914
910
 
915
911
 
@@ -276,6 +276,13 @@ class summaryKeyType(StrEnum):
276
276
  PolicyVersionsInUseQuota = "PolicyVersionsInUseQuota"
277
277
  VersionsPerPolicyQuota = "VersionsPerPolicyQuota"
278
278
  GlobalEndpointTokenVersion = "GlobalEndpointTokenVersion"
279
+ AssumeRolePolicySizeQuota = "AssumeRolePolicySizeQuota"
280
+ InstanceProfiles = "InstanceProfiles"
281
+ InstanceProfilesQuota = "InstanceProfilesQuota"
282
+ Providers = "Providers"
283
+ RolePolicySizeQuota = "RolePolicySizeQuota"
284
+ Roles = "Roles"
285
+ RolesQuota = "RolesQuota"
279
286
 
280
287
 
281
288
  class AccountNotManagementOrDelegatedAdministratorException(ServiceException):
@@ -18,6 +18,7 @@ ListShardsInputLimit = int
18
18
  ListStreamConsumersInputLimit = int
19
19
  ListStreamsInputLimit = int
20
20
  ListTagsForStreamInputLimit = int
21
+ MaxRecordSizeInKiB = int
21
22
  NextToken = str
22
23
  OnDemandStreamCountLimitObject = int
23
24
  OnDemandStreamCountObject = int
@@ -241,6 +242,7 @@ class CreateStreamInput(ServiceRequest):
241
242
  ShardCount: Optional[PositiveIntegerObject]
242
243
  StreamModeDetails: Optional[StreamModeDetails]
243
244
  Tags: Optional[TagMap]
245
+ MaxRecordSizeInKiB: Optional[MaxRecordSizeInKiB]
244
246
 
245
247
 
246
248
  Data = bytes
@@ -357,6 +359,7 @@ class StreamDescriptionSummary(TypedDict, total=False):
357
359
  KeyId: Optional[KeyId]
358
360
  OpenShardCount: ShardCountObject
359
361
  ConsumerCount: Optional[ConsumerCountObject]
362
+ MaxRecordSizeInKiB: Optional[MaxRecordSizeInKiB]
360
363
 
361
364
 
362
365
  class DescribeStreamSummaryOutput(TypedDict, total=False):
@@ -666,6 +669,11 @@ class UntagResourceInput(ServiceRequest):
666
669
  ResourceARN: ResourceARN
667
670
 
668
671
 
672
+ class UpdateMaxRecordSizeInput(ServiceRequest):
673
+ StreamARN: Optional[StreamARN]
674
+ MaxRecordSizeInKiB: MaxRecordSizeInKiB
675
+
676
+
669
677
  class UpdateShardCountInput(ServiceRequest):
670
678
  StreamName: Optional[StreamName]
671
679
  TargetShardCount: PositiveIntegerObject
@@ -708,6 +716,7 @@ class KinesisApi:
708
716
  shard_count: PositiveIntegerObject | None = None,
709
717
  stream_mode_details: StreamModeDetails | None = None,
710
718
  tags: TagMap | None = None,
719
+ max_record_size_in_ki_b: MaxRecordSizeInKiB | None = None,
711
720
  **kwargs,
712
721
  ) -> None:
713
722
  raise NotImplementedError
@@ -1032,6 +1041,16 @@ class KinesisApi:
1032
1041
  ) -> None:
1033
1042
  raise NotImplementedError
1034
1043
 
1044
+ @handler("UpdateMaxRecordSize")
1045
+ def update_max_record_size(
1046
+ self,
1047
+ context: RequestContext,
1048
+ max_record_size_in_ki_b: MaxRecordSizeInKiB,
1049
+ stream_arn: StreamARN | None = None,
1050
+ **kwargs,
1051
+ ) -> None:
1052
+ raise NotImplementedError
1053
+
1035
1054
  @handler("UpdateShardCount")
1036
1055
  def update_shard_count(
1037
1056
  self,
@@ -5,6 +5,7 @@ from typing import Dict, List, Optional, TypedDict
5
5
  from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
6
6
 
7
7
  AWSAccountIdType = str
8
+ AccountIdType = str
8
9
  AliasNameType = str
9
10
  ArnType = str
10
11
  BackingKeyIdResponseType = str
@@ -621,6 +622,7 @@ class CreateCustomKeyStoreRequest(ServiceRequest):
621
622
  XksProxyUriEndpoint: Optional[XksProxyUriEndpointType]
622
623
  XksProxyUriPath: Optional[XksProxyUriPathType]
623
624
  XksProxyVpcEndpointServiceName: Optional[XksProxyVpcEndpointServiceNameType]
625
+ XksProxyVpcEndpointServiceOwner: Optional[AccountIdType]
624
626
  XksProxyAuthenticationCredential: Optional[XksProxyAuthenticationCredentialType]
625
627
  XksProxyConnectivity: Optional[XksProxyConnectivityType]
626
628
 
@@ -744,6 +746,7 @@ class XksProxyConfigurationType(TypedDict, total=False):
744
746
  UriEndpoint: Optional[XksProxyUriEndpointType]
745
747
  UriPath: Optional[XksProxyUriPathType]
746
748
  VpcEndpointServiceName: Optional[XksProxyVpcEndpointServiceNameType]
749
+ VpcEndpointServiceOwner: Optional[AccountIdType]
747
750
 
748
751
 
749
752
  class CustomKeyStoresListEntry(TypedDict, total=False):
@@ -1290,6 +1293,7 @@ class UpdateCustomKeyStoreRequest(ServiceRequest):
1290
1293
  XksProxyUriEndpoint: Optional[XksProxyUriEndpointType]
1291
1294
  XksProxyUriPath: Optional[XksProxyUriPathType]
1292
1295
  XksProxyVpcEndpointServiceName: Optional[XksProxyVpcEndpointServiceNameType]
1296
+ XksProxyVpcEndpointServiceOwner: Optional[AccountIdType]
1293
1297
  XksProxyAuthenticationCredential: Optional[XksProxyAuthenticationCredentialType]
1294
1298
  XksProxyConnectivity: Optional[XksProxyConnectivityType]
1295
1299
 
@@ -1373,6 +1377,7 @@ class KmsApi:
1373
1377
  xks_proxy_uri_endpoint: XksProxyUriEndpointType | None = None,
1374
1378
  xks_proxy_uri_path: XksProxyUriPathType | None = None,
1375
1379
  xks_proxy_vpc_endpoint_service_name: XksProxyVpcEndpointServiceNameType | None = None,
1380
+ xks_proxy_vpc_endpoint_service_owner: AccountIdType | None = None,
1376
1381
  xks_proxy_authentication_credential: XksProxyAuthenticationCredentialType | None = None,
1377
1382
  xks_proxy_connectivity: XksProxyConnectivityType | None = None,
1378
1383
  **kwargs,
@@ -1864,6 +1869,7 @@ class KmsApi:
1864
1869
  xks_proxy_uri_endpoint: XksProxyUriEndpointType | None = None,
1865
1870
  xks_proxy_uri_path: XksProxyUriPathType | None = None,
1866
1871
  xks_proxy_vpc_endpoint_service_name: XksProxyVpcEndpointServiceNameType | None = None,
1872
+ xks_proxy_vpc_endpoint_service_owner: AccountIdType | None = None,
1867
1873
  xks_proxy_authentication_credential: XksProxyAuthenticationCredentialType | None = None,
1868
1874
  xks_proxy_connectivity: XksProxyConnectivityType | None = None,
1869
1875
  **kwargs,
@@ -36,6 +36,7 @@ Handler = str
36
36
  Header = str
37
37
  HttpStatus = int
38
38
  Integer = int
39
+ InvokedViaFunctionUrl = bool
39
40
  KMSKeyArn = str
40
41
  LastUpdateStatusReason = str
41
42
  LayerArn = str
@@ -286,6 +287,9 @@ class Runtime(StrEnum):
286
287
  java21 = "java21"
287
288
  python3_13 = "python3.13"
288
289
  nodejs22_x = "nodejs22.x"
290
+ java25 = "java25"
291
+ nodejs24_x = "nodejs24.x"
292
+ python3_14 = "python3.14"
289
293
 
290
294
 
291
295
  class SchemaRegistryEventRecordFormat(StrEnum):
@@ -378,21 +382,21 @@ class UpdateRuntimeOn(StrEnum):
378
382
 
379
383
  class CodeSigningConfigNotFoundException(ServiceException):
380
384
  code: str = "CodeSigningConfigNotFoundException"
381
- sender_fault: bool = False
385
+ sender_fault: bool = True
382
386
  status_code: int = 404
383
387
  Type: Optional[String]
384
388
 
385
389
 
386
390
  class CodeStorageExceededException(ServiceException):
387
391
  code: str = "CodeStorageExceededException"
388
- sender_fault: bool = False
392
+ sender_fault: bool = True
389
393
  status_code: int = 400
390
394
  Type: Optional[String]
391
395
 
392
396
 
393
397
  class CodeVerificationFailedException(ServiceException):
394
398
  code: str = "CodeVerificationFailedException"
395
- sender_fault: bool = False
399
+ sender_fault: bool = True
396
400
  status_code: int = 400
397
401
  Type: Optional[String]
398
402
 
@@ -421,28 +425,28 @@ class EC2UnexpectedException(ServiceException):
421
425
 
422
426
  class EFSIOException(ServiceException):
423
427
  code: str = "EFSIOException"
424
- sender_fault: bool = False
428
+ sender_fault: bool = True
425
429
  status_code: int = 410
426
430
  Type: Optional[String]
427
431
 
428
432
 
429
433
  class EFSMountConnectivityException(ServiceException):
430
434
  code: str = "EFSMountConnectivityException"
431
- sender_fault: bool = False
435
+ sender_fault: bool = True
432
436
  status_code: int = 408
433
437
  Type: Optional[String]
434
438
 
435
439
 
436
440
  class EFSMountFailureException(ServiceException):
437
441
  code: str = "EFSMountFailureException"
438
- sender_fault: bool = False
442
+ sender_fault: bool = True
439
443
  status_code: int = 403
440
444
  Type: Optional[String]
441
445
 
442
446
 
443
447
  class EFSMountTimeoutException(ServiceException):
444
448
  code: str = "EFSMountTimeoutException"
445
- sender_fault: bool = False
449
+ sender_fault: bool = True
446
450
  status_code: int = 408
447
451
  Type: Optional[String]
448
452
 
@@ -456,21 +460,21 @@ class ENILimitReachedException(ServiceException):
456
460
 
457
461
  class InvalidCodeSignatureException(ServiceException):
458
462
  code: str = "InvalidCodeSignatureException"
459
- sender_fault: bool = False
463
+ sender_fault: bool = True
460
464
  status_code: int = 400
461
465
  Type: Optional[String]
462
466
 
463
467
 
464
468
  class InvalidParameterValueException(ServiceException):
465
469
  code: str = "InvalidParameterValueException"
466
- sender_fault: bool = False
470
+ sender_fault: bool = True
467
471
  status_code: int = 400
468
472
  Type: Optional[String]
469
473
 
470
474
 
471
475
  class InvalidRequestContentException(ServiceException):
472
476
  code: str = "InvalidRequestContentException"
473
- sender_fault: bool = False
477
+ sender_fault: bool = True
474
478
  status_code: int = 400
475
479
  Type: Optional[String]
476
480
 
@@ -533,56 +537,56 @@ class KMSNotFoundException(ServiceException):
533
537
 
534
538
  class PolicyLengthExceededException(ServiceException):
535
539
  code: str = "PolicyLengthExceededException"
536
- sender_fault: bool = False
540
+ sender_fault: bool = True
537
541
  status_code: int = 400
538
542
  Type: Optional[String]
539
543
 
540
544
 
541
545
  class PreconditionFailedException(ServiceException):
542
546
  code: str = "PreconditionFailedException"
543
- sender_fault: bool = False
547
+ sender_fault: bool = True
544
548
  status_code: int = 412
545
549
  Type: Optional[String]
546
550
 
547
551
 
548
552
  class ProvisionedConcurrencyConfigNotFoundException(ServiceException):
549
553
  code: str = "ProvisionedConcurrencyConfigNotFoundException"
550
- sender_fault: bool = False
554
+ sender_fault: bool = True
551
555
  status_code: int = 404
552
556
  Type: Optional[String]
553
557
 
554
558
 
555
559
  class RecursiveInvocationException(ServiceException):
556
560
  code: str = "RecursiveInvocationException"
557
- sender_fault: bool = False
561
+ sender_fault: bool = True
558
562
  status_code: int = 400
559
563
  Type: Optional[String]
560
564
 
561
565
 
562
566
  class RequestTooLargeException(ServiceException):
563
567
  code: str = "RequestTooLargeException"
564
- sender_fault: bool = False
568
+ sender_fault: bool = True
565
569
  status_code: int = 413
566
570
  Type: Optional[String]
567
571
 
568
572
 
569
573
  class ResourceConflictException(ServiceException):
570
574
  code: str = "ResourceConflictException"
571
- sender_fault: bool = False
575
+ sender_fault: bool = True
572
576
  status_code: int = 409
573
577
  Type: Optional[String]
574
578
 
575
579
 
576
580
  class ResourceInUseException(ServiceException):
577
581
  code: str = "ResourceInUseException"
578
- sender_fault: bool = False
582
+ sender_fault: bool = True
579
583
  status_code: int = 400
580
584
  Type: Optional[String]
581
585
 
582
586
 
583
587
  class ResourceNotFoundException(ServiceException):
584
588
  code: str = "ResourceNotFoundException"
585
- sender_fault: bool = False
589
+ sender_fault: bool = True
586
590
  status_code: int = 404
587
591
  Type: Optional[String]
588
592
 
@@ -594,6 +598,13 @@ class ResourceNotReadyException(ServiceException):
594
598
  Type: Optional[String]
595
599
 
596
600
 
601
+ class SerializedRequestEntityTooLargeException(ServiceException):
602
+ code: str = "SerializedRequestEntityTooLargeException"
603
+ sender_fault: bool = True
604
+ status_code: int = 413
605
+ Type: Optional[String]
606
+
607
+
597
608
  class ServiceException(ServiceException):
598
609
  code: str = "ServiceException"
599
610
  sender_fault: bool = False
@@ -603,21 +614,21 @@ class ServiceException(ServiceException):
603
614
 
604
615
  class SnapStartException(ServiceException):
605
616
  code: str = "SnapStartException"
606
- sender_fault: bool = False
617
+ sender_fault: bool = True
607
618
  status_code: int = 400
608
619
  Type: Optional[String]
609
620
 
610
621
 
611
622
  class SnapStartNotReadyException(ServiceException):
612
623
  code: str = "SnapStartNotReadyException"
613
- sender_fault: bool = False
624
+ sender_fault: bool = True
614
625
  status_code: int = 409
615
626
  Type: Optional[String]
616
627
 
617
628
 
618
629
  class SnapStartTimeoutException(ServiceException):
619
630
  code: str = "SnapStartTimeoutException"
620
- sender_fault: bool = False
631
+ sender_fault: bool = True
621
632
  status_code: int = 408
622
633
  Type: Optional[String]
623
634
 
@@ -631,7 +642,7 @@ class SubnetIPAddressLimitReachedException(ServiceException):
631
642
 
632
643
  class TooManyRequestsException(ServiceException):
633
644
  code: str = "TooManyRequestsException"
634
- sender_fault: bool = False
645
+ sender_fault: bool = True
635
646
  status_code: int = 429
636
647
  retryAfterSeconds: Optional[String]
637
648
  Type: Optional[String]
@@ -640,7 +651,7 @@ class TooManyRequestsException(ServiceException):
640
651
 
641
652
  class UnsupportedMediaTypeException(ServiceException):
642
653
  code: str = "UnsupportedMediaTypeException"
643
- sender_fault: bool = False
654
+ sender_fault: bool = True
644
655
  status_code: int = 415
645
656
  Type: Optional[String]
646
657
 
@@ -691,6 +702,7 @@ class AddPermissionRequest(ServiceRequest):
691
702
  RevisionId: Optional[String]
692
703
  PrincipalOrgID: Optional[PrincipalOrgID]
693
704
  FunctionUrlAuthType: Optional[FunctionUrlAuthType]
705
+ InvokedViaFunctionUrl: Optional[InvokedViaFunctionUrl]
694
706
 
695
707
 
696
708
  class AddPermissionResponse(TypedDict, total=False):
@@ -1903,6 +1915,7 @@ class LambdaApi:
1903
1915
  revision_id: String | None = None,
1904
1916
  principal_org_id: PrincipalOrgID | None = None,
1905
1917
  function_url_auth_type: FunctionUrlAuthType | None = None,
1918
+ invoked_via_function_url: InvokedViaFunctionUrl | None = None,
1906
1919
  **kwargs,
1907
1920
  ) -> AddPermissionResponse:
1908
1921
  raise NotImplementedError
@@ -57,6 +57,7 @@ Field = str
57
57
  FieldDelimiter = str
58
58
  FieldHeader = str
59
59
  FieldIndexName = str
60
+ FieldSelectionCriteria = str
60
61
  FilterCount = int
61
62
  FilterName = str
62
63
  FilterPattern = str
@@ -137,6 +138,7 @@ SplitStringDelimiter = str
137
138
  StartFromHead = bool
138
139
  StatsValue = float
139
140
  Success = bool
141
+ SystemField = str
140
142
  TagKey = str
141
143
  TagValue = str
142
144
  Target = str
@@ -1139,6 +1141,7 @@ class DescribeMetricFiltersRequest(ServiceRequest):
1139
1141
  metricNamespace: Optional[MetricNamespace]
1140
1142
 
1141
1143
 
1144
+ EmitSystemFields = List[SystemField]
1142
1145
  Dimensions = Dict[DimensionsKey, DimensionsValue]
1143
1146
 
1144
1147
 
@@ -1161,6 +1164,8 @@ class MetricFilter(TypedDict, total=False):
1161
1164
  creationTime: Optional[Timestamp]
1162
1165
  logGroupName: Optional[LogGroupName]
1163
1166
  applyOnTransformedLogs: Optional[ApplyOnTransformedLogs]
1167
+ fieldSelectionCriteria: Optional[FieldSelectionCriteria]
1168
+ emitSystemFieldDimensions: Optional[EmitSystemFields]
1164
1169
 
1165
1170
 
1166
1171
  MetricFilters = List[MetricFilter]
@@ -1263,6 +1268,8 @@ class SubscriptionFilter(TypedDict, total=False):
1263
1268
  distribution: Optional[Distribution]
1264
1269
  applyOnTransformedLogs: Optional[ApplyOnTransformedLogs]
1265
1270
  creationTime: Optional[Timestamp]
1271
+ fieldSelectionCriteria: Optional[FieldSelectionCriteria]
1272
+ emitSystemFields: Optional[EmitSystemFields]
1266
1273
 
1267
1274
 
1268
1275
  SubscriptionFilters = List[SubscriptionFilter]
@@ -1585,14 +1592,11 @@ class UpperCaseString(TypedDict, total=False):
1585
1592
  withKeys: UpperCaseStringWithKeys
1586
1593
 
1587
1594
 
1588
- TypeConverterEntry = TypedDict(
1589
- "TypeConverterEntry",
1590
- {
1591
- "key": Key,
1592
- "type": Type,
1593
- },
1594
- total=False,
1595
- )
1595
+ class TypeConverterEntry(TypedDict, total=False):
1596
+ key: Key
1597
+ type: Type
1598
+
1599
+
1596
1600
  TypeConverterEntries = List[TypeConverterEntry]
1597
1601
 
1598
1602
 
@@ -2035,6 +2039,8 @@ class PutMetricFilterRequest(ServiceRequest):
2035
2039
  filterPattern: FilterPattern
2036
2040
  metricTransformations: MetricTransformations
2037
2041
  applyOnTransformedLogs: Optional[ApplyOnTransformedLogs]
2042
+ fieldSelectionCriteria: Optional[FieldSelectionCriteria]
2043
+ emitSystemFieldDimensions: Optional[EmitSystemFields]
2038
2044
 
2039
2045
 
2040
2046
  class PutQueryDefinitionRequest(ServiceRequest):
@@ -2075,6 +2081,8 @@ class PutSubscriptionFilterRequest(ServiceRequest):
2075
2081
  roleArn: Optional[RoleArn]
2076
2082
  distribution: Optional[Distribution]
2077
2083
  applyOnTransformedLogs: Optional[ApplyOnTransformedLogs]
2084
+ fieldSelectionCriteria: Optional[FieldSelectionCriteria]
2085
+ emitSystemFields: Optional[EmitSystemFields]
2078
2086
 
2079
2087
 
2080
2088
  class PutTransformerRequest(ServiceRequest):
@@ -2932,6 +2940,8 @@ class LogsApi:
2932
2940
  filter_pattern: FilterPattern,
2933
2941
  metric_transformations: MetricTransformations,
2934
2942
  apply_on_transformed_logs: ApplyOnTransformedLogs | None = None,
2943
+ field_selection_criteria: FieldSelectionCriteria | None = None,
2944
+ emit_system_field_dimensions: EmitSystemFields | None = None,
2935
2945
  **kwargs,
2936
2946
  ) -> None:
2937
2947
  raise NotImplementedError
@@ -2983,6 +2993,8 @@ class LogsApi:
2983
2993
  role_arn: RoleArn | None = None,
2984
2994
  distribution: Distribution | None = None,
2985
2995
  apply_on_transformed_logs: ApplyOnTransformedLogs | None = None,
2996
+ field_selection_criteria: FieldSelectionCriteria | None = None,
2997
+ emit_system_fields: EmitSystemFields | None = None,
2986
2998
  **kwargs,
2987
2999
  ) -> None:
2988
3000
  raise NotImplementedError
@@ -39,6 +39,8 @@ ErrorMessage = str
39
39
  ErrorType = str
40
40
  GUID = str
41
41
  HostedZoneId = str
42
+ IAMFederationRolesKey = str
43
+ IAMFederationSubjectKey = str
42
44
  Id = str
43
45
  IdentityCenterApplicationARN = str
44
46
  IdentityCenterInstanceARN = str
@@ -836,6 +838,12 @@ class AdvancedOptionsStatus(TypedDict, total=False):
836
838
  DisableTimestamp = datetime
837
839
 
838
840
 
841
+ class IAMFederationOptionsOutput(TypedDict, total=False):
842
+ Enabled: Optional[Boolean]
843
+ SubjectKey: Optional[IAMFederationSubjectKey]
844
+ RolesKey: Optional[IAMFederationRolesKey]
845
+
846
+
839
847
  class JWTOptionsOutput(TypedDict, total=False):
840
848
  Enabled: Optional[Boolean]
841
849
  SubjectKey: Optional[String]
@@ -861,10 +869,17 @@ class AdvancedSecurityOptions(TypedDict, total=False):
861
869
  InternalUserDatabaseEnabled: Optional[Boolean]
862
870
  SAMLOptions: Optional[SAMLOptionsOutput]
863
871
  JWTOptions: Optional[JWTOptionsOutput]
872
+ IAMFederationOptions: Optional[IAMFederationOptionsOutput]
864
873
  AnonymousAuthDisableDate: Optional[DisableTimestamp]
865
874
  AnonymousAuthEnabled: Optional[Boolean]
866
875
 
867
876
 
877
+ class IAMFederationOptionsInput(TypedDict, total=False):
878
+ Enabled: Optional[Boolean]
879
+ SubjectKey: Optional[IAMFederationSubjectKey]
880
+ RolesKey: Optional[IAMFederationRolesKey]
881
+
882
+
868
883
  class JWTOptionsInput(TypedDict, total=False):
869
884
  Enabled: Optional[Boolean]
870
885
  SubjectKey: Optional[SubjectKey]
@@ -894,6 +909,7 @@ class AdvancedSecurityOptionsInput(TypedDict, total=False):
894
909
  MasterUserOptions: Optional[MasterUserOptions]
895
910
  SAMLOptions: Optional[SAMLOptionsInput]
896
911
  JWTOptions: Optional[JWTOptionsInput]
912
+ IAMFederationOptions: Optional[IAMFederationOptionsInput]
897
913
  AnonymousAuthEnabled: Optional[Boolean]
898
914
 
899
915
 
@@ -511,23 +511,19 @@ class EcsEphemeralStorage(TypedDict, total=False):
511
511
  sizeInGiB: EphemeralStorageSize
512
512
 
513
513
 
514
- EcsResourceRequirement = TypedDict(
515
- "EcsResourceRequirement",
516
- {
517
- "type": EcsResourceRequirementType,
518
- "value": String,
519
- },
520
- total=False,
521
- )
514
+ class EcsResourceRequirement(TypedDict, total=False):
515
+ type: EcsResourceRequirementType
516
+ value: String
517
+
518
+
522
519
  EcsResourceRequirementsList = List[EcsResourceRequirement]
523
- EcsEnvironmentFile = TypedDict(
524
- "EcsEnvironmentFile",
525
- {
526
- "type": EcsEnvironmentFileType,
527
- "value": String,
528
- },
529
- total=False,
530
- )
520
+
521
+
522
+ class EcsEnvironmentFile(TypedDict, total=False):
523
+ type: EcsEnvironmentFileType
524
+ value: String
525
+
526
+
531
527
  EcsEnvironmentFileList = List[EcsEnvironmentFile]
532
528
 
533
529
 
@@ -563,23 +559,19 @@ class EcsTaskOverride(TypedDict, total=False):
563
559
  TaskRoleArn: Optional[ArnOrJsonPath]
564
560
 
565
561
 
566
- PlacementStrategy = TypedDict(
567
- "PlacementStrategy",
568
- {
569
- "type": Optional[PlacementStrategyType],
570
- "field": Optional[PlacementStrategyField],
571
- },
572
- total=False,
573
- )
562
+ class PlacementStrategy(TypedDict, total=False):
563
+ type: Optional[PlacementStrategyType]
564
+ field: Optional[PlacementStrategyField]
565
+
566
+
574
567
  PlacementStrategies = List[PlacementStrategy]
575
- PlacementConstraint = TypedDict(
576
- "PlacementConstraint",
577
- {
578
- "type": Optional[PlacementConstraintType],
579
- "expression": Optional[PlacementConstraintExpression],
580
- },
581
- total=False,
582
- )
568
+
569
+
570
+ class PlacementConstraint(TypedDict, total=False):
571
+ type: Optional[PlacementConstraintType]
572
+ expression: Optional[PlacementConstraintExpression]
573
+
574
+
583
575
  PlacementConstraints = List[PlacementConstraint]
584
576
 
585
577
 
@@ -1985,6 +1985,9 @@ class CreateIntegrationMessage(ServiceRequest):
1985
1985
  Description: Optional[IntegrationDescription]
1986
1986
 
1987
1987
 
1988
+ TagKeyList = List[String]
1989
+
1990
+
1988
1991
  class ReadWriteAccess(TypedDict, total=False):
1989
1992
  Authorization: ServiceAuthorization
1990
1993
 
@@ -2023,6 +2026,8 @@ class CreateRedshiftIdcApplicationMessage(ServiceRequest):
2023
2026
  IamRoleArn: String
2024
2027
  AuthorizedTokenIssuerList: Optional[AuthorizedTokenIssuerList]
2025
2028
  ServiceIntegrations: Optional[ServiceIntegrationList]
2029
+ Tags: Optional[TagList]
2030
+ SsoTagKeys: Optional[TagKeyList]
2026
2031
 
2027
2032
 
2028
2033
  class RedshiftIdcApplication(TypedDict, total=False):
@@ -2036,6 +2041,8 @@ class RedshiftIdcApplication(TypedDict, total=False):
2036
2041
  IdcOnboardStatus: Optional[String]
2037
2042
  AuthorizedTokenIssuerList: Optional[AuthorizedTokenIssuerList]
2038
2043
  ServiceIntegrations: Optional[ServiceIntegrationList]
2044
+ Tags: Optional[TagList]
2045
+ SsoTagKeys: Optional[TagKeyList]
2039
2046
 
2040
2047
 
2041
2048
  class CreateRedshiftIdcApplicationResult(TypedDict, total=False):
@@ -2247,9 +2254,6 @@ class DeleteSnapshotScheduleMessage(ServiceRequest):
2247
2254
  ScheduleIdentifier: String
2248
2255
 
2249
2256
 
2250
- TagKeyList = List[String]
2251
-
2252
-
2253
2257
  class DeleteTagsMessage(ServiceRequest):
2254
2258
  ResourceName: String
2255
2259
  TagKeys: TagKeyList
@@ -3914,6 +3918,8 @@ class RedshiftApi:
3914
3918
  identity_namespace: IdentityNamespaceString | None = None,
3915
3919
  authorized_token_issuer_list: AuthorizedTokenIssuerList | None = None,
3916
3920
  service_integrations: ServiceIntegrationList | None = None,
3921
+ tags: TagList | None = None,
3922
+ sso_tag_keys: TagKeyList | None = None,
3917
3923
  **kwargs,
3918
3924
  ) -> CreateRedshiftIdcApplicationResult:
3919
3925
  raise NotImplementedError
@@ -166,6 +166,8 @@ class CloudWatchRegion(StrEnum):
166
166
  ap_southeast_7 = "ap-southeast-7"
167
167
  ap_east_2 = "ap-east-2"
168
168
  eu_isoe_west_1 = "eu-isoe-west-1"
169
+ ap_southeast_6 = "ap-southeast-6"
170
+ us_isob_west_1 = "us-isob-west-1"
169
171
 
170
172
 
171
173
  class ComparisonOperator(StrEnum):
@@ -282,6 +284,7 @@ class ResourceRecordSetRegion(StrEnum):
282
284
  us_gov_east_1 = "us-gov-east-1"
283
285
  us_gov_west_1 = "us-gov-west-1"
284
286
  ap_east_2 = "ap-east-2"
287
+ ap_southeast_6 = "ap-southeast-6"
285
288
 
286
289
 
287
290
  class ReusableDelegationSetLimitType(StrEnum):
@@ -345,6 +348,8 @@ class VPCRegion(StrEnum):
345
348
  ap_southeast_7 = "ap-southeast-7"
346
349
  ap_east_2 = "ap-east-2"
347
350
  eu_isoe_west_1 = "eu-isoe-west-1"
351
+ ap_southeast_6 = "ap-southeast-6"
352
+ us_isob_west_1 = "us-isob-west-1"
348
353
 
349
354
 
350
355
  class CidrBlockInUseException(ServiceException):