localstack-core 4.7.1.dev23__py3-none-any.whl → 4.7.1.dev24__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 (545) hide show
  1. localstack/aws/api/apigateway/__init__.py +87 -110
  2. localstack/aws/api/core.py +2 -3
  3. localstack/aws/api/events/__init__.py +12 -16
  4. localstack/aws/api/logs/__init__.py +5 -8
  5. localstack/aws/api/pipes/__init__.py +24 -32
  6. localstack/aws/api/scheduler/__init__.py +14 -16
  7. localstack/aws/api/stepfunctions/__init__.py +88 -114
  8. localstack/aws/api/support/__init__.py +8 -9
  9. localstack/aws/chain.py +2 -2
  10. localstack/aws/client.py +7 -9
  11. localstack/aws/connect.py +40 -39
  12. localstack/aws/forwarder.py +5 -4
  13. localstack/aws/gateway.py +1 -3
  14. localstack/aws/handlers/analytics.py +1 -2
  15. localstack/aws/handlers/cors.py +4 -5
  16. localstack/aws/handlers/logging.py +1 -2
  17. localstack/aws/handlers/metric_handler.py +3 -4
  18. localstack/aws/handlers/service.py +5 -5
  19. localstack/aws/mocking.py +15 -24
  20. localstack/aws/protocol/op_router.py +11 -10
  21. localstack/aws/protocol/parser.py +16 -17
  22. localstack/aws/protocol/serializer.py +37 -40
  23. localstack/aws/protocol/service_router.py +13 -13
  24. localstack/aws/protocol/validate.py +5 -5
  25. localstack/aws/scaffold.py +8 -9
  26. localstack/aws/serving/edge.py +5 -6
  27. localstack/aws/serving/hypercorn.py +2 -2
  28. localstack/aws/serving/twisted.py +1 -2
  29. localstack/aws/serving/werkzeug.py +2 -2
  30. localstack/aws/skeleton.py +7 -8
  31. localstack/aws/spec.py +29 -30
  32. localstack/cli/localstack.py +6 -6
  33. localstack/cli/lpm.py +2 -2
  34. localstack/config.py +14 -15
  35. localstack/deprecations.py +5 -5
  36. localstack/dev/run/__main__.py +4 -4
  37. localstack/dev/run/paths.py +5 -5
  38. localstack/dns/models.py +2 -1
  39. localstack/dns/server.py +3 -2
  40. localstack/http/dispatcher.py +1 -2
  41. localstack/http/response.py +2 -2
  42. localstack/http/router.py +1 -1
  43. localstack/http/trace.py +2 -1
  44. localstack/logging/format.py +3 -3
  45. localstack/packages/api.py +5 -5
  46. localstack/packages/core.py +3 -3
  47. localstack/packages/debugpy.py +1 -3
  48. localstack/packages/ffmpeg.py +1 -2
  49. localstack/packages/java.py +1 -2
  50. localstack/packages/terraform.py +1 -2
  51. localstack/runtime/init.py +6 -7
  52. localstack/runtime/shutdown.py +2 -1
  53. localstack/services/apigateway/exporter.py +1 -2
  54. localstack/services/apigateway/helpers.py +6 -6
  55. localstack/services/apigateway/legacy/context.py +21 -21
  56. localstack/services/apigateway/legacy/helpers.py +20 -20
  57. localstack/services/apigateway/legacy/integration.py +7 -7
  58. localstack/services/apigateway/legacy/router_asf.py +2 -2
  59. localstack/services/apigateway/legacy/templates.py +5 -5
  60. localstack/services/apigateway/models.py +16 -16
  61. localstack/services/apigateway/next_gen/execute_api/api.py +2 -2
  62. localstack/services/apigateway/next_gen/execute_api/context.py +25 -25
  63. localstack/services/apigateway/next_gen/execute_api/handlers/api_key_validation.py +2 -5
  64. localstack/services/apigateway/next_gen/execute_api/handlers/parse.py +1 -2
  65. localstack/services/apigateway/next_gen/execute_api/handlers/resource_router.py +1 -1
  66. localstack/services/apigateway/next_gen/execute_api/header_utils.py +1 -1
  67. localstack/services/apigateway/next_gen/execute_api/helpers.py +2 -2
  68. localstack/services/apigateway/next_gen/execute_api/integrations/aws.py +6 -6
  69. localstack/services/apigateway/next_gen/execute_api/integrations/http.py +9 -9
  70. localstack/services/apigateway/next_gen/execute_api/variables.py +63 -63
  71. localstack/services/apigateway/resource_providers/aws_apigateway_account.py +3 -3
  72. localstack/services/apigateway/resource_providers/aws_apigateway_account_plugin.py +1 -3
  73. localstack/services/apigateway/resource_providers/aws_apigateway_apikey.py +14 -14
  74. localstack/services/apigateway/resource_providers/aws_apigateway_apikey_plugin.py +1 -3
  75. localstack/services/apigateway/resource_providers/aws_apigateway_basepathmapping.py +5 -5
  76. localstack/services/apigateway/resource_providers/aws_apigateway_basepathmapping_plugin.py +1 -3
  77. localstack/services/apigateway/resource_providers/aws_apigateway_deployment.py +46 -46
  78. localstack/services/apigateway/resource_providers/aws_apigateway_deployment_plugin.py +1 -3
  79. localstack/services/apigateway/resource_providers/aws_apigateway_domainname.py +18 -18
  80. localstack/services/apigateway/resource_providers/aws_apigateway_domainname_plugin.py +1 -3
  81. localstack/services/apigateway/resource_providers/aws_apigateway_gatewayresponse.py +7 -7
  82. localstack/services/apigateway/resource_providers/aws_apigateway_gatewayresponse_plugin.py +1 -3
  83. localstack/services/apigateway/resource_providers/aws_apigateway_method.py +36 -36
  84. localstack/services/apigateway/resource_providers/aws_apigateway_method_plugin.py +1 -3
  85. localstack/services/apigateway/resource_providers/aws_apigateway_model.py +6 -6
  86. localstack/services/apigateway/resource_providers/aws_apigateway_model_plugin.py +1 -3
  87. localstack/services/apigateway/resource_providers/aws_apigateway_requestvalidator.py +6 -6
  88. localstack/services/apigateway/resource_providers/aws_apigateway_requestvalidator_plugin.py +1 -3
  89. localstack/services/apigateway/resource_providers/aws_apigateway_resource.py +5 -5
  90. localstack/services/apigateway/resource_providers/aws_apigateway_resource_plugin.py +1 -3
  91. localstack/services/apigateway/resource_providers/aws_apigateway_restapi.py +26 -26
  92. localstack/services/apigateway/resource_providers/aws_apigateway_restapi_plugin.py +1 -3
  93. localstack/services/apigateway/resource_providers/aws_apigateway_stage.py +33 -33
  94. localstack/services/apigateway/resource_providers/aws_apigateway_stage_plugin.py +1 -3
  95. localstack/services/apigateway/resource_providers/aws_apigateway_usageplan.py +18 -18
  96. localstack/services/apigateway/resource_providers/aws_apigateway_usageplan_plugin.py +1 -3
  97. localstack/services/apigateway/resource_providers/aws_apigateway_usageplankey.py +5 -5
  98. localstack/services/apigateway/resource_providers/aws_apigateway_usageplankey_plugin.py +1 -3
  99. localstack/services/cdk/resource_providers/cdk_metadata.py +2 -2
  100. localstack/services/cdk/resource_providers/cdk_metadata_plugin.py +1 -3
  101. localstack/services/certificatemanager/resource_providers/aws_certificatemanager_certificate.py +14 -14
  102. localstack/services/certificatemanager/resource_providers/aws_certificatemanager_certificate_plugin.py +1 -3
  103. localstack/services/cloudformation/cfn_utils.py +1 -1
  104. localstack/services/cloudformation/deployment_utils.py +2 -2
  105. localstack/services/cloudformation/engine/changes.py +3 -3
  106. localstack/services/cloudformation/engine/entities.py +12 -12
  107. localstack/services/cloudformation/engine/parameters.py +3 -3
  108. localstack/services/cloudformation/engine/template_deployer.py +9 -10
  109. localstack/services/cloudformation/engine/transformers.py +5 -4
  110. localstack/services/cloudformation/engine/types.py +5 -4
  111. localstack/services/cloudformation/engine/v2/change_set_model.py +9 -8
  112. localstack/services/cloudformation/engine/v2/change_set_model_describer.py +6 -6
  113. localstack/services/cloudformation/engine/v2/change_set_model_executor.py +9 -9
  114. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +15 -14
  115. localstack/services/cloudformation/engine/v2/change_set_model_transform.py +5 -5
  116. localstack/services/cloudformation/provider_utils.py +2 -2
  117. localstack/services/cloudformation/resource_provider.py +10 -9
  118. localstack/services/cloudformation/resource_providers/aws_cloudformation_macro.py +7 -7
  119. localstack/services/cloudformation/resource_providers/aws_cloudformation_macro_plugin.py +1 -3
  120. localstack/services/cloudformation/resource_providers/aws_cloudformation_stack.py +9 -9
  121. localstack/services/cloudformation/resource_providers/aws_cloudformation_stack_plugin.py +1 -3
  122. localstack/services/cloudformation/resource_providers/aws_cloudformation_waitcondition.py +6 -6
  123. localstack/services/cloudformation/resource_providers/aws_cloudformation_waitcondition_plugin.py +1 -3
  124. localstack/services/cloudformation/resource_providers/aws_cloudformation_waitconditionhandle.py +2 -2
  125. localstack/services/cloudformation/resource_providers/aws_cloudformation_waitconditionhandle_plugin.py +1 -3
  126. localstack/services/cloudformation/scaffolding/__main__.py +8 -7
  127. localstack/services/cloudformation/scaffolding/propgen.py +2 -2
  128. localstack/services/cloudformation/stores.py +2 -3
  129. localstack/services/cloudformation/v2/entities.py +7 -7
  130. localstack/services/cloudformation/v2/provider.py +10 -10
  131. localstack/services/cloudwatch/alarm_scheduler.py +7 -7
  132. localstack/services/cloudwatch/cloudwatch_database_helper.py +4 -5
  133. localstack/services/cloudwatch/models.py +5 -7
  134. localstack/services/cloudwatch/provider.py +12 -12
  135. localstack/services/cloudwatch/provider_v2.py +2 -4
  136. localstack/services/cloudwatch/resource_providers/aws_cloudwatch_alarm.py +40 -40
  137. localstack/services/cloudwatch/resource_providers/aws_cloudwatch_alarm_plugin.py +1 -3
  138. localstack/services/cloudwatch/resource_providers/aws_cloudwatch_compositealarm.py +12 -12
  139. localstack/services/cloudwatch/resource_providers/aws_cloudwatch_compositealarm_plugin.py +1 -3
  140. localstack/services/dynamodb/packages.py +1 -2
  141. localstack/services/dynamodb/provider.py +7 -8
  142. localstack/services/dynamodb/resource_providers/aws_dynamodb_globaltable.py +63 -63
  143. localstack/services/dynamodb/resource_providers/aws_dynamodb_globaltable_plugin.py +1 -3
  144. localstack/services/dynamodb/resource_providers/aws_dynamodb_table.py +57 -57
  145. localstack/services/dynamodb/resource_providers/aws_dynamodb_table_plugin.py +1 -3
  146. localstack/services/dynamodb/utils.py +13 -14
  147. localstack/services/dynamodb/v2/provider.py +6 -7
  148. localstack/services/dynamodbstreams/dynamodbstreams_api.py +2 -2
  149. localstack/services/dynamodbstreams/models.py +1 -3
  150. localstack/services/ec2/patches.py +4 -5
  151. localstack/services/ec2/provider.py +3 -3
  152. localstack/services/ec2/resource_providers/aws_ec2_dhcpoptions.py +10 -10
  153. localstack/services/ec2/resource_providers/aws_ec2_dhcpoptions_plugin.py +1 -3
  154. localstack/services/ec2/resource_providers/aws_ec2_instance.py +96 -96
  155. localstack/services/ec2/resource_providers/aws_ec2_instance_plugin.py +1 -3
  156. localstack/services/ec2/resource_providers/aws_ec2_internetgateway.py +5 -5
  157. localstack/services/ec2/resource_providers/aws_ec2_internetgateway_plugin.py +1 -3
  158. localstack/services/ec2/resource_providers/aws_ec2_keypair.py +10 -10
  159. localstack/services/ec2/resource_providers/aws_ec2_keypair_plugin.py +1 -3
  160. localstack/services/ec2/resource_providers/aws_ec2_natgateway.py +13 -13
  161. localstack/services/ec2/resource_providers/aws_ec2_natgateway_plugin.py +1 -3
  162. localstack/services/ec2/resource_providers/aws_ec2_networkacl.py +6 -6
  163. localstack/services/ec2/resource_providers/aws_ec2_networkacl_plugin.py +1 -3
  164. localstack/services/ec2/resource_providers/aws_ec2_prefixlist.py +14 -14
  165. localstack/services/ec2/resource_providers/aws_ec2_prefixlist_plugin.py +1 -3
  166. localstack/services/ec2/resource_providers/aws_ec2_route.py +15 -15
  167. localstack/services/ec2/resource_providers/aws_ec2_route_plugin.py +1 -3
  168. localstack/services/ec2/resource_providers/aws_ec2_routetable.py +6 -6
  169. localstack/services/ec2/resource_providers/aws_ec2_routetable_plugin.py +1 -3
  170. localstack/services/ec2/resource_providers/aws_ec2_securitygroup.py +29 -29
  171. localstack/services/ec2/resource_providers/aws_ec2_securitygroup_plugin.py +1 -3
  172. localstack/services/ec2/resource_providers/aws_ec2_subnet.py +19 -19
  173. localstack/services/ec2/resource_providers/aws_ec2_subnet_plugin.py +1 -3
  174. localstack/services/ec2/resource_providers/aws_ec2_subnetroutetableassociation.py +4 -4
  175. localstack/services/ec2/resource_providers/aws_ec2_subnetroutetableassociation_plugin.py +1 -3
  176. localstack/services/ec2/resource_providers/aws_ec2_transitgateway.py +16 -16
  177. localstack/services/ec2/resource_providers/aws_ec2_transitgateway_plugin.py +1 -3
  178. localstack/services/ec2/resource_providers/aws_ec2_transitgatewayattachment.py +9 -9
  179. localstack/services/ec2/resource_providers/aws_ec2_transitgatewayattachment_plugin.py +1 -3
  180. localstack/services/ec2/resource_providers/aws_ec2_vpc.py +15 -15
  181. localstack/services/ec2/resource_providers/aws_ec2_vpc_plugin.py +1 -3
  182. localstack/services/ec2/resource_providers/aws_ec2_vpcendpoint.py +13 -13
  183. localstack/services/ec2/resource_providers/aws_ec2_vpcendpoint_plugin.py +1 -3
  184. localstack/services/ec2/resource_providers/aws_ec2_vpcgatewayattachment.py +5 -5
  185. localstack/services/ec2/resource_providers/aws_ec2_vpcgatewayattachment_plugin.py +1 -3
  186. localstack/services/ecr/resource_providers/aws_ecr_repository.py +17 -17
  187. localstack/services/ecr/resource_providers/aws_ecr_repository_plugin.py +1 -3
  188. localstack/services/edge.py +5 -5
  189. localstack/services/es/provider.py +19 -19
  190. localstack/services/events/archive.py +2 -2
  191. localstack/services/events/connection.py +5 -5
  192. localstack/services/events/event_bus.py +9 -9
  193. localstack/services/events/models.py +25 -25
  194. localstack/services/events/provider.py +12 -12
  195. localstack/services/events/replay.py +3 -3
  196. localstack/services/events/resource_providers/aws_events_apidestination.py +8 -8
  197. localstack/services/events/resource_providers/aws_events_apidestination_plugin.py +1 -3
  198. localstack/services/events/resource_providers/aws_events_connection.py +27 -27
  199. localstack/services/events/resource_providers/aws_events_connection_plugin.py +1 -3
  200. localstack/services/events/resource_providers/aws_events_eventbus.py +9 -9
  201. localstack/services/events/resource_providers/aws_events_eventbus_plugin.py +1 -3
  202. localstack/services/events/resource_providers/aws_events_eventbuspolicy.py +11 -11
  203. localstack/services/events/resource_providers/aws_events_eventbuspolicy_plugin.py +1 -3
  204. localstack/services/events/resource_providers/aws_events_rule.py +82 -82
  205. localstack/services/events/resource_providers/aws_events_rule_plugin.py +1 -3
  206. localstack/services/events/rule.py +15 -15
  207. localstack/services/events/target.py +5 -5
  208. localstack/services/events/utils.py +7 -7
  209. localstack/services/events/v1/models.py +1 -3
  210. localstack/services/events/v1/provider.py +10 -10
  211. localstack/services/firehose/models.py +1 -3
  212. localstack/services/firehose/provider.py +11 -12
  213. localstack/services/iam/iam_patches.py +5 -6
  214. localstack/services/iam/provider.py +4 -4
  215. localstack/services/iam/resource_providers/aws_iam_accesskey.py +6 -6
  216. localstack/services/iam/resource_providers/aws_iam_accesskey_plugin.py +1 -3
  217. localstack/services/iam/resource_providers/aws_iam_group.py +9 -9
  218. localstack/services/iam/resource_providers/aws_iam_group_plugin.py +1 -3
  219. localstack/services/iam/resource_providers/aws_iam_instanceprofile.py +5 -5
  220. localstack/services/iam/resource_providers/aws_iam_instanceprofile_plugin.py +1 -3
  221. localstack/services/iam/resource_providers/aws_iam_managedpolicy.py +9 -9
  222. localstack/services/iam/resource_providers/aws_iam_managedpolicy_plugin.py +1 -3
  223. localstack/services/iam/resource_providers/aws_iam_policy.py +7 -7
  224. localstack/services/iam/resource_providers/aws_iam_policy_plugin.py +1 -3
  225. localstack/services/iam/resource_providers/aws_iam_role.py +16 -16
  226. localstack/services/iam/resource_providers/aws_iam_role_plugin.py +1 -3
  227. localstack/services/iam/resource_providers/aws_iam_servercertificate.py +10 -10
  228. localstack/services/iam/resource_providers/aws_iam_servercertificate_plugin.py +1 -3
  229. localstack/services/iam/resource_providers/aws_iam_servicelinkedrole.py +5 -5
  230. localstack/services/iam/resource_providers/aws_iam_servicelinkedrole_plugin.py +1 -3
  231. localstack/services/iam/resource_providers/aws_iam_user.py +17 -17
  232. localstack/services/iam/resource_providers/aws_iam_user_plugin.py +1 -3
  233. localstack/services/kinesis/kinesis_mock_server.py +7 -8
  234. localstack/services/kinesis/models.py +2 -3
  235. localstack/services/kinesis/packages.py +3 -3
  236. localstack/services/kinesis/resource_providers/aws_kinesis_stream.py +13 -13
  237. localstack/services/kinesis/resource_providers/aws_kinesis_stream_plugin.py +1 -3
  238. localstack/services/kinesis/resource_providers/aws_kinesis_streamconsumer.py +7 -7
  239. localstack/services/kinesis/resource_providers/aws_kinesis_streamconsumer_plugin.py +1 -3
  240. localstack/services/kinesisfirehose/resource_providers/aws_kinesisfirehose_deliverystream.py +191 -191
  241. localstack/services/kinesisfirehose/resource_providers/aws_kinesisfirehose_deliverystream_plugin.py +1 -3
  242. localstack/services/kms/models.py +14 -17
  243. localstack/services/kms/provider.py +2 -3
  244. localstack/services/kms/resource_providers/aws_kms_alias.py +3 -3
  245. localstack/services/kms/resource_providers/aws_kms_alias_plugin.py +1 -3
  246. localstack/services/kms/resource_providers/aws_kms_key.py +14 -14
  247. localstack/services/kms/resource_providers/aws_kms_key_plugin.py +1 -3
  248. localstack/services/kms/utils.py +3 -2
  249. localstack/services/lambda_/api_utils.py +12 -12
  250. localstack/services/lambda_/custom_endpoints.py +2 -2
  251. localstack/services/lambda_/event_source_mapping/esm_worker_factory.py +1 -1
  252. localstack/services/lambda_/event_source_mapping/pipe_utils.py +2 -2
  253. localstack/services/lambda_/event_source_mapping/pollers/stream_poller.py +1 -1
  254. localstack/services/lambda_/event_source_mapping/senders/sender_utils.py +2 -1
  255. localstack/services/lambda_/invocation/assignment.py +1 -2
  256. localstack/services/lambda_/invocation/docker_runtime_executor.py +5 -4
  257. localstack/services/lambda_/invocation/execution_environment.py +4 -4
  258. localstack/services/lambda_/invocation/executor_endpoint.py +5 -5
  259. localstack/services/lambda_/invocation/internal_sqs_queue.py +1 -1
  260. localstack/services/lambda_/invocation/lambda_models.py +23 -23
  261. localstack/services/lambda_/invocation/lambda_service.py +4 -4
  262. localstack/services/lambda_/invocation/logs.py +2 -3
  263. localstack/services/lambda_/invocation/runtime_executor.py +3 -3
  264. localstack/services/lambda_/ldm.py +2 -3
  265. localstack/services/lambda_/packages.py +2 -3
  266. localstack/services/lambda_/provider.py +3 -3
  267. localstack/services/lambda_/resource_providers/aws_lambda_codesigningconfig.py +8 -8
  268. localstack/services/lambda_/resource_providers/aws_lambda_codesigningconfig_plugin.py +1 -3
  269. localstack/services/lambda_/resource_providers/aws_lambda_eventinvokeconfig.py +11 -11
  270. localstack/services/lambda_/resource_providers/aws_lambda_eventinvokeconfig_plugin.py +1 -3
  271. localstack/services/lambda_/resource_providers/aws_lambda_eventsourcemapping.py +39 -39
  272. localstack/services/lambda_/resource_providers/aws_lambda_eventsourcemapping_plugin.py +1 -3
  273. localstack/services/lambda_/resource_providers/aws_lambda_function.py +54 -54
  274. localstack/services/lambda_/resource_providers/aws_lambda_function_plugin.py +1 -3
  275. localstack/services/lambda_/resource_providers/aws_lambda_layerversion.py +11 -11
  276. localstack/services/lambda_/resource_providers/aws_lambda_layerversion_plugin.py +1 -3
  277. localstack/services/lambda_/resource_providers/aws_lambda_layerversionpermission.py +6 -6
  278. localstack/services/lambda_/resource_providers/aws_lambda_layerversionpermission_plugin.py +1 -3
  279. localstack/services/lambda_/resource_providers/aws_lambda_permission.py +10 -10
  280. localstack/services/lambda_/resource_providers/aws_lambda_permission_plugin.py +1 -3
  281. localstack/services/lambda_/resource_providers/aws_lambda_url.py +14 -14
  282. localstack/services/lambda_/resource_providers/aws_lambda_url_plugin.py +1 -3
  283. localstack/services/lambda_/resource_providers/aws_lambda_version.py +8 -8
  284. localstack/services/lambda_/resource_providers/aws_lambda_version_plugin.py +1 -3
  285. localstack/services/lambda_/resource_providers/lambda_alias.py +12 -12
  286. localstack/services/lambda_/resource_providers/lambda_alias_plugin.py +1 -3
  287. localstack/services/lambda_/runtimes.py +1 -3
  288. localstack/services/logs/models.py +1 -3
  289. localstack/services/logs/provider.py +3 -3
  290. localstack/services/logs/resource_providers/aws_logs_loggroup.py +9 -9
  291. localstack/services/logs/resource_providers/aws_logs_loggroup_plugin.py +1 -3
  292. localstack/services/logs/resource_providers/aws_logs_logstream.py +4 -4
  293. localstack/services/logs/resource_providers/aws_logs_logstream_plugin.py +1 -3
  294. localstack/services/logs/resource_providers/aws_logs_subscriptionfilter.py +7 -7
  295. localstack/services/logs/resource_providers/aws_logs_subscriptionfilter_plugin.py +1 -3
  296. localstack/services/moto.py +3 -3
  297. localstack/services/opensearch/cluster.py +13 -13
  298. localstack/services/opensearch/cluster_manager.py +13 -14
  299. localstack/services/opensearch/models.py +1 -3
  300. localstack/services/opensearch/packages.py +1 -2
  301. localstack/services/opensearch/provider.py +7 -8
  302. localstack/services/opensearch/resource_providers/aws_elasticsearch_domain.py +61 -61
  303. localstack/services/opensearch/resource_providers/aws_elasticsearch_domain_plugin.py +1 -3
  304. localstack/services/opensearch/resource_providers/aws_opensearchservice_domain.py +89 -89
  305. localstack/services/opensearch/resource_providers/aws_opensearchservice_domain_plugin.py +1 -3
  306. localstack/services/opensearch/versions.py +1 -3
  307. localstack/services/plugins.py +26 -25
  308. localstack/services/redshift/resource_providers/aws_redshift_cluster.py +57 -57
  309. localstack/services/redshift/resource_providers/aws_redshift_cluster_plugin.py +1 -3
  310. localstack/services/resource_groups/resource_providers/aws_resourcegroups_group.py +21 -21
  311. localstack/services/resource_groups/resource_providers/aws_resourcegroups_group_plugin.py +1 -3
  312. localstack/services/route53/models.py +1 -3
  313. localstack/services/route53/provider.py +1 -2
  314. localstack/services/route53/resource_providers/aws_route53_healthcheck.py +6 -6
  315. localstack/services/route53/resource_providers/aws_route53_healthcheck_plugin.py +1 -3
  316. localstack/services/route53/resource_providers/aws_route53_recordset.py +27 -27
  317. localstack/services/route53/resource_providers/aws_route53_recordset_plugin.py +1 -3
  318. localstack/services/route53resolver/models.py +8 -10
  319. localstack/services/route53resolver/provider.py +12 -12
  320. localstack/services/s3/codec.py +2 -2
  321. localstack/services/s3/cors.py +4 -4
  322. localstack/services/s3/models.py +72 -72
  323. localstack/services/s3/notifications.py +19 -19
  324. localstack/services/s3/presigned_url.py +6 -5
  325. localstack/services/s3/provider.py +13 -14
  326. localstack/services/s3/resource_providers/aws_s3_bucket.py +180 -180
  327. localstack/services/s3/resource_providers/aws_s3_bucket_plugin.py +1 -3
  328. localstack/services/s3/resource_providers/aws_s3_bucketpolicy.py +4 -4
  329. localstack/services/s3/resource_providers/aws_s3_bucketpolicy_plugin.py +1 -3
  330. localstack/services/s3/storage/core.py +4 -3
  331. localstack/services/s3/storage/ephemeral.py +7 -6
  332. localstack/services/s3/utils.py +11 -11
  333. localstack/services/s3/validation.py +1 -1
  334. localstack/services/s3/website_hosting.py +5 -5
  335. localstack/services/scheduler/resource_providers/aws_scheduler_schedule.py +60 -60
  336. localstack/services/scheduler/resource_providers/aws_scheduler_schedule_plugin.py +1 -3
  337. localstack/services/scheduler/resource_providers/aws_scheduler_schedulegroup.py +9 -9
  338. localstack/services/scheduler/resource_providers/aws_scheduler_schedulegroup_plugin.py +1 -3
  339. localstack/services/secretsmanager/provider.py +9 -11
  340. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_resourcepolicy.py +5 -5
  341. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_resourcepolicy_plugin.py +1 -3
  342. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_rotationschedule.py +21 -21
  343. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_rotationschedule_plugin.py +1 -3
  344. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secret.py +23 -23
  345. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secret_plugin.py +1 -3
  346. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secrettargetattachment.py +5 -5
  347. localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secrettargetattachment_plugin.py +1 -3
  348. localstack/services/ses/provider.py +8 -8
  349. localstack/services/ses/resource_providers/aws_ses_emailidentity.py +21 -21
  350. localstack/services/ses/resource_providers/aws_ses_emailidentity_plugin.py +1 -3
  351. localstack/services/sns/models.py +25 -25
  352. localstack/services/sns/provider.py +1 -2
  353. localstack/services/sns/publisher.py +6 -7
  354. localstack/services/sns/resource_providers/aws_sns_subscription.py +13 -13
  355. localstack/services/sns/resource_providers/aws_sns_subscription_plugin.py +1 -3
  356. localstack/services/sns/resource_providers/aws_sns_topic.py +16 -16
  357. localstack/services/sns/resource_providers/aws_sns_topic_plugin.py +1 -3
  358. localstack/services/sns/resource_providers/aws_sns_topicpolicy.py +4 -4
  359. localstack/services/sns/resource_providers/aws_sns_topicpolicy_plugin.py +1 -3
  360. localstack/services/sqs/models.py +21 -22
  361. localstack/services/sqs/provider.py +19 -18
  362. localstack/services/sqs/query_api.py +2 -3
  363. localstack/services/sqs/resource_providers/aws_sqs_queue.py +21 -21
  364. localstack/services/sqs/resource_providers/aws_sqs_queue_plugin.py +1 -3
  365. localstack/services/sqs/resource_providers/aws_sqs_queuepolicy.py +4 -4
  366. localstack/services/sqs/resource_providers/aws_sqs_queuepolicy_plugin.py +1 -3
  367. localstack/services/sqs/utils.py +3 -3
  368. localstack/services/ssm/provider.py +2 -3
  369. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindow.py +15 -15
  370. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindow_plugin.py +1 -3
  371. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtarget.py +10 -10
  372. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtarget_plugin.py +1 -3
  373. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtask.py +48 -48
  374. localstack/services/ssm/resource_providers/aws_ssm_maintenancewindowtask_plugin.py +1 -3
  375. localstack/services/ssm/resource_providers/aws_ssm_parameter.py +10 -10
  376. localstack/services/ssm/resource_providers/aws_ssm_parameter_plugin.py +1 -3
  377. localstack/services/ssm/resource_providers/aws_ssm_patchbaseline.py +29 -29
  378. localstack/services/ssm/resource_providers/aws_ssm_patchbaseline_plugin.py +1 -3
  379. localstack/services/stepfunctions/asl/antlt4utils/antlr4utils.py +3 -4
  380. localstack/services/stepfunctions/asl/component/common/catch/catcher_decl.py +9 -9
  381. localstack/services/stepfunctions/asl/component/common/error_name/custom_error_name.py +2 -2
  382. localstack/services/stepfunctions/asl/component/common/error_name/error_name.py +4 -4
  383. localstack/services/stepfunctions/asl/component/common/error_name/failure_event.py +8 -8
  384. localstack/services/stepfunctions/asl/component/common/jsonata/jsonata_template_binding.py +2 -2
  385. localstack/services/stepfunctions/asl/component/common/path/input_path.py +3 -3
  386. localstack/services/stepfunctions/asl/component/common/path/output_path.py +3 -3
  387. localstack/services/stepfunctions/asl/component/common/path/result_path.py +3 -3
  388. localstack/services/stepfunctions/asl/component/common/payload/payloadvalue/payloadbinding/payload_binding.py +3 -3
  389. localstack/services/stepfunctions/asl/component/common/retry/retrier_decl.py +8 -8
  390. localstack/services/stepfunctions/asl/component/common/string/string_expression.py +2 -2
  391. localstack/services/stepfunctions/asl/component/common/timeouts/timeout.py +3 -3
  392. localstack/services/stepfunctions/asl/component/eval_component.py +2 -3
  393. localstack/services/stepfunctions/asl/component/intrinsic/argument/argument.py +3 -3
  394. localstack/services/stepfunctions/asl/component/intrinsic/jsonata.py +2 -2
  395. localstack/services/stepfunctions/asl/component/program/program.py +8 -8
  396. localstack/services/stepfunctions/asl/component/state/state.py +10 -11
  397. localstack/services/stepfunctions/asl/component/state/state_choice/choice_rule.py +11 -11
  398. localstack/services/stepfunctions/asl/component/state/state_choice/comparison/operator/implementations/is_operator.py +2 -2
  399. localstack/services/stepfunctions/asl/component/state/state_choice/state_choice.py +1 -3
  400. localstack/services/stepfunctions/asl/component/state/state_execution/execute_state.py +8 -8
  401. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/item_reader_decl.py +6 -6
  402. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/reader_config/reader_config_decl.py +5 -5
  403. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/resource_eval/resource_eval_s3.py +2 -1
  404. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/distributed_iteration_component.py +8 -8
  405. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/inline_iteration_component.py +7 -7
  406. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/distributed_item_processor_worker.py +4 -4
  407. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/inline_item_processor_worker.py +5 -5
  408. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/map_run_record.py +10 -10
  409. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_component.py +3 -3
  410. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_declaration.py +3 -3
  411. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_worker.py +2 -2
  412. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/distributed_iterator_worker.py +3 -5
  413. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/inline_iterator.py +1 -2
  414. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/inline_iterator_worker.py +5 -5
  415. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/job.py +9 -9
  416. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/result_writer/resource_eval/resource_eval_s3.py +2 -1
  417. localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py +10 -11
  418. localstack/services/stepfunctions/asl/component/state/state_execution/state_parallel/branch_worker.py +3 -3
  419. localstack/services/stepfunctions/asl/component/state/state_execution/state_parallel/branches_decl.py +4 -4
  420. localstack/services/stepfunctions/asl/component/state/state_execution/state_parallel/state_parallel.py +1 -2
  421. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/lambda_eval_utils.py +6 -6
  422. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/resource.py +3 -3
  423. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service.py +10 -10
  424. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_api_gateway.py +15 -15
  425. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_batch.py +5 -4
  426. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_callback.py +18 -17
  427. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_dynamodb.py +2 -2
  428. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_ecs.py +5 -4
  429. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_events.py +4 -4
  430. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_glue.py +7 -6
  431. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_lambda.py +4 -4
  432. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_sfn.py +9 -8
  433. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_sns.py +2 -2
  434. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_sqs.py +4 -4
  435. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/state_task.py +2 -2
  436. localstack/services/stepfunctions/asl/component/state/state_execution/state_task/state_task_lambda.py +2 -2
  437. localstack/services/stepfunctions/asl/component/state/state_fail/state_fail.py +2 -4
  438. localstack/services/stepfunctions/asl/component/state/state_pass/state_pass.py +3 -5
  439. localstack/services/stepfunctions/asl/component/state/state_wait/wait_function/timestamp.py +2 -2
  440. localstack/services/stepfunctions/asl/eval/callback/callback.py +18 -18
  441. localstack/services/stepfunctions/asl/eval/environment.py +15 -17
  442. localstack/services/stepfunctions/asl/eval/evaluation_details.py +3 -5
  443. localstack/services/stepfunctions/asl/eval/event/event_manager.py +9 -9
  444. localstack/services/stepfunctions/asl/eval/event/logging.py +3 -3
  445. localstack/services/stepfunctions/asl/eval/program_state.py +8 -8
  446. localstack/services/stepfunctions/asl/eval/states.py +11 -11
  447. localstack/services/stepfunctions/asl/eval/test_state/environment.py +3 -5
  448. localstack/services/stepfunctions/asl/eval/variable_store.py +3 -3
  449. localstack/services/stepfunctions/asl/jsonata/jsonata.py +5 -4
  450. localstack/services/stepfunctions/asl/parse/intrinsic/preprocessor.py +1 -2
  451. localstack/services/stepfunctions/asl/parse/preprocessor.py +30 -30
  452. localstack/services/stepfunctions/asl/parse/typed_props.py +2 -2
  453. localstack/services/stepfunctions/asl/utils/encoding.py +2 -2
  454. localstack/services/stepfunctions/asl/utils/json_path.py +2 -2
  455. localstack/services/stepfunctions/backend/activity.py +4 -4
  456. localstack/services/stepfunctions/backend/alias.py +6 -6
  457. localstack/services/stepfunctions/backend/execution.py +25 -27
  458. localstack/services/stepfunctions/backend/execution_worker.py +7 -7
  459. localstack/services/stepfunctions/backend/state_machine.py +26 -26
  460. localstack/services/stepfunctions/backend/test_state/execution.py +3 -4
  461. localstack/services/stepfunctions/backend/test_state/execution_worker.py +1 -3
  462. localstack/services/stepfunctions/mocking/mock_config.py +5 -5
  463. localstack/services/stepfunctions/mocking/mock_config_file.py +10 -10
  464. localstack/services/stepfunctions/provider.py +27 -37
  465. localstack/services/stepfunctions/quotas.py +2 -3
  466. localstack/services/stepfunctions/resource_providers/aws_stepfunctions_activity.py +6 -6
  467. localstack/services/stepfunctions/resource_providers/aws_stepfunctions_activity_plugin.py +1 -3
  468. localstack/services/stepfunctions/resource_providers/aws_stepfunctions_statemachine.py +25 -25
  469. localstack/services/stepfunctions/resource_providers/aws_stepfunctions_statemachine_plugin.py +1 -3
  470. localstack/services/stepfunctions/stepfunctions_utils.py +1 -2
  471. localstack/services/stores.py +7 -7
  472. localstack/services/transcribe/packages.py +1 -3
  473. localstack/services/transcribe/provider.py +2 -2
  474. localstack/state/inspect.py +4 -4
  475. localstack/state/pickle.py +16 -15
  476. localstack/testing/aws/asf_utils.py +3 -2
  477. localstack/testing/aws/lambda_utils.py +15 -14
  478. localstack/testing/aws/util.py +3 -2
  479. localstack/testing/pytest/cloudformation/fixtures.py +3 -2
  480. localstack/testing/pytest/container.py +5 -4
  481. localstack/testing/pytest/filters.py +1 -3
  482. localstack/testing/pytest/fixtures.py +11 -11
  483. localstack/testing/pytest/marking.py +6 -6
  484. localstack/testing/pytest/path_filter.py +1 -1
  485. localstack/testing/pytest/stepfunctions/utils.py +1 -1
  486. localstack/testing/pytest/validation_tracking.py +3 -3
  487. localstack/testing/scenario/provisioning.py +11 -10
  488. localstack/testing/snapshots/transformer_utility.py +2 -2
  489. localstack/testing/testselection/matching.py +2 -2
  490. localstack/testing/testselection/opt_out.py +1 -1
  491. localstack/testing/testselection/scripts/filter_by_test_selection.py +1 -1
  492. localstack/testing/testselection/scripts/generate_test_selection.py +1 -1
  493. localstack/testing/testselection/testselection.py +2 -2
  494. localstack/utils/analytics/cli.py +2 -3
  495. localstack/utils/analytics/client.py +5 -5
  496. localstack/utils/analytics/events.py +2 -2
  497. localstack/utils/analytics/metrics/registry.py +1 -1
  498. localstack/utils/analytics/publisher.py +4 -4
  499. localstack/utils/analytics/service_request_aggregator.py +3 -3
  500. localstack/utils/aws/arns.py +2 -2
  501. localstack/utils/aws/aws_responses.py +14 -21
  502. localstack/utils/aws/aws_stack.py +7 -11
  503. localstack/utils/aws/dead_letter_queue.py +3 -4
  504. localstack/utils/aws/message_forwarding.py +9 -11
  505. localstack/utils/aws/request_context.py +4 -4
  506. localstack/utils/aws/templating.py +3 -3
  507. localstack/utils/batch_policy.py +2 -2
  508. localstack/utils/bootstrap.py +19 -20
  509. localstack/utils/collections.py +16 -23
  510. localstack/utils/config_listener.py +2 -2
  511. localstack/utils/container_networking.py +3 -3
  512. localstack/utils/container_utils/container_client.py +72 -75
  513. localstack/utils/container_utils/docker_cmd_client.py +33 -33
  514. localstack/utils/container_utils/docker_sdk_client.py +35 -35
  515. localstack/utils/crypto.py +2 -3
  516. localstack/utils/diagnose.py +11 -11
  517. localstack/utils/docker_utils.py +4 -4
  518. localstack/utils/files.py +1 -2
  519. localstack/utils/functions.py +2 -2
  520. localstack/utils/http.py +6 -6
  521. localstack/utils/iputils.py +2 -1
  522. localstack/utils/json.py +1 -1
  523. localstack/utils/net.py +10 -9
  524. localstack/utils/objects.py +10 -10
  525. localstack/utils/patch.py +5 -5
  526. localstack/utils/platform.py +2 -2
  527. localstack/utils/run.py +7 -7
  528. localstack/utils/scheduler.py +3 -2
  529. localstack/utils/strings.py +2 -2
  530. localstack/utils/tagging.py +3 -3
  531. localstack/utils/testutil.py +9 -9
  532. localstack/utils/threads.py +2 -2
  533. localstack/utils/xml.py +1 -1
  534. localstack/version.py +2 -2
  535. {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev24.dist-info}/METADATA +1 -1
  536. {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev24.dist-info}/RECORD +544 -544
  537. localstack_core-4.7.1.dev24.dist-info/plux.json +1 -0
  538. localstack_core-4.7.1.dev23.dist-info/plux.json +0 -1
  539. {localstack_core-4.7.1.dev23.data → localstack_core-4.7.1.dev24.data}/scripts/localstack +0 -0
  540. {localstack_core-4.7.1.dev23.data → localstack_core-4.7.1.dev24.data}/scripts/localstack-supervisor +0 -0
  541. {localstack_core-4.7.1.dev23.data → localstack_core-4.7.1.dev24.data}/scripts/localstack.bat +0 -0
  542. {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev24.dist-info}/WHEEL +0 -0
  543. {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev24.dist-info}/entry_points.txt +0 -0
  544. {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev24.dist-info}/licenses/LICENSE.txt +0 -0
  545. {localstack_core-4.7.1.dev23.dist-info → localstack_core-4.7.1.dev24.dist-info}/top_level.txt +0 -0
