localstack-core 4.3.1.dev34__py3-none-any.whl → 4.3.1.dev36__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 (25) hide show
  1. localstack/services/cloudformation/engine/entities.py +9 -4
  2. localstack/services/cloudformation/engine/v2/change_set_model.py +32 -67
  3. localstack/services/cloudformation/engine/v2/change_set_model_describer.py +119 -487
  4. localstack/services/cloudformation/engine/v2/change_set_model_executor.py +107 -70
  5. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +574 -0
  6. localstack/services/cloudformation/engine/v2/change_set_model_visitor.py +6 -6
  7. localstack/services/cloudformation/v2/provider.py +39 -5
  8. localstack/services/cloudformation/v2/utils.py +5 -0
  9. localstack/services/kms/models.py +21 -4
  10. localstack/services/kms/provider.py +1 -1
  11. localstack/services/sns/resource_providers/aws_sns_topic.py +1 -0
  12. localstack/testing/pytest/cloudformation/__init__.py +0 -0
  13. localstack/testing/pytest/cloudformation/fixtures.py +169 -0
  14. localstack/version.py +2 -2
  15. {localstack_core-4.3.1.dev34.dist-info → localstack_core-4.3.1.dev36.dist-info}/METADATA +1 -1
  16. {localstack_core-4.3.1.dev34.dist-info → localstack_core-4.3.1.dev36.dist-info}/RECORD +24 -20
  17. localstack_core-4.3.1.dev36.dist-info/plux.json +1 -0
  18. localstack_core-4.3.1.dev34.dist-info/plux.json +0 -1
  19. {localstack_core-4.3.1.dev34.data → localstack_core-4.3.1.dev36.data}/scripts/localstack +0 -0
  20. {localstack_core-4.3.1.dev34.data → localstack_core-4.3.1.dev36.data}/scripts/localstack-supervisor +0 -0
  21. {localstack_core-4.3.1.dev34.data → localstack_core-4.3.1.dev36.data}/scripts/localstack.bat +0 -0
  22. {localstack_core-4.3.1.dev34.dist-info → localstack_core-4.3.1.dev36.dist-info}/WHEEL +0 -0
  23. {localstack_core-4.3.1.dev34.dist-info → localstack_core-4.3.1.dev36.dist-info}/entry_points.txt +0 -0
  24. {localstack_core-4.3.1.dev34.dist-info → localstack_core-4.3.1.dev36.dist-info}/licenses/LICENSE.txt +0 -0
  25. {localstack_core-4.3.1.dev34.dist-info → localstack_core-4.3.1.dev36.dist-info}/top_level.txt +0 -0
@@ -12,7 +12,7 @@ from collections import namedtuple
12
12
  from dataclasses import dataclass
13
13
  from typing import Dict, Optional, Tuple
14
14
 
15
- from cryptography.exceptions import InvalidSignature, UnsupportedAlgorithm
15
+ from cryptography.exceptions import InvalidSignature, InvalidTag, UnsupportedAlgorithm
16
16
  from cryptography.hazmat.backends import default_backend
17
17
  from cryptography.hazmat.primitives import hashes, hmac
18
18
  from cryptography.hazmat.primitives import serialization as crypto_serialization
