localstack-core 4.5.1.dev21__py3-none-any.whl → 4.5.1.dev23__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 (31) hide show
  1. localstack/services/apigateway/analytics.py +2 -2
  2. localstack/services/apigateway/next_gen/execute_api/handlers/analytics.py +3 -3
  3. localstack/services/cloudformation/{usage.py → analytics.py} +2 -2
  4. localstack/services/cloudformation/engine/v2/change_set_model_executor.py +25 -18
  5. localstack/services/cloudformation/resource_provider.py +3 -3
  6. localstack/services/cloudformation/v2/entities.py +3 -0
  7. localstack/services/cloudformation/v2/provider.py +44 -8
  8. localstack/services/events/analytics.py +4 -2
  9. localstack/services/kinesis/resource_providers/aws_kinesis_stream.py +1 -1
  10. localstack/services/lambda_/analytics.py +4 -4
  11. localstack/services/sns/analytics.py +4 -2
  12. localstack/services/stepfunctions/{usage.py → analytics.py} +2 -2
  13. localstack/services/stepfunctions/asl/static_analyser/usage_metrics_static_analyser.py +2 -2
  14. localstack/utils/analytics/metrics/__init__.py +6 -0
  15. localstack/utils/analytics/metrics/api.py +42 -0
  16. localstack/utils/analytics/metrics/counter.py +209 -0
  17. localstack/utils/analytics/metrics/publisher.py +36 -0
  18. localstack/utils/analytics/metrics/registry.py +97 -0
  19. localstack/version.py +2 -2
  20. {localstack_core-4.5.1.dev21.dist-info → localstack_core-4.5.1.dev23.dist-info}/METADATA +1 -1
  21. {localstack_core-4.5.1.dev21.dist-info → localstack_core-4.5.1.dev23.dist-info}/RECORD +29 -25
  22. {localstack_core-4.5.1.dev21.dist-info → localstack_core-4.5.1.dev23.dist-info}/entry_points.txt +1 -1
  23. localstack_core-4.5.1.dev23.dist-info/plux.json +1 -0
  24. localstack/utils/analytics/metrics.py +0 -373
  25. localstack_core-4.5.1.dev21.dist-info/plux.json +0 -1
  26. {localstack_core-4.5.1.dev21.data → localstack_core-4.5.1.dev23.data}/scripts/localstack +0 -0
  27. {localstack_core-4.5.1.dev21.data → localstack_core-4.5.1.dev23.data}/scripts/localstack-supervisor +0 -0
  28. {localstack_core-4.5.1.dev21.data → localstack_core-4.5.1.dev23.data}/scripts/localstack.bat +0 -0
  29. {localstack_core-4.5.1.dev21.dist-info → localstack_core-4.5.1.dev23.dist-info}/WHEEL +0 -0
  30. {localstack_core-4.5.1.dev21.dist-info → localstack_core-4.5.1.dev23.dist-info}/licenses/LICENSE.txt +0 -0
  31. {localstack_core-4.5.1.dev21.dist-info → localstack_core-4.5.1.dev23.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,97 @@
1
+ from __future__ import annotations
2
+
3
+ import logging
4
+ import threading
5
+ from dataclasses import dataclass
6
+ from typing import Any
7
+
8
+ from .api import Metric, Payload
9
+
10
+ LOG = logging.getLogger(__name__)
11
+
12
+
13
+ @dataclass
14
+ class MetricPayload:
15
+ """
16
+ A data object storing the value of all metrics collected during the execution of the application.
17
+ """
18
+
19
+ _payload: list[Payload]
20
+
21
+ @property
22
+ def payload(self) -> list[Payload]:
23
+ return self._payload
24
+
25
+ def __init__(self, payload: list[Payload]):
26
+ self._payload = payload
27
+
28
+ def as_dict(self) -> dict[str, list[dict[str, Any]]]:
29
+ return {"metrics": [payload.as_dict() for payload in self._payload]}
30
+
31
+
32
+ @dataclass(frozen=True)
33
+ class MetricRegistryKey:
34
+ """A unique identifier for a metric, composed of namespace and name."""
35
+
36
+ namespace: str
37
+ name: str
38
+
39
+
40
+ class MetricRegistry:
41
+ """
42
+ A Singleton class responsible for managing all registered metrics.
43
+ Provides methods for retrieving and collecting metrics.
44
+ """
45
+
46
+ _instance: "MetricRegistry" = None
47
+ _mutex: threading.Lock = threading.Lock()
48
+
49
+ def __new__(cls):
50
+ # avoid locking if the instance already exist
51
+ if cls._instance is None:
52
+ with cls._mutex:
53
+ # Prevents race conditions when multiple threads enter the first check simultaneously
54
+ if cls._instance is None:
55
+ cls._instance = super().__new__(cls)
56
+ return cls._instance
57
+
58
+ def __init__(self):
59
+ if not hasattr(self, "_registry"):
60
+ self._registry = dict()
61
+
62
+ @property
63
+ def registry(self) -> dict[MetricRegistryKey, Metric]:
64
+ return self._registry
65
+
66
+ def register(self, metric: Metric) -> None:
67
+ """
68
+ Registers a metric instance.
69
+
70
+ Raises a TypeError if the object is not a Metric,
71
+ or a ValueError if a metric with the same namespace and name is already registered
72
+ """
73
+ if not isinstance(metric, Metric):
74
+ raise TypeError("Only subclasses of `Metric` can be registered.")
75
+
76
+ if not metric.namespace:
77
+ raise ValueError("Metric 'namespace' must be defined and non-empty.")
78
+
79
+ registry_unique_key = MetricRegistryKey(namespace=metric.namespace, name=metric.name)
80
+ if registry_unique_key in self._registry:
81
+ raise ValueError(
82
+ f"A metric named '{metric.name}' already exists in the '{metric.namespace}' namespace"
83
+ )
84
+
85
+ self._registry[registry_unique_key] = metric
86
+
87
+ def collect(self) -> MetricPayload:
88
+ """
89
+ Collects all registered metrics.
90
+ """
91
+ payload = [
92
+ metric
93
+ for metric_instance in self._registry.values()
94
+ for metric in metric_instance.collect()
95
+ ]
96
+
97
+ return MetricPayload(payload=payload)
localstack/version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '4.5.1.dev21'
21
- __version_tuple__ = version_tuple = (4, 5, 1, 'dev21')
20
+ __version__ = version = '4.5.1.dev23'
21
+ __version_tuple__ = version_tuple = (4, 5, 1, 'dev23')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localstack-core
3
- Version: 4.5.1.dev21
3
+ Version: 4.5.1.dev23
4
4
  Summary: The core library and runtime of LocalStack
5
5
  Author-email: LocalStack Contributors <info@localstack.cloud>
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ localstack/deprecations.py,sha256=mNXTebZ8kSbQjFKz0LbT-g1Kdr0CE8bhEgZfHV3IX0s,15
4
4
  localstack/openapi.yaml,sha256=B803NmpwsxG8PHpHrdZYBrUYjnrRh7B_JX0XuNynuFs,30237
5
5
  localstack/plugins.py,sha256=BIJC9dlo0WbP7lLKkCiGtd_2q5oeqiHZohvoRTcejXM,2457
6
6
  localstack/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- localstack/version.py,sha256=c0NgWavpnqr6YKBtMu2OVHya_pe-N-RNeQ8Vo33YKlY,526
7
+ localstack/version.py,sha256=B02TiWpaG_9LDUchst8_5exSCoeTO2PZHiC2s6Kb0o4,526
8
8
  localstack/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  localstack/aws/accounts.py,sha256=102zpGowOxo0S6UGMpfjw14QW7WCLVAGsnFK5xFMLoo,3043
10
10
  localstack/aws/app.py,sha256=n9bJCfJRuMz_gLGAH430c3bIQXgUXeWO5NPfcdL2MV8,5145
@@ -182,7 +182,7 @@ localstack/services/stores.py,sha256=20YcOS3_tR_PRg4jd5X9PmW0m9q-Slk41zguCRLuMXM
182
182
  localstack/services/acm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
183
  localstack/services/acm/provider.py,sha256=Wflar6XwvglR3rsYQs2rk0F5yZNktCbxfRN_wYHVSBA,5317
184
184
  localstack/services/apigateway/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
185
- localstack/services/apigateway/analytics.py,sha256=0KcsDIw7WCb3OnHZVo-nwHi81iIxbdf43eV0kvocowQ,168
185
+ localstack/services/apigateway/analytics.py,sha256=b6AIdtIfUAuLeXQZfL_DIOfQVLOpczj7ZWUDxaeFRYo,182
186
186
  localstack/services/apigateway/exporter.py,sha256=HV0lSZ1t7Sc2ck3Lc-UvBbQmrun6Lky5C6qrZt1snYc,13973
187
187
  localstack/services/apigateway/helpers.py,sha256=J1QsR4Cp725zXmJXO16H3P52ITgNswjCjrMfzwTXTJ0,45313
188
188
  localstack/services/apigateway/models.py,sha256=RHyjlVwRQHPI02J3XBD3cWCcYvt_jZewKX0zE6W-O88,5479
@@ -211,7 +211,7 @@ localstack/services/apigateway/next_gen/execute_api/template_mapping.py,sha256=i
211
211
  localstack/services/apigateway/next_gen/execute_api/test_invoke.py,sha256=vzaCUu4RdVNdipcl-Iro3IOpoBkm_m-aAI1XxwgbztA,9574
212
212
  localstack/services/apigateway/next_gen/execute_api/variables.py,sha256=ixEXZWYEjf7RFqPCr1sEZq2PiarvQZjVAD69i7BOhRc,7903
213
213
  localstack/services/apigateway/next_gen/execute_api/handlers/__init__.py,sha256=6a7jt0l36AifxHho9WGBBiQZoEtHiiYsSYLBWUSBNJ4,1338
214
- localstack/services/apigateway/next_gen/execute_api/handlers/analytics.py,sha256=5vVSXK3fPRiXt4WwuSoH1s8p2lQr27um7Te-jBZobsc,1733
214
+ localstack/services/apigateway/next_gen/execute_api/handlers/analytics.py,sha256=xhixUsSSCA-6OTXdX37QN66JrhZxiqzUWGZVSN8SQUw,1715
215
215
  localstack/services/apigateway/next_gen/execute_api/handlers/api_key_validation.py,sha256=Kz_1CqIHv4assRWoO_SPCxe1EZqDjH-kxuXqhfi4oXs,4916
216
216
  localstack/services/apigateway/next_gen/execute_api/handlers/gateway_exception.py,sha256=7FQ7rgxBdu6kH49dG8pGB7EDPZX3QRBXi-k7k_NDNn8,3746
217
217
  localstack/services/apigateway/next_gen/execute_api/handlers/integration.py,sha256=kHt1hHHj_y9MpTjs1uIwq9zxDxlVqbLZx0E2tjnz_Fo,1097
@@ -281,6 +281,7 @@ localstack/services/certificatemanager/resource_providers/aws_certificatemanager
281
281
  localstack/services/certificatemanager/resource_providers/aws_certificatemanager_certificate.schema.json,sha256=3KNWtj-XYpLudjdjrx3_8MrvGLYKjhIToMoNKMwiXNM,1978
282
282
  localstack/services/certificatemanager/resource_providers/aws_certificatemanager_certificate_plugin.py,sha256=2xZ4ySZUHt9F-YhFgrcIy-78yFoNgxZ39HBOOVPkKTY,655
283
283
  localstack/services/cloudformation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
284
+ localstack/services/cloudformation/analytics.py,sha256=7i5_wuEtWlyMIIdDJ4HVHwtEbnWY2ga33oMmBgMZBy8,218
284
285
  localstack/services/cloudformation/api_utils.py,sha256=VUREEwfGtsiCQ3bwFkI_a6fgbG37ZLX0E0YYoEhXR2w,6255
285
286
  localstack/services/cloudformation/cfn_utils.py,sha256=2pBhJLIgjkagixfLoPy9xcvOR5EQCC5M0djJmKD2Ppk,2468
286
287
  localstack/services/cloudformation/deploy.html,sha256=g_t0nI5Z44bsPYFynbisF3GLl8GZagAP40O7nD2NGdg,6247
@@ -289,10 +290,9 @@ localstack/services/cloudformation/deployment_utils.py,sha256=86NQNVZ7fwFHPrtV_H
289
290
  localstack/services/cloudformation/plugins.py,sha256=8E1i9U65RnjZJoXz214ceV8OXcnpHNU44unK3raXkWs,336
290
291
  localstack/services/cloudformation/provider.py,sha256=uMLNL5fUvX9IMkcnku_oH4BSOoaMBu6_o3-jNqEiVvQ,52245
291
292
  localstack/services/cloudformation/provider_utils.py,sha256=37GrPaTuLEqOT57J1AVETQl6pav0bC7ItiRzyyZgstc,8994
292
- localstack/services/cloudformation/resource_provider.py,sha256=K6hP-Bxy52OSlzbkPIvLnqmGf36WLYFTqlSV2G94PjQ,23547
293
+ localstack/services/cloudformation/resource_provider.py,sha256=IisbxzzVfSwJe0sSUeWhY5nMpm_UpsLnYavrmc6gGUQ,23559
293
294
  localstack/services/cloudformation/service_models.py,sha256=uo2sr2PIazsdE0-PfdoaaG9BEbKpjPP8ChCIJfX0pm8,5186
294
295
  localstack/services/cloudformation/stores.py,sha256=gu3VsMgl0jtLHxoUxnsJItHbBDZgAl_KrA2fdxGJWJk,4971
295
- localstack/services/cloudformation/usage.py,sha256=bkCnwHnyR0H92RZRulZEWlUV-WV0yfBhCn4m5DsApdM,204
296
296
  localstack/services/cloudformation/engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
297
297
  localstack/services/cloudformation/engine/changes.py,sha256=xeRkoHuf9hdqgWzIwfpjExAyjh622hmjX8ehNh3rfDs,363
298
298
  localstack/services/cloudformation/engine/entities.py,sha256=RlrIjSPZYSDxAopsW5zqkiIy5v4pvPMEZwWAVznSasQ,15661
@@ -312,7 +312,7 @@ localstack/services/cloudformation/engine/yaml_parser.py,sha256=LQpAVq9Syze9jXUG
312
312
  localstack/services/cloudformation/engine/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
313
313
  localstack/services/cloudformation/engine/v2/change_set_model.py,sha256=PZLrPSzw7IVV3gG9q9R28Snp5iwfeHBiDWcO-tZljGs,49632
314
314
  localstack/services/cloudformation/engine/v2/change_set_model_describer.py,sha256=J2OibRDuVXu-rnLxHmxtjqOD4Q489F9An_6-fkTTAm8,8057
315
- localstack/services/cloudformation/engine/v2/change_set_model_executor.py,sha256=o56jZH1uNOyzvx1cX6AKkq0A3ILKjdJ8CFr17rRJbac,18501
315
+ localstack/services/cloudformation/engine/v2/change_set_model_executor.py,sha256=kwExKaHG9DpbSd4aUnD1fkbYv2gE0_Zono8FoFCaMpc,19052
316
316
  localstack/services/cloudformation/engine/v2/change_set_model_preproc.py,sha256=RobREIGTbZUXJY3cswHNxLx6UBZF34AHMA2Yd6cbK5o,48953
317
317
  localstack/services/cloudformation/engine/v2/change_set_model_visitor.py,sha256=fTZA7zCd2JytnW8QqaYXxzl6SyapWhu78_NvY2EhcLU,7371
318
318
  localstack/services/cloudformation/models/__init__.py,sha256=da1PTClDMl-IBkrSvq6JC1lnS-K_BASzCvxVhNxN5Ls,13
@@ -332,8 +332,8 @@ localstack/services/cloudformation/resource_providers/aws_cloudformation_waitcon
332
332
  localstack/services/cloudformation/scaffolding/__main__.py,sha256=zjedOdqvnfN99WzQ43gxtGZxLDitSnbFGA-zpWbyMQ0,30960
333
333
  localstack/services/cloudformation/scaffolding/propgen.py,sha256=9YsSCkDegcU_Yp8Sfw8eNV26N5ibOlLC6Hg6lxPeBBM,7949
334
334
  localstack/services/cloudformation/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
- localstack/services/cloudformation/v2/entities.py,sha256=ncXLKvVRPDAxeEz28Anmt6-ykRUC8QgNFiJjN8I0M6c,6822
336
- localstack/services/cloudformation/v2/provider.py,sha256=NOuU7sgpzE1kittV6iaqqL2fMTxeBKio8F0blqaWHvU,19223
335
+ localstack/services/cloudformation/v2/entities.py,sha256=92Vl1Jw14G_dGBE0VMnz341XS35ob3J4yLQlyu58_uw,6939
336
+ localstack/services/cloudformation/v2/provider.py,sha256=74DcH58lrEYNP9RFBv0tEwdfHcka42EOAv7JbtCKdxg,20908
337
337
  localstack/services/cloudformation/v2/utils.py,sha256=xy4Lcp4X8XGJ0OKfnsE7pnfMcFrtIH0Chw35qwjhZuw,148
338
338
  localstack/services/cloudwatch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
339
339
  localstack/services/cloudwatch/alarm_scheduler.py,sha256=XFllg0gI_WNV7cNxOcgXifzmbNA07OPpuEUuf37keP4,15663
@@ -438,7 +438,7 @@ localstack/services/es/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
438
438
  localstack/services/es/plugins.py,sha256=fAWYNZQwQhciZE6cfNCn4ww3_SZjIKL0BaLJ1PG4XdI,234
439
439
  localstack/services/es/provider.py,sha256=OZVhFZUGm_2m4xUO3OcOL_zUUAh8pQqcCEsUvPKSkkw,17509
440
440
  localstack/services/events/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
441
- localstack/services/events/analytics.py,sha256=-S4N23u4GZSNeNKl7GnQ4oEJVGJPW-CrWPhCEJrzeYA,446
441
+ localstack/services/events/analytics.py,sha256=ONgUjcAu0fqFK9ghoIpJCfbc5tC-FKCrCkx3pOwB0nA,466
442
442
  localstack/services/events/api_destination.py,sha256=55S5t23Kt3wHWk8RxLHhHoGGcISC24x4gFFxJbXwvcw,11831
443
443
  localstack/services/events/archive.py,sha256=QWqz-VoyaUuzYtIVFlPKZnsgJckMuVNuLZAvnGTPwFY,6163
444
444
  localstack/services/events/connection.py,sha256=TecqnyT9xiewVWN9RRsLA7075W7TOopp8HXPoSbeuJU,13378
@@ -513,7 +513,7 @@ localstack/services/kinesis/packages.py,sha256=LfIPMwHR0y0ansf6vdmU4eRFcFtflv1Px
513
513
  localstack/services/kinesis/plugins.py,sha256=iPaMbvhroTEHOWZ2io8lerh-TNPATWrb4ZanNGJPwG0,470
514
514
  localstack/services/kinesis/provider.py,sha256=SM8yyrGTL6dq5k1PXRkJPkJZgdWODpE6u20zK954E5g,7630
515
515
  localstack/services/kinesis/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
516
- localstack/services/kinesis/resource_providers/aws_kinesis_stream.py,sha256=P1VBDA4haYcVTGRqoQissKJbkMedx9ps_zhCpT2l2yw,5721
516
+ localstack/services/kinesis/resource_providers/aws_kinesis_stream.py,sha256=s9vub5ZHmsF7hzTOYnwDqXNq5sKHKFt-IGZV-8i0O_o,5724
517
517
  localstack/services/kinesis/resource_providers/aws_kinesis_stream.schema.json,sha256=XSg-mZ3hJZTMhhDXhfThq9V2xSNfB64ewjzhNwQOd_o,5738
518
518
  localstack/services/kinesis/resource_providers/aws_kinesis_stream_plugin.py,sha256=lwk9X4wZdlKLqSKqSMGDMoeN6MpIV34DEXlomknFss8,564
519
519
  localstack/services/kinesis/resource_providers/aws_kinesis_streamconsumer.py,sha256=s1yFB1O9Ka41_cpoA6kTKTFzFaPpW4iwQVs9kZG4_oQ,3963
@@ -537,7 +537,7 @@ localstack/services/kms/resource_providers/aws_kms_key.py,sha256=bqaRvA0Ab6ltGsW
537
537
  localstack/services/kms/resource_providers/aws_kms_key.schema.json,sha256=tfh8quEHohcWoyOkYLvDcygxfW6lywFgLKT1Uubcuas,5752
538
538
  localstack/services/kms/resource_providers/aws_kms_key_plugin.py,sha256=EYWFqmJ3fCCwUMfTY7j3PspeQK81znlClxHu6PEFSXY,500
539
539
  localstack/services/lambda_/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
540
- localstack/services/lambda_/analytics.py,sha256=q2mlY6yKF-pRM62ALHKPrd03WBdSQSndyEPZONj4Rxo,1578
540
+ localstack/services/lambda_/analytics.py,sha256=akoypJaRwEcj5JT_Q11W3H3v7AGMDdxvuk7PZtpt2jk,1606
541
541
  localstack/services/lambda_/api_utils.py,sha256=2LJEkylloVQ-0fik5kBgWSC9PpaqkBao2z519lbfZW4,29763
542
542
  localstack/services/lambda_/custom_endpoints.py,sha256=eNnQ4FyfWxiK2ZZtjcAxrtEqscWGowPFei_RHh-qH3E,2017
543
543
  localstack/services/lambda_/hooks.py,sha256=mSthgopfc3XHVC-DBmMlQ56EhNRPZK6CtUo9ftUekI8,1146
@@ -733,7 +733,7 @@ localstack/services/ses/resource_providers/aws_ses_emailidentity.py,sha256=R_oS_
733
733
  localstack/services/ses/resource_providers/aws_ses_emailidentity.schema.json,sha256=V2e0GQp6xp8kjmyaBe-uTVl3_Za3DDrKXoDyA5ZCcTI,6093
734
734
  localstack/services/ses/resource_providers/aws_ses_emailidentity_plugin.py,sha256=J3Yoh1xxPs5y3Wmm-_c7Ep5HECCLINdNdwlmNIXMpVw,575
735
735
  localstack/services/sns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
736
- localstack/services/sns/analytics.py,sha256=V4397csx8ZZTw_IwYPubASgc4giiAxvucv7clyOhYBk,359
736
+ localstack/services/sns/analytics.py,sha256=ecVRQ1l722ppZiKPny3m3rbNM0SKxO90rdyYWE5SI78,379
737
737
  localstack/services/sns/certificate.py,sha256=g30Pi4CMu9u4hFTGUPua6JG5f-kOFmRIJdDu0RpIj7I,1882
738
738
  localstack/services/sns/constants.py,sha256=iAQLU6qVkA6DumYytm3pHkNLzjh4BubXHIHBK91Ix_M,1216
739
739
  localstack/services/sns/executor.py,sha256=hP8vf0C8xlBLGNJozzI_ZzE0l-O0f_4bYjSQIz1Fzwg,3960
@@ -785,12 +785,12 @@ localstack/services/ssm/resource_providers/aws_ssm_patchbaseline.py,sha256=XWe4Y
785
785
  localstack/services/ssm/resource_providers/aws_ssm_patchbaseline.schema.json,sha256=UuVEh9rzGsaEoYHCU0jy02fjmCjhbXPU0TeDmGKlvyM,3788
786
786
  localstack/services/ssm/resource_providers/aws_ssm_patchbaseline_plugin.py,sha256=inMCRhLMB1du7L8YqsaKq_Eydt7YJTxAFRmrTPs4gPc,575
787
787
  localstack/services/stepfunctions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
788
+ localstack/services/stepfunctions/analytics.py,sha256=xc23IY6CZ1xzB_YLh8pQWWqBWo74Q8gn3nLaxBwItLQ,363
788
789
  localstack/services/stepfunctions/packages.py,sha256=RZblddr9VARCXqtCeFn_Z6FmyLerWP1-REkJ-spi1Ko,1705
789
790
  localstack/services/stepfunctions/plugins.py,sha256=oY-qlTgrZHUalqoeIV4v9mkpC5cpMRUN_PX4YMPFMMI,324
790
791
  localstack/services/stepfunctions/provider.py,sha256=yEV5eVLA-aiu1Zfu6Nxt3fE_dpc5F6zJzCMFnCjVP0w,70120
791
792
  localstack/services/stepfunctions/quotas.py,sha256=FprfsAD-_IziguWQnR-b3VA7QYhFdQzItuMLOwl9_FU,484
792
793
  localstack/services/stepfunctions/stepfunctions_utils.py,sha256=8LUfXJ3N1LC_y2QIe_TgHIVIkoQLhS0R4i6aXiSMink,2340
793
- localstack/services/stepfunctions/usage.py,sha256=rcn58eYuAEb8KRmj4YMcjO4eXryqUo8bV9wvo7xyhjg,349
794
794
  localstack/services/stepfunctions/asl/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
795
795
  localstack/services/stepfunctions/asl/antlr/Makefile,sha256=F6c38ZQvtoX9hz4DW4x6gz496fkyrARrVIJChtg9QBE,1306
796
796
  localstack/services/stepfunctions/asl/antlr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1105,7 +1105,7 @@ localstack/services/stepfunctions/asl/parse/test_state/preprocessor.py,sha256=c9
1105
1105
  localstack/services/stepfunctions/asl/static_analyser/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1106
1106
  localstack/services/stepfunctions/asl/static_analyser/express_static_analyser.py,sha256=DFOnApfcCOmXZz_4uAymhDfiOLZiwSoC-cfWNDICga8,1570
1107
1107
  localstack/services/stepfunctions/asl/static_analyser/static_analyser.py,sha256=kF9Rf-EOTETfjYwHDCMW07chrsbNSbCusQm9osVvF_I,419
1108
- localstack/services/stepfunctions/asl/static_analyser/usage_metrics_static_analyser.py,sha256=jc9k2-F2D-bWQRNuLB-suyZRRkP9t9wC_6qAFp2gYpM,3233
1108
+ localstack/services/stepfunctions/asl/static_analyser/usage_metrics_static_analyser.py,sha256=DDPn6LO6r0rLOKlJ3ZvlrO6LhULfSrRLbTgWIE7-pDU,3223
1109
1109
  localstack/services/stepfunctions/asl/static_analyser/variable_references_static_analyser.py,sha256=ffmU5o1U4E8dkyw3O9186mEQcucCjv15zkJ5svskY5g,3310
1110
1110
  localstack/services/stepfunctions/asl/static_analyser/intrinsic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1111
1111
  localstack/services/stepfunctions/asl/static_analyser/intrinsic/intrinsic_static_analyser.py,sha256=vwhKDs0WDhU1-bowBAWxZTb7gmVn4h-3gJs6IHNRr1M,460
@@ -1246,9 +1246,13 @@ localstack/utils/analytics/client.py,sha256=6bUWMpS42dUCRcRhkJuqHhlx_OSJegQJ4WJo
1246
1246
  localstack/utils/analytics/events.py,sha256=XMzrrcJc-p-6DxQfALHWO4lZco_I30dt_5MbCR_sKJc,582
1247
1247
  localstack/utils/analytics/logger.py,sha256=-sA_zjptY7o2kOXP2sDduQPzfNwULYIRnoqwKGgsg2Q,1397
1248
1248
  localstack/utils/analytics/metadata.py,sha256=tup9FurX-SlDGGY0at4YBcfdavz5C4pLet-gaqZltfM,7151
1249
- localstack/utils/analytics/metrics.py,sha256=uZsURjLybX2qQ5g6BTUe7OCZ7MpHPGCsBUKZvjUHl8c,11850
1250
1249
  localstack/utils/analytics/publisher.py,sha256=Y_xbaM-cZjZVtTRSCQWpGLU4KrSiLJ7TC-iaIyBOufw,8629
1251
1250
  localstack/utils/analytics/service_request_aggregator.py,sha256=QhgvA79wDjrXq3FI7EP9ziTHYEOspot7fy6D0yfVKDw,3926
1251
+ localstack/utils/analytics/metrics/__init__.py,sha256=APJa7ulgGseR4dl4EPAhKOEuXxxNiP0f_MwLbNmgc4Y,233
1252
+ localstack/utils/analytics/metrics/api.py,sha256=xXuKWbEMY7QcgliR3mFlxZWHaqW6h4UCI1RkYAllLdU,1061
1253
+ localstack/utils/analytics/metrics/counter.py,sha256=N1MsH8wRzYeb2f1Hi59KWFUnM2mp91JGIG1AuwIpgWc,6608
1254
+ localstack/utils/analytics/metrics/publisher.py,sha256=Y-oOFi3eVjPE4PoSdk6pvtBdhv0yqBafWJARFXc_7Z4,1178
1255
+ localstack/utils/analytics/metrics/registry.py,sha256=ByQXl8THZ746f5iN8nI14yTlJas_6LPwsQP2P3rii_s,2828
1252
1256
  localstack/utils/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1253
1257
  localstack/utils/aws/arns.py,sha256=mPHxOYR6MyZtTyGzqNX7nySqiGSi6xQaUpDqJWV3DWQ,16884
1254
1258
  localstack/utils/aws/aws_responses.py,sha256=FUvUz-cTHNlgsE-1PiZJ780SBFvIHzS8K2tzvRkJWZs,7781
@@ -1279,13 +1283,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
1279
1283
  localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1280
1284
  localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
1281
1285
  localstack/utils/xray/traceid.py,sha256=SQSsMV2rhbTNK6ceIoozZYuGU7Fg687EXcgqxoDl1Fw,1106
1282
- localstack_core-4.5.1.dev21.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1283
- localstack_core-4.5.1.dev21.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1284
- localstack_core-4.5.1.dev21.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1285
- localstack_core-4.5.1.dev21.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1286
- localstack_core-4.5.1.dev21.dist-info/METADATA,sha256=SJqSydMRw3r6JJky4tJxysbd04U8OERkt5FPhhUzAxs,5539
1287
- localstack_core-4.5.1.dev21.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1288
- localstack_core-4.5.1.dev21.dist-info/entry_points.txt,sha256=fdk6rMb2jN3PjkJH_YtXRF_-xhDYAz6__Osec6Z7tW0,20561
1289
- localstack_core-4.5.1.dev21.dist-info/plux.json,sha256=iktmcx4zWKiohAYWYXPTbDNCczYvS_4AejJfWhjucLg,20783
1290
- localstack_core-4.5.1.dev21.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1291
- localstack_core-4.5.1.dev21.dist-info/RECORD,,
1286
+ localstack_core-4.5.1.dev23.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1287
+ localstack_core-4.5.1.dev23.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1288
+ localstack_core-4.5.1.dev23.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1289
+ localstack_core-4.5.1.dev23.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1290
+ localstack_core-4.5.1.dev23.dist-info/METADATA,sha256=7zMaAJxJ_HQKMRTso8lHWINYqZNDVeP9GmdQAwMyR7s,5539
1291
+ localstack_core-4.5.1.dev23.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1292
+ localstack_core-4.5.1.dev23.dist-info/entry_points.txt,sha256=tsZ2TeV3-omCfAUEXmTWXu_D40b_17a9FDAEpbeaoNw,20571
1293
+ localstack_core-4.5.1.dev23.dist-info/plux.json,sha256=5lJwjiGagAku56B3P0xgAbdtSCNCe9Xc1lWJO74Rnkg,20793
1294
+ localstack_core-4.5.1.dev23.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1295
+ localstack_core-4.5.1.dev23.dist-info/RECORD,,
@@ -159,7 +159,7 @@ _run_init_scripts_on_ready = localstack.runtime.init:_run_init_scripts_on_ready
159
159
 
160
160
  [localstack.hooks.on_infra_shutdown]
161
161
  _run_init_scripts_on_shutdown = localstack.runtime.init:_run_init_scripts_on_shutdown
162
- publish_metrics = localstack.utils.analytics.metrics:publish_metrics
162
+ publish_metrics = localstack.utils.analytics.metrics.publisher:publish_metrics
163
163
  remove_custom_endpoints = localstack.services.lambda_.plugins:remove_custom_endpoints
164
164
  run_on_after_service_shutdown_handlers = localstack.runtime.shutdown:run_on_after_service_shutdown_handlers
165
165
  run_shutdown_handlers = localstack.runtime.shutdown:run_shutdown_handlers
@@ -0,0 +1 @@
1
+ {"localstack.cloudformation.resource_providers": ["AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin"], "localstack.packages": ["elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package"], "localstack.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.hooks.on_infra_start": ["apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "eager_load_services=localstack.services.plugins:eager_load_services", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "_publish_config_as_analytics_event=localstack.runtime.analytics:_publish_config_as_analytics_event", "_publish_container_info=localstack.runtime.analytics:_publish_container_info", "_patch_botocore_endpoint_in_memory=localstack.aws.client:_patch_botocore_endpoint_in_memory", "_patch_botocore_json_parser=localstack.aws.client:_patch_botocore_json_parser", "_patch_cbor2=localstack.aws.client:_patch_cbor2", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings"], "localstack.hooks.on_infra_shutdown": ["remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "stop_server=localstack.dns.plugins:stop_server", "run_on_after_service_shutdown_handlers=localstack.runtime.shutdown:run_on_after_service_shutdown_handlers", "run_shutdown_handlers=localstack.runtime.shutdown:run_shutdown_handlers", "shutdown_services=localstack.runtime.shutdown:shutdown_services", "publish_metrics=localstack.utils.analytics.metrics.publisher:publish_metrics"], "localstack.init.runner": ["py=localstack.runtime.init:PythonScriptRunner", "sh=localstack.runtime.init:ShellScriptRunner"], "localstack.hooks.on_infra_ready": ["_run_init_scripts_on_ready=localstack.runtime.init:_run_init_scripts_on_ready"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.aws.provider": ["acm:default=localstack.services.providers:acm", "apigateway:default=localstack.services.providers:apigateway", "apigateway:legacy=localstack.services.providers:apigateway_legacy", "apigateway:next_gen=localstack.services.providers:apigateway_next_gen", "config:default=localstack.services.providers:awsconfig", "cloudformation:default=localstack.services.providers:cloudformation", "cloudformation:engine-v2=localstack.services.providers:cloudformation_v2", "cloudwatch:default=localstack.services.providers:cloudwatch", "cloudwatch:v1=localstack.services.providers:cloudwatch_v1", "cloudwatch:v2=localstack.services.providers:cloudwatch_v2", "dynamodb:default=localstack.services.providers:dynamodb", "dynamodb:v2=localstack.services.providers:dynamodb_v2", "dynamodbstreams:default=localstack.services.providers:dynamodbstreams", "dynamodbstreams:v2=localstack.services.providers:dynamodbstreams_v2", "ec2:default=localstack.services.providers:ec2", "es:default=localstack.services.providers:es", "events:default=localstack.services.providers:events", "events:legacy=localstack.services.providers:events_legacy", "events:v1=localstack.services.providers:events_v1", "events:v2=localstack.services.providers:events_v2", "firehose:default=localstack.services.providers:firehose", "iam:default=localstack.services.providers:iam", "kinesis:default=localstack.services.providers:kinesis", "kms:default=localstack.services.providers:kms", "lambda:default=localstack.services.providers:lambda_", "lambda:asf=localstack.services.providers:lambda_asf", "lambda:v2=localstack.services.providers:lambda_v2", "logs:default=localstack.services.providers:logs", "opensearch:default=localstack.services.providers:opensearch", "redshift:default=localstack.services.providers:redshift", "resource-groups:default=localstack.services.providers:resource_groups", "resourcegroupstaggingapi:default=localstack.services.providers:resourcegroupstaggingapi", "route53:default=localstack.services.providers:route53", "route53resolver:default=localstack.services.providers:route53resolver", "s3:default=localstack.services.providers:s3", "s3control:default=localstack.services.providers:s3control", "scheduler:default=localstack.services.providers:scheduler", "secretsmanager:default=localstack.services.providers:secretsmanager", "ses:default=localstack.services.providers:ses", "sns:default=localstack.services.providers:sns", "sqs:default=localstack.services.providers:sqs", "ssm:default=localstack.services.providers:ssm", "stepfunctions:default=localstack.services.providers:stepfunctions", "stepfunctions:v2=localstack.services.providers:stepfunctions_v2", "sts:default=localstack.services.providers:sts", "support:default=localstack.services.providers:support", "swf:default=localstack.services.providers:swf", "transcribe:default=localstack.services.providers:transcribe"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.hooks.configure_localstack_container": ["_mount_machine_file=localstack.utils.analytics.metadata:_mount_machine_file"], "localstack.hooks.prepare_host": ["prepare_host_machine_id=localstack.utils.analytics.metadata:prepare_host_machine_id"]}