@@ -501,15 +501,10 @@ class CloudWatchLogsLogGroup(TypedDict, total=False):
501
501
  logGroupArn: Optional[Arn]
502
502
 
503
503
 
504
- EncryptionConfiguration = TypedDict(
505
- "EncryptionConfiguration",
506
- {
507
- "kmsKeyId": Optional[KmsKeyId],
508
- "kmsDataKeyReusePeriodSeconds": Optional[KmsDataKeyReusePeriodSeconds],
509
- "type": EncryptionType,
510
- },
511
- total=False,
512
- )
504
+ class EncryptionConfiguration(TypedDict, total=False):
505
+ kmsKeyId: Optional[KmsKeyId]
506
+ kmsDataKeyReusePeriodSeconds: Optional[KmsDataKeyReusePeriodSeconds]
507
+ type: EncryptionType
513
508
 
514
509
 
515
510
  class Tag(TypedDict, total=False):
@@ -567,22 +562,17 @@ class LoggingConfiguration(TypedDict, total=False):
567
562
  destinations: Optional[LogDestinationList]
568
563
 
569
564
 
570
- CreateStateMachineInput = TypedDict(
571
- "CreateStateMachineInput",
572
- {
573
- "name": Name,
574
- "definition": Definition,
575
- "roleArn": Arn,
576
- "type": Optional[StateMachineType],
577
- "loggingConfiguration": Optional[LoggingConfiguration],
578
- "tags": Optional[TagList],
579
- "tracingConfiguration": Optional[TracingConfiguration],
580
- "publish": Optional[Publish],
581
- "versionDescription": Optional[VersionDescription],
582
- "encryptionConfiguration": Optional[EncryptionConfiguration],
583
- },
584
- total=False,
585
- )
565
+ class CreateStateMachineInput(TypedDict, total=False):
566
+ name: Name
567
+ definition: Definition
568
+ roleArn: Arn
569
+ type: Optional[StateMachineType]
570
+ loggingConfiguration: Optional[LoggingConfiguration]
571
+ tags: Optional[TagList]
572
+ tracingConfiguration: Optional[TracingConfiguration]
573
+ publish: Optional[Publish]
574
+ versionDescription: Optional[VersionDescription]
575
+ encryptionConfiguration: Optional[EncryptionConfiguration]
586
576
 