@@ -29,6 +29,7 @@ from localstack.aws.api.kms import (
29
29
  CreateGrantRequest,
30
30
  CreateKeyRequest,
31
31
  EncryptionContextType,
32
+ InvalidCiphertextException,
32
33
  InvalidKeyUsageException,
33
34
  KeyMetadata,
34
35
  KeySpec,
@@ -36,6 +37,7 @@ from localstack.aws.api.kms import (
36
37
  KeyUsageType,
37
38
  KMSInvalidMacException,
38
39
  KMSInvalidSignatureException,
40
+ LimitExceededException,
39
41
  MacAlgorithmSpec,
40
42
  MessageType,
41
43
  MultiRegionConfiguration,
@@ -84,6 +86,7 @@ HMAC_RANGE_KEY_LENGTHS = {
84
86
  "HMAC_512": (64, 128),
85
87
  }
86
88
 
89
+ ON_DEMAND_ROTATION_LIMIT = 10
87
90
  KEY_ID_LEN = 36
88
91
  # Moto uses IV_LEN of 12, as it is fine for GCM encryption mode, but we use CBC, so have to set it to 16.
89
92
  IV_LEN = 16
@@ -249,6 +252,7 @@ class KmsKey:
249
252
  is_key_rotation_enabled: bool
250
253
  rotation_period_in_days: int
251
254
  next_rotation_date: datetime.datetime
255
+ previous_keys = [str]
252
256
 
253
257
  def __init__(
254
258
  self,
@@ -257,6 +261,7 @@ class KmsKey:
257
261
  region: str = None,
258
262
  ):
259
263
  create_key_request = create_key_request or CreateKeyRequest()
264
+ self.previous_keys = []
260
265
 
261
266
  # Please keep in mind that tags of a key could be present in the request, they are not a part of metadata. At
262
267
  # least in the sense of DescribeKey not returning them with the rest of the metadata. Instead, tags are more
@@ -319,9 +324,15 @@ class KmsKey:
319
324
  self, ciphertext: Ciphertext, encryption_context: EncryptionContextType = None
320
325
  ) -> bytes:
321
326
  aad = _serialize_encryption_context(encryption_context=encryption_context)
322
- return decrypt(
323
- self.crypto_key.key_material, ciphertext.ciphertext, ciphertext.iv, ciphertext.tag, aad
324
- )
327
+ keys_to_try = [self.crypto_key.key_material] + self.previous_keys
328
+
329
+ for key in keys_to_try:
330
+ try:
331
+ return decrypt(key, ciphertext.ciphertext, ciphertext.iv, ciphertext.tag, aad)
332
+ except (InvalidTag, InvalidSignature):
333
+ continue
334
+
335
+ raise InvalidCiphertextException()
325
336
 
326
337
  def decrypt_rsa(self, encrypted: bytes) -> bytes:
327
338
  private_key = crypto_serialization.load_der_private_key(
@@ -694,6 +705,12 @@ class KmsKey:
694
705
  return request_key_usage or "ENCRYPT_DECRYPT"
695
706
 
696
707
  def rotate_key_on_demand(self):
708
+ if len(self.previous_keys) >= ON_DEMAND_ROTATION_LIMIT:
709
+ raise LimitExceededException(
710
+ f"The on-demand rotations limit has been reached for the given keyId. "
711
+ f"No more on-demand rotations can be performed for this key: {self.metadata['Arn']}"
712
+ )
713
+ self.previous_keys.append(self.crypto_key.key_material)
697
714
  self.crypto_key = KmsCryptoKey(KeySpec.SYMMETRIC_DEFAULT)
698
715
 
699
716
 
@@ -1341,7 +1341,7 @@ class KmsProvider(KmsApi, ServiceLifecycleHook):
1341
1341
  return ListResourceTagsResponse(Tags=page, **kwargs)
1342
1342
 
1343
1343
  @handler("RotateKeyOnDemand", expand=False)
1344
- # TODO: keep trak of key rotations as AWS does and return them in the ListKeyRotations operation
1344
+ # TODO: return the key rotations in the ListKeyRotations operation
1345
1345
  def rotate_key_on_demand(
1346
1346
  self, context: RequestContext, request: RotateKeyOnDemandRequest
1347
1347
  ) -> RotateKeyOnDemandResponse:
@@ -148,6 +148,7 @@ class SNSTopicProvider(ResourceProvider[SNSTopicProperties]):
148
148
  IAM permissions required:
149
149
  - sns:DeleteTopic
150
150
  """
151
+ # FIXME: This appears to incorrectly assume TopicArn would be provided.
151
152
  model = request.desired_state
152
153
  sns = request.aws_client_factory.sns
153
154
  sns.delete_topic(TopicArn=model["TopicArn"])
File without changes
@@ -0,0 +1,169 @@
1
+ import json
2
+ from collections import defaultdict
3
+ from typing import Callable
4
+
5
+ import pytest
6
+
7
+ from localstack.aws.api.cloudformation import StackEvent
8
+ from localstack.aws.connect import ServiceLevelClientFactory
9
+ from localstack.utils.functions import call_safe
10
+ from localstack.utils.strings import short_uid
11
+
12
+ PerResourceStackEvents = dict[str, list[StackEvent]]
13
+
14
+
15
+ @pytest.fixture
16
+ def capture_per_resource_events(
17
+ aws_client: ServiceLevelClientFactory,
18
+ ) -> Callable[[str], PerResourceStackEvents]:
19
+ def capture(stack_name: str) -> PerResourceStackEvents:
20
+ events = aws_client.cloudformation.describe_stack_events(StackName=stack_name)[
21
+ "StackEvents"
22
+ ]
23
+ per_resource_events = defaultdict(list)
24
+ for event in events:
25
+ if logical_resource_id := event.get("LogicalResourceId"):
26
+ per_resource_events[logical_resource_id].append(event)
27
+ return per_resource_events
28
+
29
+ return capture
30
+
31
+
32
+ @pytest.fixture
33
+ def capture_update_process(aws_client_no_retry, cleanups, capture_per_resource_events):
34
+ """
35
+ Fixture to deploy a new stack (via creating and executing a change set), then updating the
36
+ stack with a second template (via creating and executing a change set).
37
+ """
38
+
39
+ stack_name = f"stack-{short_uid()}"
40
+ change_set_name = f"cs-{short_uid()}"
41
+
42
+ def inner(
43
+ snapshot, t1: dict | str, t2: dict | str, p1: dict | None = None, p2: dict | None = None
44
+ ):
45
+ snapshot.add_transformer(snapshot.transform.cloudformation_api())
46
+
47
+ if isinstance(t1, dict):
48
+ t1 = json.dumps(t1)
49
+ elif isinstance(t1, str):
50
+ with open(t1) as infile:
51
+ t1 = infile.read()
52
+ if isinstance(t2, dict):
53
+ t2 = json.dumps(t2)
54
+ elif isinstance(t2, str):
55
+ with open(t2) as infile:
56
+ t2 = infile.read()
57
+
58
+ p1 = p1 or {}
59
+ p2 = p2 or {}
60
+
61
+ # deploy original stack
62
+ change_set_details = aws_client_no_retry.cloudformation.create_change_set(
63
+ StackName=stack_name,
64
+ ChangeSetName=change_set_name,
65
+ TemplateBody=t1,
66
+ ChangeSetType="CREATE",
67
+ Parameters=[{"ParameterKey": k, "ParameterValue": v} for (k, v) in p1.items()],
68
+ )
69
+ snapshot.match("create-change-set-1", change_set_details)
70
+ stack_id = change_set_details["StackId"]
71
+ change_set_id = change_set_details["Id"]
72
+ aws_client_no_retry.cloudformation.get_waiter("change_set_create_complete").wait(
73
+ ChangeSetName=change_set_id
74
+ )
75
+ cleanups.append(
76
+ lambda: call_safe(
77
+ aws_client_no_retry.cloudformation.delete_change_set,
78
+ kwargs=dict(ChangeSetName=change_set_id),
79
+ )
80
+ )
81
+
82
+ describe_change_set_with_prop_values = (
83
+ aws_client_no_retry.cloudformation.describe_change_set(
84
+ ChangeSetName=change_set_id, IncludePropertyValues=True
85
+ )
86
+ )
87
+ snapshot.match("describe-change-set-1-prop-values", describe_change_set_with_prop_values)
88
+ describe_change_set_without_prop_values = (
89
+ aws_client_no_retry.cloudformation.describe_change_set(
90
+ ChangeSetName=change_set_id, IncludePropertyValues=False
91
+ )
92
+ )
93
+ snapshot.match("describe-change-set-1", describe_change_set_without_prop_values)
94
+
95
+ execute_results = aws_client_no_retry.cloudformation.execute_change_set(
96
+ ChangeSetName=change_set_id
97
+ )
98
+ snapshot.match("execute-change-set-1", execute_results)
99
+ aws_client_no_retry.cloudformation.get_waiter("stack_create_complete").wait(
100
+ StackName=stack_id
101
+ )
102
+
103
+ # ensure stack deletion
104
+ cleanups.append(
105
+ lambda: call_safe(
106
+ aws_client_no_retry.cloudformation.delete_stack, kwargs=dict(StackName=stack_id)
107
+ )
108
+ )
109
+
110
+ describe = aws_client_no_retry.cloudformation.describe_stacks(StackName=stack_id)["Stacks"][
111
+ 0
112
+ ]
113
+ snapshot.match("post-create-1-describe", describe)
114
+
115
+ # update stack
116
+ change_set_details = aws_client_no_retry.cloudformation.create_change_set(
117
+ StackName=stack_name,
118
+ ChangeSetName=change_set_name,
119
+ TemplateBody=t2,
120
+ ChangeSetType="UPDATE",
121
+ Parameters=[{"ParameterKey": k, "ParameterValue": v} for (k, v) in p2.items()],
122
+ )
123
+ snapshot.match("create-change-set-2", change_set_details)
124
+ stack_id = change_set_details["StackId"]
125
+ change_set_id = change_set_details["Id"]
126
+ aws_client_no_retry.cloudformation.get_waiter("change_set_create_complete").wait(
127
+ ChangeSetName=change_set_id
128
+ )
129
+
130
+ describe_change_set_with_prop_values = (
131
+ aws_client_no_retry.cloudformation.describe_change_set(
132
+ ChangeSetName=change_set_id, IncludePropertyValues=True
133
+ )
134
+ )
135
+ snapshot.match("describe-change-set-2-prop-values", describe_change_set_with_prop_values)
136
+ describe_change_set_without_prop_values = (
137
+ aws_client_no_retry.cloudformation.describe_change_set(
138
+ ChangeSetName=change_set_id, IncludePropertyValues=False
139
+ )
140
+ )
141
+ snapshot.match("describe-change-set-2", describe_change_set_without_prop_values)
142
+
143
+ execute_results = aws_client_no_retry.cloudformation.execute_change_set(
144
+ ChangeSetName=change_set_id
145
+ )
146
+ snapshot.match("execute-change-set-2", execute_results)
147
+ aws_client_no_retry.cloudformation.get_waiter("stack_update_complete").wait(
148
+ StackName=stack_id
149
+ )
150
+
151
+ describe = aws_client_no_retry.cloudformation.describe_stacks(StackName=stack_id)["Stacks"][
152
+ 0
153
+ ]
154
+ snapshot.match("post-create-2-describe", describe)
155
+
156
+ events = capture_per_resource_events(stack_name)
157
+ snapshot.match("per-resource-events", events)
158
+
159
+ # delete stack
160
+ aws_client_no_retry.cloudformation.delete_stack(StackName=stack_id)
161
+ aws_client_no_retry.cloudformation.get_waiter("stack_delete_complete").wait(
162
+ StackName=stack_id
163
+ )
164
+ describe = aws_client_no_retry.cloudformation.describe_stacks(StackName=stack_id)["Stacks"][
165
+ 0
166
+ ]
167
+ snapshot.match("delete-describe", describe)
168
+
169
+ yield inner
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.3.1.dev34'
21
- __version_tuple__ = version_tuple = (4, 3, 1, 'dev34')
20
+ __version__ = version = '4.3.1.dev36'
21
+ __version_tuple__ = version_tuple = (4, 3, 1, 'dev36')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localstack-core
3
- Version: 4.3.1.dev34
3
+ Version: 4.3.1.dev36
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
@@ -3,7 +3,7 @@ localstack/constants.py,sha256=bBh6djh4x37MrS8az8LizX_APMZ56XdtJHCnZdOnmeg,6867
3
3
  localstack/deprecations.py,sha256=t3zeaZaHhKYM8snP1wRZhpvAy6MbB12Vqv5hK78bwJ0,15162
4
4
  localstack/openapi.yaml,sha256=B803NmpwsxG8PHpHrdZYBrUYjnrRh7B_JX0XuNynuFs,30237
5
5
  localstack/plugins.py,sha256=BIJC9dlo0WbP7lLKkCiGtd_2q5oeqiHZohvoRTcejXM,2457
6
- localstack/version.py,sha256=YqfxYYnftp9e4aye_w9DHMZjnvLTYf1GiTcM75QPAb8,526
6
+ localstack/version.py,sha256=r9lXiWQ0GsAxcSYjmTA9C-fktMn8jgEY_ylba_CsfNI,526
7
7
  localstack/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
8
  localstack/aws/accounts.py,sha256=102zpGowOxo0S6UGMpfjw14QW7WCLVAGsnFK5xFMLoo,3043
9
9
  localstack/aws/app.py,sha256=n9bJCfJRuMz_gLGAH430c3bIQXgUXeWO5NPfcdL2MV8,5145
@@ -292,7 +292,7 @@ localstack/services/cloudformation/stores.py,sha256=sGcmn_iwWtVDtVxvN2ICx8pRPsUr
292
292
  localstack/services/cloudformation/usage.py,sha256=bkCnwHnyR0H92RZRulZEWlUV-WV0yfBhCn4m5DsApdM,204
293
293
  localstack/services/cloudformation/engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
294
294
  localstack/services/cloudformation/engine/changes.py,sha256=xeRkoHuf9hdqgWzIwfpjExAyjh622hmjX8ehNh3rfDs,363
295
- localstack/services/cloudformation/engine/entities.py,sha256=i7UuOm9Hq-K4eZUcA-7a5vwNwTg4cpuB6OmXniwCujE,15511
295
+ localstack/services/cloudformation/engine/entities.py,sha256=S-HcAiIuvk4mcsyEbxYYwStQ-QsECw84_pJMD78JShs,15647
296
296
  localstack/services/cloudformation/engine/errors.py,sha256=vgFpq9SUVwJ3BLTSMOUVOy5Tq3hULllliZPDEnkop6k,105
297
297
  localstack/services/cloudformation/engine/parameters.py,sha256=AYsF-UCUUFCOveJvvqlq6EiEyl5uNpmsWgcJOTQBbN4,9308
298
298
  localstack/services/cloudformation/engine/policy_loader.py,sha256=MjnNEzPTVl9HeBNRRwMnpNQa7b9G-EabyppnkHItzk8,438
@@ -307,10 +307,11 @@ localstack/services/cloudformation/engine/types.py,sha256=YIhmTrO__obIviYvzzCovK
307
307
  localstack/services/cloudformation/engine/validations.py,sha256=brq7s8O8exA5kvnfzR9ulOtQ7i4konrWQs07-0h_ByE,2847
308
308
  localstack/services/cloudformation/engine/yaml_parser.py,sha256=LQpAVq9Syze9jXUGen9Mz8SjosBuodpV5XvsCSn9bDg,2164
309
309
  localstack/services/cloudformation/engine/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
310
- localstack/services/cloudformation/engine/v2/change_set_model.py,sha256=MrZ2KrcjRepNVL4nXxrG7KdXI_pEMYimEiQ1xfq7JNY,48994
311
- localstack/services/cloudformation/engine/v2/change_set_model_describer.py,sha256=-J6gXaTdfInrfIGFj_aF-d-BIWAB3Rwp4Sw06TWhVks,25035
312
- localstack/services/cloudformation/engine/v2/change_set_model_executor.py,sha256=Hyv18CpBBD7B0LBIZGjWDRIQVQzvL6V9eA55rJgpGpM,6620
313
- localstack/services/cloudformation/engine/v2/change_set_model_visitor.py,sha256=f0wlAWz5qEV28A93zF_TXEtz5uxgx-QDBNgzCYWBpYs,5163
310
+ localstack/services/cloudformation/engine/v2/change_set_model.py,sha256=mqKDsXu7d3cuJKiUZzGb9o2QopjG20P65MlRGPlpQqA,47578
311
+ localstack/services/cloudformation/engine/v2/change_set_model_describer.py,sha256=YAzyJS4d2OGiq-BLr6ihly-yIoVyKboFYSKE9-WsOB4,6847
312
+ localstack/services/cloudformation/engine/v2/change_set_model_executor.py,sha256=hKTbbvtat-8T30FGJitcYY2yEi-cE5P8oNUrmMqY-tQ,8302
313
+ localstack/services/cloudformation/engine/v2/change_set_model_preproc.py,sha256=W7XtLpCH1NIjPghHDwcGxKRDjz2SMoHRgwtl9bFDA08,23474
314
+ localstack/services/cloudformation/engine/v2/change_set_model_visitor.py,sha256=NF97l94cHxxBuqNJ6kR3EarNyjLM9KnT8zPV4puOtZQ,5163
314
315
  localstack/services/cloudformation/models/__init__.py,sha256=da1PTClDMl-IBkrSvq6JC1lnS-K_BASzCvxVhNxN5Ls,13
315
316
  localstack/services/cloudformation/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
316
317
  localstack/services/cloudformation/resource_providers/aws_cloudformation_macro.py,sha256=Grn3dP1jANRlVO9HyKQV5GHv0x1eNRBeaIYhgn-FKv4,2812
@@ -328,7 +329,8 @@ localstack/services/cloudformation/resource_providers/aws_cloudformation_waitcon
328
329
  localstack/services/cloudformation/scaffolding/__main__.py,sha256=zjedOdqvnfN99WzQ43gxtGZxLDitSnbFGA-zpWbyMQ0,30960
329
330
  localstack/services/cloudformation/scaffolding/propgen.py,sha256=9YsSCkDegcU_Yp8Sfw8eNV26N5ibOlLC6Hg6lxPeBBM,7949
330
331
  localstack/services/cloudformation/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
331
- localstack/services/cloudformation/v2/provider.py,sha256=_OXewSoVSDANs2hlXFV3kOSIAFzhlyCfigOO2kZRFw8,14778
332
+ localstack/services/cloudformation/v2/provider.py,sha256=VnBVFRJ7TVsrFiBTIloruPJklFNNp2oAf1iOuePZRpI,16423
333
+ localstack/services/cloudformation/v2/utils.py,sha256=xy4Lcp4X8XGJ0OKfnsE7pnfMcFrtIH0Chw35qwjhZuw,148
332
334
  localstack/services/cloudwatch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
333
335
  localstack/services/cloudwatch/alarm_scheduler.py,sha256=XFllg0gI_WNV7cNxOcgXifzmbNA07OPpuEUuf37keP4,15663
334
336
  localstack/services/cloudwatch/cloudwatch_database_helper.py,sha256=MDQix6E53s-EfjOiwbKfMFtFqSinOsvsz7wbeLUjpyU,17327
@@ -520,8 +522,8 @@ localstack/services/kinesisfirehose/resource_providers/aws_kinesisfirehose_deliv
520
522
  localstack/services/kinesisfirehose/resource_providers/aws_kinesisfirehose_deliverystream_plugin.py,sha256=PiBvpg3H21Q6q7gO0TAt3TM5ydlS74e2fcDl8QnMipk,652
521
523
  localstack/services/kms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
522
524
  localstack/services/kms/exceptions.py,sha256=BgmFaOgGcBheRPQyZFFjn7_W8i6ChJXvJoSh_yV-Ti0,535
523
- localstack/services/kms/models.py,sha256=ZOmv3gEN1yiE1bvNNPui2A7cd2x7ZBfS4TCakg4ypvM,35982
524
- localstack/services/kms/provider.py,sha256=uEEzZQp-Zt_nSn9CN0SjIbeoHHTg2JO0JrW6jf_BUAM,65117
525
+ localstack/services/kms/models.py,sha256=_IRuIg1WU_byOia6dGQTar8aeohdgrZyyMmNujzQhZU,36720
526
+ localstack/services/kms/provider.py,sha256=dTnkmOOJ-q3mV3VgSexeZDOlivLcb8Oyd6aoOTbX1Q8,65087
525
527
  localstack/services/kms/utils.py,sha256=OsLNNXHXA006xVmk9BVNMuRMxPEASH0Qwl4Tfgexyqk,2133
526
528
  localstack/services/kms/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
527
529
  localstack/services/kms/resource_providers/aws_kms_alias.py,sha256=wn6BaAj-mccWTPLFDtxbf1qGzGta-xRQAE8GVRNNvOg,2630
@@ -739,7 +741,7 @@ localstack/services/sns/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW
739
741
  localstack/services/sns/resource_providers/aws_sns_subscription.py,sha256=jRWle6n99pWRCuh54FBEXZXmiW0pa7QmiF7SmpIQuYc,4170
740
742
  localstack/services/sns/resource_providers/aws_sns_subscription.schema.json,sha256=3Ro_73uHocAWgjsekaflOty3RzzVlO5Ch1I_Tmua71E,1059
741
743
  localstack/services/sns/resource_providers/aws_sns_subscription_plugin.py,sha256=ShcgyZO5TwEJlHhiSh1K3FfsvCfsbp4CnJjHFIGggLI,570
742
- localstack/services/sns/resource_providers/aws_sns_topic.py,sha256=5euhQ6ijFI7WHRjbDhcPhtXyQabHGVpnpcCrvVwzAig,5798
744
+ localstack/services/sns/resource_providers/aws_sns_topic.py,sha256=qz7UWjsYkR5V1dQB6ywX8F05C9ptlw1BOUoqx4lHDMc,5878
743
745
  localstack/services/sns/resource_providers/aws_sns_topic.schema.json,sha256=rQwlmJpLYLG65Rn99SFbbGJljxSvz9xoPS1RT31-5L8,6001
744
746
  localstack/services/sns/resource_providers/aws_sns_topic_plugin.py,sha256=4-gpfhTZb9gy94hFfQOmiSzJB33HMdMDVw8Yr88GMX8,510
745
747
  localstack/services/sns/resource_providers/aws_sns_topicpolicy.py,sha256=osgbSFYruN5mkIBDTt4EGTnHgumnwaOMSgBzoA_DqHw,3325
@@ -1167,6 +1169,8 @@ localstack/testing/pytest/metric_collection.py,sha256=mwKhqY5URNkZWle_H5LDGw--EU
1167
1169
  localstack/testing/pytest/path_filter.py,sha256=U1V5qy23H7yZ6Tznr-MdveeH7TvCM_u4AphxGhsWSF0,3417
1168
1170
  localstack/testing/pytest/util.py,sha256=TQAAb_Cj5gTSX0VkenAbSabvyCkl7THxEj70PrT_H7Y,941
1169
1171
  localstack/testing/pytest/validation_tracking.py,sha256=f8AjyKZl_f9cfr0KI0op-QubKqYze1PrvsJfY-AvofI,5000
1172
+ localstack/testing/pytest/cloudformation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1173
+ localstack/testing/pytest/cloudformation/fixtures.py,sha256=0R7SFKkSrYvdjt5bC8VjutfJgXO1M9lALwPYdrrfP8U,6434
1170
1174
  localstack/testing/pytest/stepfunctions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1171
1175
  localstack/testing/pytest/stepfunctions/fixtures.py,sha256=Q_MM9WRjlp_hOvB3Xlum1qZ0crCcq-7_P6nNjbTg8I0,31951
1172
1176
  localstack/testing/pytest/stepfunctions/utils.py,sha256=xr7lccNtvgeJrn7K7seqAHNZpLiATcEpfslpAUGol-U,27362
@@ -1268,13 +1272,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
1268
1272
  localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1269
1273
  localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
1270
1274
  localstack/utils/xray/traceid.py,sha256=SQSsMV2rhbTNK6ceIoozZYuGU7Fg687EXcgqxoDl1Fw,1106
1271
- localstack_core-4.3.1.dev34.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1272
- localstack_core-4.3.1.dev34.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1273
- localstack_core-4.3.1.dev34.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1274
- localstack_core-4.3.1.dev34.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1275
- localstack_core-4.3.1.dev34.dist-info/METADATA,sha256=6JQvG8zfOc0iigRK17ZfgIg3wrccakeLSr_xNI-QuMA,5506
1276
- localstack_core-4.3.1.dev34.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
1277
- localstack_core-4.3.1.dev34.dist-info/entry_points.txt,sha256=UqGFR0MPKa2sfresdqiCpqBZuWyRxCb3UG77oPVMzVA,20564
1278
- localstack_core-4.3.1.dev34.dist-info/plux.json,sha256=R4eFjGRHyk82fGTJo1ZvHtGy27Q3zZ7lbDxCMA_3MEk,20786
1279
- localstack_core-4.3.1.dev34.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1280
- localstack_core-4.3.1.dev34.dist-info/RECORD,,
1275
+ localstack_core-4.3.1.dev36.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1276
+ localstack_core-4.3.1.dev36.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1277
+ localstack_core-4.3.1.dev36.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1278
+ localstack_core-4.3.1.dev36.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1279
+ localstack_core-4.3.1.dev36.dist-info/METADATA,sha256=SKR1YKLeL-z4Sg97PXtSSZ2M0bmSW9BVre0o4nXzHCk,5506
1280
+ localstack_core-4.3.1.dev36.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
1281
+ localstack_core-4.3.1.dev36.dist-info/entry_points.txt,sha256=UqGFR0MPKa2sfresdqiCpqBZuWyRxCb3UG77oPVMzVA,20564
1282
+ localstack_core-4.3.1.dev36.dist-info/plux.json,sha256=mH0iT0pj-QHTnykXs0cU8OoNq4l9gisIu1uxemmoIss,20786
1283
+ localstack_core-4.3.1.dev36.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1284
+ localstack_core-4.3.1.dev36.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"localstack.cloudformation.resource_providers": ["AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin"], "localstack.packages": ["kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package"], "localstack.hooks.on_infra_start": ["_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", "_publish_config_as_analytics_event=localstack.runtime.analytics:_publish_config_as_analytics_event", "_publish_container_info=localstack.runtime.analytics:_publish_container_info", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "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", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "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.hooks.on_infra_shutdown": ["_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "publish_metrics=localstack.utils.analytics.metrics:publish_metrics", "aggregate_and_send=localstack.utils.analytics.usage:aggregate_and_send", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "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", "stop_server=localstack.dns.plugins:stop_server"], "localstack.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "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.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"]}
@@ -1 +0,0 @@
1
- {"localstack.hooks.on_infra_start": ["_publish_config_as_analytics_event=localstack.runtime.analytics:_publish_config_as_analytics_event", "_publish_container_info=localstack.runtime.analytics:_publish_container_info", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "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", "register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "_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"], "localstack.cloudformation.resource_providers": ["AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin"], "localstack.packages": ["kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "vosk/community=localstack.services.transcribe.plugins:vosk_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", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package"], "localstack.hooks.on_infra_shutdown": ["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", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "stop_server=localstack.dns.plugins:stop_server", "aggregate_and_send=localstack.utils.analytics.usage:aggregate_and_send", "publish_metrics=localstack.utils.analytics.metrics:publish_metrics"], "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.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.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "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"]}