587
577
 
588
578
  class CreateStateMachineOutput(TypedDict, total=False):
@@ -756,26 +746,21 @@ class DescribeStateMachineInput(ServiceRequest):
756
746
  includedData: Optional[IncludedData]
757
747
 
758
748
 
759
- DescribeStateMachineOutput = TypedDict(
760
- "DescribeStateMachineOutput",
761
- {
762
- "stateMachineArn": Arn,
763
- "name": Name,
764
- "status": Optional[StateMachineStatus],
765
- "definition": Definition,
766
- "roleArn": Arn,
767
- "type": StateMachineType,
768
- "creationDate": Timestamp,
769
- "loggingConfiguration": Optional[LoggingConfiguration],
770
- "tracingConfiguration": Optional[TracingConfiguration],
771
- "label": Optional[MapRunLabel],
772
- "revisionId": Optional[RevisionId],
773
- "description": Optional[VersionDescription],
774
- "encryptionConfiguration": Optional[EncryptionConfiguration],
775
- "variableReferences": Optional[VariableReferences],
776
- },
777
- total=False,
778
- )
749
+ class DescribeStateMachineOutput(TypedDict, total=False):
750
+ stateMachineArn: Arn
751
+ name: Name
752
+ status: Optional[StateMachineStatus]
753
+ definition: Definition
754
+ roleArn: Arn
755
+ type: StateMachineType
756
+ creationDate: Timestamp
757
+ loggingConfiguration: Optional[LoggingConfiguration]
758
+ tracingConfiguration: Optional[TracingConfiguration]
759
+ label: Optional[MapRunLabel]
760
+ revisionId: Optional[RevisionId]
761
+ description: Optional[VersionDescription]
762
+ encryptionConfiguration: Optional[EncryptionConfiguration]
763
+ variableReferences: Optional[VariableReferences]
779
764
 
780
765
 
781
766
  class EvaluationFailedEventDetails(TypedDict, total=False):
@@ -987,55 +972,50 @@ class TaskFailedEventDetails(TypedDict, total=False):
987
972
  cause: Optional[SensitiveCause]
988
973
 
989
974
 
990
- HistoryEvent = TypedDict(
991
- "HistoryEvent",
992
- {
993
- "timestamp": Timestamp,
994
- "type": HistoryEventType,
995
- "id": EventId,
996
- "previousEventId": Optional[EventId],
997
- "activityFailedEventDetails": Optional[ActivityFailedEventDetails],
998
- "activityScheduleFailedEventDetails": Optional[ActivityScheduleFailedEventDetails],
999
- "activityScheduledEventDetails": Optional[ActivityScheduledEventDetails],
1000
- "activityStartedEventDetails": Optional[ActivityStartedEventDetails],
1001
- "activitySucceededEventDetails": Optional[ActivitySucceededEventDetails],
1002
- "activityTimedOutEventDetails": Optional[ActivityTimedOutEventDetails],
1003
- "taskFailedEventDetails": Optional[TaskFailedEventDetails],
1004
- "taskScheduledEventDetails": Optional[TaskScheduledEventDetails],
1005
- "taskStartFailedEventDetails": Optional[TaskStartFailedEventDetails],
1006
- "taskStartedEventDetails": Optional[TaskStartedEventDetails],
1007
- "taskSubmitFailedEventDetails": Optional[TaskSubmitFailedEventDetails],
1008
- "taskSubmittedEventDetails": Optional[TaskSubmittedEventDetails],
1009
- "taskSucceededEventDetails": Optional[TaskSucceededEventDetails],
1010
- "taskTimedOutEventDetails": Optional[TaskTimedOutEventDetails],
1011
- "executionFailedEventDetails": Optional[ExecutionFailedEventDetails],
1012
- "executionStartedEventDetails": Optional[ExecutionStartedEventDetails],
1013
- "executionSucceededEventDetails": Optional[ExecutionSucceededEventDetails],
1014
- "executionAbortedEventDetails": Optional[ExecutionAbortedEventDetails],
1015
- "executionTimedOutEventDetails": Optional[ExecutionTimedOutEventDetails],
1016
- "executionRedrivenEventDetails": Optional[ExecutionRedrivenEventDetails],
1017
- "mapStateStartedEventDetails": Optional[MapStateStartedEventDetails],
1018
- "mapIterationStartedEventDetails": Optional[MapIterationEventDetails],
1019
- "mapIterationSucceededEventDetails": Optional[MapIterationEventDetails],
1020
- "mapIterationFailedEventDetails": Optional[MapIterationEventDetails],
1021
- "mapIterationAbortedEventDetails": Optional[MapIterationEventDetails],
1022
- "lambdaFunctionFailedEventDetails": Optional[LambdaFunctionFailedEventDetails],
1023
- "lambdaFunctionScheduleFailedEventDetails": Optional[
1024
- LambdaFunctionScheduleFailedEventDetails
1025
- ],
1026
- "lambdaFunctionScheduledEventDetails": Optional[LambdaFunctionScheduledEventDetails],
1027
- "lambdaFunctionStartFailedEventDetails": Optional[LambdaFunctionStartFailedEventDetails],
1028
- "lambdaFunctionSucceededEventDetails": Optional[LambdaFunctionSucceededEventDetails],
1029
- "lambdaFunctionTimedOutEventDetails": Optional[LambdaFunctionTimedOutEventDetails],
1030
- "stateEnteredEventDetails": Optional[StateEnteredEventDetails],
1031
- "stateExitedEventDetails": Optional[StateExitedEventDetails],
1032
- "mapRunStartedEventDetails": Optional[MapRunStartedEventDetails],
1033
- "mapRunFailedEventDetails": Optional[MapRunFailedEventDetails],
1034
- "mapRunRedrivenEventDetails": Optional[MapRunRedrivenEventDetails],
1035
- "evaluationFailedEventDetails": Optional[EvaluationFailedEventDetails],
1036
- },
1037
- total=False,
1038
- )
975
+ class HistoryEvent(TypedDict, total=False):
976
+ timestamp: Timestamp
977
+ type: HistoryEventType
978
+ id: EventId
979
+ previousEventId: Optional[EventId]
980
+ activityFailedEventDetails: Optional[ActivityFailedEventDetails]
981
+ activityScheduleFailedEventDetails: Optional[ActivityScheduleFailedEventDetails]
982
+ activityScheduledEventDetails: Optional[ActivityScheduledEventDetails]
983
+ activityStartedEventDetails: Optional[ActivityStartedEventDetails]
984
+ activitySucceededEventDetails: Optional[ActivitySucceededEventDetails]
985
+ activityTimedOutEventDetails: Optional[ActivityTimedOutEventDetails]
986
+ taskFailedEventDetails: Optional[TaskFailedEventDetails]
987
+ taskScheduledEventDetails: Optional[TaskScheduledEventDetails]
988
+ taskStartFailedEventDetails: Optional[TaskStartFailedEventDetails]
989
+ taskStartedEventDetails: Optional[TaskStartedEventDetails]
990
+ taskSubmitFailedEventDetails: Optional[TaskSubmitFailedEventDetails]
991
+ taskSubmittedEventDetails: Optional[TaskSubmittedEventDetails]
992
+ taskSucceededEventDetails: Optional[TaskSucceededEventDetails]
993
+ taskTimedOutEventDetails: Optional[TaskTimedOutEventDetails]
994
+ executionFailedEventDetails: Optional[ExecutionFailedEventDetails]
995
+ executionStartedEventDetails: Optional[ExecutionStartedEventDetails]
996
+ executionSucceededEventDetails: Optional[ExecutionSucceededEventDetails]
997
+ executionAbortedEventDetails: Optional[ExecutionAbortedEventDetails]
998
+ executionTimedOutEventDetails: Optional[ExecutionTimedOutEventDetails]
999
+ executionRedrivenEventDetails: Optional[ExecutionRedrivenEventDetails]
1000
+ mapStateStartedEventDetails: Optional[MapStateStartedEventDetails]
1001
+ mapIterationStartedEventDetails: Optional[MapIterationEventDetails]
1002
+ mapIterationSucceededEventDetails: Optional[MapIterationEventDetails]
1003
+ mapIterationFailedEventDetails: Optional[MapIterationEventDetails]
1004
+ mapIterationAbortedEventDetails: Optional[MapIterationEventDetails]
1005
+ lambdaFunctionFailedEventDetails: Optional[LambdaFunctionFailedEventDetails]
1006
+ lambdaFunctionScheduleFailedEventDetails: Optional[LambdaFunctionScheduleFailedEventDetails]
1007
+ lambdaFunctionScheduledEventDetails: Optional[LambdaFunctionScheduledEventDetails]
1008
+ lambdaFunctionStartFailedEventDetails: Optional[LambdaFunctionStartFailedEventDetails]
1009
+ lambdaFunctionSucceededEventDetails: Optional[LambdaFunctionSucceededEventDetails]
1010
+ lambdaFunctionTimedOutEventDetails: Optional[LambdaFunctionTimedOutEventDetails]
1011
+ stateEnteredEventDetails: Optional[StateEnteredEventDetails]
1012
+ stateExitedEventDetails: Optional[StateExitedEventDetails]
1013
+ mapRunStartedEventDetails: Optional[MapRunStartedEventDetails]
1014
+ mapRunFailedEventDetails: Optional[MapRunFailedEventDetails]
1015
+ mapRunRedrivenEventDetails: Optional[MapRunRedrivenEventDetails]
1016
+ evaluationFailedEventDetails: Optional[EvaluationFailedEventDetails]
1017
+
1018
+
1039
1019
  HistoryEventList = List[HistoryEvent]
1040
1020
 
1041
1021
 
@@ -1162,16 +1142,13 @@ class ListStateMachinesInput(ServiceRequest):
1162
1142
  nextToken: Optional[PageToken]
1163
1143
 
1164
1144
 
1165
- StateMachineListItem = TypedDict(
1166
- "StateMachineListItem",
1167
- {
1168
- "stateMachineArn": Arn,
1169
- "name": Name,
1170
- "type": StateMachineType,
1171
- "creationDate": Timestamp,
1172
- },
1173
- total=False,
1174
- )
1145
+ class StateMachineListItem(TypedDict, total=False):
1146
+ stateMachineArn: Arn
1147
+ name: Name
1148
+ type: StateMachineType
1149
+ creationDate: Timestamp
1150
+
1151
+
1175
1152
  StateMachineList = List[StateMachineListItem]
1176
1153
 
1177
1154
 
@@ -1367,16 +1344,13 @@ class ValidateStateMachineDefinitionDiagnostic(TypedDict, total=False):
1367
1344
 
1368
1345
 
1369
1346
  ValidateStateMachineDefinitionDiagnosticList = List[ValidateStateMachineDefinitionDiagnostic]
1370
- ValidateStateMachineDefinitionInput = TypedDict(
1371
- "ValidateStateMachineDefinitionInput",
1372
- {
1373
- "definition": Definition,
1374
- "type": Optional[StateMachineType],
1375
- "severity": Optional[ValidateStateMachineDefinitionSeverity],
1376
- "maxResults": Optional[ValidateStateMachineDefinitionMaxResult],
1377
- },
1378
- total=False,
1379
- )
1347
+
1348
+
1349
+ class ValidateStateMachineDefinitionInput(TypedDict, total=False):
1350
+ definition: Definition
1351
+ type: Optional[StateMachineType]
1352
+ severity: Optional[ValidateStateMachineDefinitionSeverity]
1353
+ maxResults: Optional[ValidateStateMachineDefinitionMaxResult]
1380
1354
 
1381
1355
 
1382
1356
  class ValidateStateMachineDefinitionOutput(TypedDict, total=False):
@@ -209,15 +209,14 @@ class SupportedHour(TypedDict, total=False):
209
209
 
210
210
 
211
211
  SupportedHoursList = List[SupportedHour]
212
- CommunicationTypeOptions = TypedDict(
213
- "CommunicationTypeOptions",
214
- {
215
- "type": Optional[Type],
216
- "supportedHours": Optional[SupportedHoursList],
217
- "datesWithoutSupport": Optional[DatesWithoutSupportList],
218
- },
219
- total=False,
220
- )
212
+
213
+
214
+ class CommunicationTypeOptions(TypedDict, total=False):
215
+ type: Optional[Type]
216
+ supportedHours: Optional[SupportedHoursList]
217
+ datesWithoutSupport: Optional[DatesWithoutSupportList]
218
+
219
+
221
220
  CommunicationTypeOptionsList = List[CommunicationTypeOptions]
222
221
 
223
222
 
localstack/aws/chain.py CHANGED
@@ -5,7 +5,7 @@ The core concepts of the HandlerChain.
5
5
  from __future__ import annotations
6
6
 
7
7
  import logging
8
- from typing import Callable, Type
8
+ from collections.abc import Callable
9
9
 
10
10
  from rolo.gateway import (
11
11
  CompositeExceptionHandler,
@@ -29,7 +29,7 @@ ExceptionHandler = Callable[["HandlerChain", Exception, RequestContext, Response
29
29
  was raised by the request handler, the RequestContext, and the Response object to be populated."""
30
30
 
31
31
 
32
- HandlerChain: Type[RoloHandlerChain[RequestContext]] = RoloHandlerChain
32
+ HandlerChain: type[RoloHandlerChain[RequestContext]] = RoloHandlerChain
33
33
 
34
34
  __all__ = [
35
35
  "HandlerChain",
localstack/aws/client.py CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  import io
4
4
  import logging
5
- from datetime import datetime, timezone
6
- from typing import Dict, Iterable, Optional
5
+ from collections.abc import Iterable
6
+ from datetime import UTC, datetime
7
7
  from urllib.parse import urlsplit
8
8
 
9
9
  from botocore import awsrequest
@@ -130,8 +130,8 @@ class _RawStream:
130
130
 
131
131
 
132
132
  def _add_modeled_error_fields(
133
- response_dict: Dict,
134
- parsed_response: Dict,
133
+ response_dict: dict,
134
+ parsed_response: dict,
135
135
  operation_model: OperationModel,
136
136
  parser: ResponseParser,
137
137
  ):
@@ -217,7 +217,7 @@ def _patch_cbor2():
217
217
  # AWS breaks the CBOR spec by using the millis (instead of seconds with floating point support for millis)
218
218
  # https://github.com/aws/aws-sdk-java-v2/issues/4661
219
219
  value = value / 1000
220
- tmp = datetime.fromtimestamp(value, timezone.utc)
220
+ tmp = datetime.fromtimestamp(value, UTC)
221
221
  except (OverflowError, OSError, ValueError) as exc:
222
222
  raise CBORDecodeValueError("error decoding datetime from epoch") from exc
223
223
 
@@ -335,9 +335,7 @@ def parse_response(
335
335
  return parsed_response
336
336
 
337
337
 
338
- def parse_service_exception(
339
- response: Response, parsed_response: Dict
340
- ) -> Optional[ServiceException]:
338
+ def parse_service_exception(response: Response, parsed_response: dict) -> ServiceException | None:
341
339
  """
342
340
  Creates a ServiceException (one ASF can handle) from a parsed response (one that botocore would return).
343
341
  It does not automatically raise the exception (see #raise_service_exception).
@@ -363,7 +361,7 @@ def parse_service_exception(
363
361
  return service_exception
364
362
 
365
363
 
366
- def raise_service_exception(response: Response, parsed_response: Dict) -> None:
364
+ def raise_service_exception(response: Response, parsed_response: dict) -> None:
367
365
  """
368
366
  Creates and raises a ServiceException from a parsed response (one that botocore would return).
369
367
  :param response: Un-parsed response
localstack/aws/connect.py CHANGED
@@ -10,10 +10,11 @@ import logging
10
10
  import re
11
11
  import threading
12
12
  from abc import ABC, abstractmethod
13
+ from collections.abc import Callable
13
14
  from functools import lru_cache, partial
14
15
  from random import choice
15
16
  from socket import socket
16
- from typing import Any, Callable, Generic, Optional, TypedDict, TypeVar
17
+ from typing import Any, Generic, TypedDict, TypeVar
17
18
 
18
19
  import dns.message
19
20
  import dns.query
@@ -277,10 +278,10 @@ class ClientFactory(ABC):
277
278
  def __call__(
278
279
  self,
279
280
  *,
280
- region_name: Optional[str] = None,
281
- aws_access_key_id: Optional[str] = None,
282
- aws_secret_access_key: Optional[str] = None,
283
- aws_session_token: Optional[str] = None,
281
+ region_name: str | None = None,
282
+ aws_access_key_id: str | None = None,
283
+ aws_secret_access_key: str | None = None,
284
+ aws_session_token: str | None = None,
284
285
  endpoint_url: str = None,
285
286
  config: Config = None,
286
287
  ) -> ServiceLevelClientFactory:
@@ -318,11 +319,11 @@ class ClientFactory(ABC):
318
319
  self,
319
320
  *,
320
321
  role_arn: str,
321
- service_principal: Optional[ServicePrincipal] = None,
322
- session_name: Optional[str] = None,
323
- region_name: Optional[str] = None,
324
- endpoint_url: Optional[str] = None,
325
- config: Optional[Config] = None,
322
+ service_principal: ServicePrincipal | None = None,
323
+ session_name: str | None = None,
324
+ region_name: str | None = None,
325
+ endpoint_url: str | None = None,
326
+ config: Config | None = None,
326
327
  ) -> ServiceLevelClientFactory:
327
328
  """
328
329
  Create a service level client factory with credentials from assuming the given role ARN.
@@ -362,12 +363,12 @@ class ClientFactory(ABC):
362
363
  def get_client(
363
364
  self,
364
365
  service_name: str,
365
- region_name: Optional[str] = None,
366
- aws_access_key_id: Optional[str] = None,
367
- aws_secret_access_key: Optional[str] = None,
368
- aws_session_token: Optional[str] = None,
369
- endpoint_url: Optional[str] = None,
370
- config: Optional[Config] = None,
366
+ region_name: str | None = None,
367
+ aws_access_key_id: str | None = None,
368
+ aws_secret_access_key: str | None = None,
369
+ aws_session_token: str | None = None,
370
+ endpoint_url: str | None = None,
371
+ config: Config | None = None,
371
372
  ):
372
373
  raise NotImplementedError()
373
374
 
@@ -389,11 +390,11 @@ class ClientFactory(ABC):
389
390
  service_name: str,
390
391
  region_name: str,
391
392
  use_ssl: bool,
392
- verify: Optional[bool],
393
- endpoint_url: Optional[str],
394
- aws_access_key_id: Optional[str],
395
- aws_secret_access_key: Optional[str],
396
- aws_session_token: Optional[str],
393
+ verify: bool | None,
394
+ endpoint_url: str | None,
395
+ aws_access_key_id: str | None,
396
+ aws_secret_access_key: str | None,
397
+ aws_session_token: str | None,
397
398
  config: Config,
398
399
  ) -> BaseClient:
399
400
  """
@@ -480,12 +481,12 @@ class InternalClientFactory(ClientFactory):
480
481
  def get_client(
481
482
  self,
482
483
  service_name: str,
483
- region_name: Optional[str] = None,
484
- aws_access_key_id: Optional[str] = None,
485
- aws_secret_access_key: Optional[str] = None,
486
- aws_session_token: Optional[str] = None,
487
- endpoint_url: Optional[str] = None,
488
- config: Optional[Config] = None,
484
+ region_name: str | None = None,
485
+ aws_access_key_id: str | None = None,
486
+ aws_secret_access_key: str | None = None,
487
+ aws_session_token: str | None = None,
488
+ endpoint_url: str | None = None,
489
+ config: Config | None = None,
489
490
  ) -> BaseClient:
490
491
  """
491
492
  Build and return client for connections originating within LocalStack.
@@ -535,12 +536,12 @@ class ExternalClientFactory(ClientFactory):
535
536
  def get_client(
536
537
  self,
537
538
  service_name: str,
538
- region_name: Optional[str] = None,
539
- aws_access_key_id: Optional[str] = None,
540
- aws_secret_access_key: Optional[str] = None,
541
- aws_session_token: Optional[str] = None,
542
- endpoint_url: Optional[str] = None,
543
- config: Optional[Config] = None,
539
+ region_name: str | None = None,
540
+ aws_access_key_id: str | None = None,
541
+ aws_secret_access_key: str | None = None,
542
+ aws_session_token: str | None = None,
543
+ endpoint_url: str | None = None,
544
+ config: Config | None = None,
544
545
  ) -> BaseClient:
545
546
  """
546
547
  Build and return client for connections originating outside LocalStack and targeting Localstack.
@@ -604,12 +605,12 @@ class ExternalAwsClientFactory(ClientFactory):
604
605
  def get_client(
605
606
  self,
606
607
  service_name: str,
607
- region_name: Optional[str] = None,
608
- aws_access_key_id: Optional[str] = None,
609
- aws_secret_access_key: Optional[str] = None,
610
- aws_session_token: Optional[str] = None,
611
- endpoint_url: Optional[str] = None,
612
- config: Optional[Config] = None,
608
+ region_name: str | None = None,
609
+ aws_access_key_id: str | None = None,
610
+ aws_secret_access_key: str | None = None,
611
+ aws_session_token: str | None = None,
612
+ endpoint_url: str | None = None,
613
+ config: Config | None = None,
613
614
  ) -> BaseClient:
614
615
  """
615
616
  Build and return client for connections originating outside LocalStack and targeting AWS.
@@ -3,7 +3,8 @@ This module contains utilities to call a backend (e.g., an external service proc
3
3
  DynamoDBLocal) from a service provider.
4
4
  """
5
5
 
6
- from typing import Any, Callable, Mapping, Optional, Union
6
+ from collections.abc import Callable, Mapping
7
+ from typing import Any
7
8
 
8
9
  from botocore.awsrequest import AWSPreparedRequest, prepare_request_dict
9
10
  from botocore.config import Config as BotoConfig
@@ -54,7 +55,7 @@ class AwsRequestProxy:
54
55
  self,
55
56
  context: RequestContext,
56
57
  service_request: ServiceRequest = None,
57
- ) -> Optional[Union[ServiceResponse, Response]]:
58
+ ) -> ServiceResponse | Response | None:
58
59
  """Method to satisfy the ``ServiceRequestHandler`` protocol."""
59
60
  return self.forward(context, service_request)
60
61
 
@@ -62,7 +63,7 @@ class AwsRequestProxy:
62
63
  self,
63
64
  context: RequestContext,
64
65
  service_request: ServiceRequest = None,
65
- ) -> Optional[Union[ServiceResponse, Response]]:
66
+ ) -> ServiceResponse | Response | None:
66
67
  """
67
68
  Forwards the given request to the backend configured by ``endpoint_url``.
68
69
 
@@ -197,7 +198,7 @@ def create_aws_request_context(
197
198
  action: str,
198
199
  parameters: Mapping[str, Any] = None,
199
200
  region: str = None,
200
- endpoint_url: Optional[str] = None,
201
+ endpoint_url: str | None = None,
201
202
  ) -> RequestContext:
202
203
  """
203
204
  This is a stripped-down version of what the botocore client does to perform an HTTP request from a client call. A
localstack/aws/gateway.py CHANGED
@@ -1,5 +1,3 @@
1
- import typing as t
2
-
3
1
  from rolo.gateway import Gateway as RoloGateway
4
2
  from rolo.response import Response
5
3
 
@@ -17,7 +15,7 @@ class Gateway(RoloGateway):
17
15
  response_handlers: list[Handler] = None,
18
16
  finalizers: list[Handler] = None,
19
17
  exception_handlers: list[ExceptionHandler] = None,
20
- context_class: t.Type[RequestContext] = None,
18
+ context_class: type[RequestContext] = None,
21
19
  ) -> None:
22
20
  super().__init__(
23
21
  request_handlers,
@@ -1,6 +1,5 @@
1
1
  import logging
2
2
  import threading
3
- from typing import Optional
4
3
 
5
4
  from localstack import config
6
5
  from localstack.aws.api import RequestContext
@@ -52,7 +51,7 @@ class ServiceRequestCounter:
52
51
  )
53
52
  )
54
53
 
55
- def _get_err_type(self, context: RequestContext, response: Response) -> Optional[str]:
54
+ def _get_err_type(self, context: RequestContext, response: Response) -> str | None:
56
55
  """
57
56
  Attempts to re-use the existing service_response, or parse and return the error type from the response body,
58
57
  e.g. ``ResourceInUseException``.
@@ -4,7 +4,6 @@ A set of handlers which handle Cross Origin Resource Sharing (CORS).
4
4
 
5
5
  import logging
6
6
  import re
7
- from typing import List, Set
8
7
  from urllib.parse import urlparse
9
8
 
10
9
  from werkzeug.datastructures import Headers
@@ -83,7 +82,7 @@ ALLOWED_CORS_RESPONSE_HEADERS = [
83
82
  ]
84
83
 
85
84
 
86
- def _get_allowed_cors_internal_domains() -> Set[str]:
85
+ def _get_allowed_cors_internal_domains() -> set[str]:
87
86
  """
88
87
  Construct the list of allowed internal domains for CORS enforcement purposes
89
88
  Defined as function to allow easier testing with monkeypatch of config values
@@ -94,7 +93,7 @@ def _get_allowed_cors_internal_domains() -> Set[str]:
94
93
  _ALLOWED_INTERNAL_DOMAINS = _get_allowed_cors_internal_domains()
95
94
 
96
95
 
97
- def _get_allowed_cors_ports() -> Set[int]:
96
+ def _get_allowed_cors_ports() -> set[int]:
98
97
  """
99
98
  Construct the list of allowed ports for CORS enforcement purposes
100
99
  Defined as function to allow easier testing with monkeypatch of config values
@@ -105,7 +104,7 @@ def _get_allowed_cors_ports() -> Set[int]:
105
104
  _ALLOWED_INTERNAL_PORTS = _get_allowed_cors_ports()
106
105
 
107
106
 
108
- def _get_allowed_cors_origins() -> List[str]:
107
+ def _get_allowed_cors_origins() -> list[str]:
109
108
  """Construct the list of allowed origins for CORS enforcement purposes"""
110
109
  result = [
111
110
  # allow access from Web app and localhost domains
@@ -210,7 +209,7 @@ class CorsEnforcer(Handler):
210
209
  return True
211
210
 
212
211
  @staticmethod
213
- def _is_in_allowed_origins(allowed_origins: List[str], origin: str) -> bool:
212
+ def _is_in_allowed_origins(allowed_origins: list[str], origin: str) -> bool:
214
213
  """Returns true if the `origin` is in the `allowed_origins`."""
215
214
  for allowed_origin in allowed_origins:
216
215
  if allowed_origin == "*" or origin == allowed_origin:
@@ -2,7 +2,6 @@
2
2
 
3
3
  import logging
4
4
  from functools import cached_property
5
- from typing import Type
6
5
 
7
6
  from localstack.aws.api import RequestContext, ServiceException
8
7
  from localstack.aws.chain import ExceptionHandler, HandlerChain
@@ -71,7 +70,7 @@ class ResponseLogger:
71
70
  )
72
71
 
73
72
  # make sure loggers are loaded after logging config is loaded
74
- def _prepare_logger(self, logger: logging.Logger, formatter: Type):
73
+ def _prepare_logger(self, logger: logging.Logger, formatter: type):
75
74
  if logger.isEnabledFor(logging.DEBUG):
76
75
  logger.propagate = False
77
76
  handler = create_default_handler(logger.level)
@@ -1,5 +1,4 @@
1
1
  import logging
2
- from typing import List, Optional
3
2
 
4
3
  from localstack import config
5
4
  from localstack.aws.api import RequestContext
@@ -16,7 +15,7 @@ class MetricHandlerItem:
16
15
 
17
16
  request_id: str
18
17
  request_context: RequestContext
19
- parameters_after_parse: Optional[List[str]]
18
+ parameters_after_parse: list[str] | None
20
19
 
21
20
  def __init__(self, request_contex: RequestContext) -> None:
22
21
  super().__init__()
@@ -35,7 +34,7 @@ class Metric:
35
34
  headers: str
36
35
  parameters: str
37
36
  status_code: int
38
- response_code: Optional[str]
37
+ response_code: str | None
39
38
  exception: str
40
39
  origin: str
41
40
  xfail: bool
@@ -134,7 +133,7 @@ class Metric:
134
133
 
135
134
 
136
135
  class MetricHandler:
137
- metric_data: List[Metric] = []
136
+ metric_data: list[Metric] = []
138
137
 
139
138
  def __init__(self) -> None:
140
139
  self.metrics_handler_items = {}