localstack-core 4.2.1.dev80__py3-none-any.whl → 4.2.1.dev82__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.
- localstack/services/cloudformation/engine/v2/change_set_model.py +625 -142
- localstack/services/cloudformation/engine/v2/change_set_model_describer.py +227 -43
- localstack/services/cloudformation/engine/v2/change_set_model_visitor.py +34 -0
- localstack/version.py +2 -2
- {localstack_core-4.2.1.dev80.dist-info → localstack_core-4.2.1.dev82.dist-info}/METADATA +1 -1
- {localstack_core-4.2.1.dev80.dist-info → localstack_core-4.2.1.dev82.dist-info}/RECORD +14 -14
- {localstack_core-4.2.1.dev80.dist-info → localstack_core-4.2.1.dev82.dist-info}/WHEEL +1 -1
- localstack_core-4.2.1.dev82.dist-info/plux.json +1 -0
- localstack_core-4.2.1.dev80.dist-info/plux.json +0 -1
- {localstack_core-4.2.1.dev80.data → localstack_core-4.2.1.dev82.data}/scripts/localstack +0 -0
- {localstack_core-4.2.1.dev80.data → localstack_core-4.2.1.dev82.data}/scripts/localstack-supervisor +0 -0
- {localstack_core-4.2.1.dev80.data → localstack_core-4.2.1.dev82.data}/scripts/localstack.bat +0 -0
- {localstack_core-4.2.1.dev80.dist-info → localstack_core-4.2.1.dev82.dist-info}/entry_points.txt +0 -0
- {localstack_core-4.2.1.dev80.dist-info → localstack_core-4.2.1.dev82.dist-info}/licenses/LICENSE.txt +0 -0
- {localstack_core-4.2.1.dev80.dist-info → localstack_core-4.2.1.dev82.dist-info}/top_level.txt +0 -0
@@ -3,19 +3,23 @@ from __future__ import annotations
|
|
3
3
|
import abc
|
4
4
|
from typing import Any, Final, Optional
|
5
5
|
|
6
|
-
|
6
|
+
import localstack.aws.api.cloudformation as cfn_api
|
7
7
|
from localstack.services.cloudformation.engine.v2.change_set_model import (
|
8
8
|
ChangeSetEntity,
|
9
9
|
ChangeType,
|
10
10
|
NodeArray,
|
11
|
+
NodeCondition,
|
12
|
+
NodeDivergence,
|
11
13
|
NodeIntrinsicFunction,
|
12
14
|
NodeObject,
|
15
|
+
NodeParameter,
|
13
16
|
NodeProperties,
|
14
17
|
NodeProperty,
|
15
18
|
NodeResource,
|
16
|
-
NodeResources,
|
17
19
|
NodeTemplate,
|
20
|
+
NothingType,
|
18
21
|
PropertiesKey,
|
22
|
+
Scope,
|
19
23
|
TerminalValue,
|
20
24
|
TerminalValueCreated,
|
21
25
|
TerminalValueModified,
|
@@ -40,20 +44,87 @@ class DescribeUnit(abc.ABC):
|
|
40
44
|
|
41
45
|
class ChangeSetModelDescriber(ChangeSetModelVisitor):
|
42
46
|
_node_template: Final[NodeTemplate]
|
43
|
-
|
47
|
+
_changes: Final[cfn_api.Changes]
|
48
|
+
_describe_unit_cache: dict[Scope, DescribeUnit]
|
44
49
|
|
45
50
|
def __init__(self, node_template: NodeTemplate):
|
46
51
|
self._node_template = node_template
|
47
|
-
self.
|
52
|
+
self._changes = list()
|
53
|
+
self._describe_unit_cache = dict()
|
48
54
|
self.visit(self._node_template)
|
49
55
|
|
50
|
-
def
|
51
|
-
|
52
|
-
|
56
|
+
def get_changes(self) -> cfn_api.Changes:
|
57
|
+
return self._changes
|
58
|
+
|
59
|
+
@staticmethod
|
60
|
+
def _get_node_resource_for(resource_name: str, node_template: NodeTemplate) -> NodeResource:
|
61
|
+
# TODO: this could be improved with hashmap lookups if the Node contained bindings and not lists.
|
62
|
+
for node_resource in node_template.resources.resources:
|
63
|
+
if node_resource.name == resource_name:
|
64
|
+
return node_resource
|
65
|
+
# TODO
|
66
|
+
raise RuntimeError()
|
67
|
+
|
68
|
+
@staticmethod
|
69
|
+
def _get_node_property_for(property_name: str, node_resource: NodeResource) -> NodeProperty:
|
70
|
+
# TODO: this could be improved with hashmap lookups if the Node contained bindings and not lists.
|
71
|
+
for node_property in node_resource.properties.properties:
|
72
|
+
if node_property.name == property_name:
|
73
|
+
return node_property
|
74
|
+
# TODO
|
75
|
+
raise RuntimeError()
|
76
|
+
|
77
|
+
def _get_node_parameter_if_exists(self, parameter_name: str) -> Optional[NodeParameter]:
|
78
|
+
parameters: list[NodeParameter] = self._node_template.parameters.parameters
|
79
|
+
# TODO: another scenarios suggesting property lookups might be preferable.
|
80
|
+
for parameter in parameters:
|
81
|
+
if parameter.name == parameter_name:
|
82
|
+
return parameter
|
83
|
+
return None
|
84
|
+
|
85
|
+
def _get_node_condition_if_exists(self, condition_name: str) -> Optional[NodeCondition]:
|
86
|
+
conditions: list[NodeCondition] = self._node_template.conditions.conditions
|
87
|
+
# TODO: another scenarios suggesting property lookups might be preferable.
|
88
|
+
for condition in conditions:
|
89
|
+
if condition.name == condition_name:
|
90
|
+
return condition
|
91
|
+
return None
|
92
|
+
|
93
|
+
def _resolve_reference(self, logica_id: str) -> DescribeUnit:
|
94
|
+
node_condition = self._get_node_condition_if_exists(condition_name=logica_id)
|
95
|
+
if isinstance(node_condition, NodeCondition):
|
96
|
+
condition_unit = self.visit(node_condition)
|
97
|
+
return condition_unit
|
98
|
+
|
99
|
+
node_parameter = self._get_node_parameter_if_exists(parameter_name=logica_id)
|
100
|
+
if isinstance(node_parameter, NodeParameter):
|
101
|
+
parameter_unit = self.visit(node_parameter)
|
102
|
+
return parameter_unit
|
103
|
+
|
104
|
+
# TODO: check for KNOWN AFTER APPLY values for logical ids coming from intrinsic functions as arguments.
|
105
|
+
# node_resource = self._get_node_resource_for(
|
106
|
+
# resource_name=logica_id, node_template=self._node_template
|
107
|
+
# )
|
108
|
+
limitation_str = "Cannot yet compute Ref values for Resources"
|
109
|
+
resource_unit = DescribeUnit(before_context=limitation_str, after_context=limitation_str)
|
110
|
+
return resource_unit
|
111
|
+
|
112
|
+
def _resolve_reference_binding(
|
113
|
+
self, before_logical_id: str, after_logical_id: str
|
114
|
+
) -> DescribeUnit:
|
115
|
+
before_unit = self._resolve_reference(logica_id=before_logical_id)
|
116
|
+
after_unit = self._resolve_reference(logica_id=after_logical_id)
|
117
|
+
return DescribeUnit(
|
118
|
+
before_context=before_unit.before_context, after_context=after_unit.after_context
|
119
|
+
)
|
53
120
|
|
54
121
|
def visit(self, change_set_entity: ChangeSetEntity) -> DescribeUnit:
|
55
|
-
|
56
|
-
|
122
|
+
describe_unit = self._describe_unit_cache.get(change_set_entity.scope)
|
123
|
+
if describe_unit is not None:
|
124
|
+
return describe_unit
|
125
|
+
describe_unit = super().visit(change_set_entity=change_set_entity)
|
126
|
+
self._describe_unit_cache[change_set_entity.scope] = describe_unit
|
127
|
+
return describe_unit
|
57
128
|
|
58
129
|
def visit_terminal_value_modified(
|
59
130
|
self, terminal_value_modified: TerminalValueModified
|
@@ -81,6 +152,13 @@ class ChangeSetModelDescriber(ChangeSetModelVisitor):
|
|
81
152
|
after_context=terminal_value_unchanged.value,
|
82
153
|
)
|
83
154
|
|
155
|
+
def visit_node_divergence(self, node_divergence: NodeDivergence) -> DescribeUnit:
|
156
|
+
before_unit = self.visit(node_divergence.value)
|
157
|
+
after_unit = self.visit(node_divergence.divergence)
|
158
|
+
return DescribeUnit(
|
159
|
+
before_context=before_unit.before_context, after_context=after_unit.after_context
|
160
|
+
)
|
161
|
+
|
84
162
|
def visit_node_object(self, node_object: NodeObject) -> DescribeUnit:
|
85
163
|
# TODO: improve check syntax
|
86
164
|
if len(node_object.bindings) == 1:
|
@@ -106,24 +184,6 @@ class ChangeSetModelDescriber(ChangeSetModelVisitor):
|
|
106
184
|
after_context[name] = describe_unit.before_context
|
107
185
|
return DescribeUnit(before_context=before_context, after_context=after_context)
|
108
186
|
|
109
|
-
@staticmethod
|
110
|
-
def _get_node_resource_for(resource_name: str, node_template: NodeTemplate) -> NodeResource:
|
111
|
-
# TODO: this could be improved with hashmap lookups if the Node contained bindings and not lists.
|
112
|
-
for node_resource in node_template.resources.resources:
|
113
|
-
if node_resource.name == resource_name:
|
114
|
-
return node_resource
|
115
|
-
# TODO
|
116
|
-
raise RuntimeError()
|
117
|
-
|
118
|
-
@staticmethod
|
119
|
-
def _get_node_property_for(property_name: str, node_resource: NodeResource) -> NodeProperty:
|
120
|
-
# TODO: this could be improved with hashmap lookups if the Node contained bindings and not lists.
|
121
|
-
for node_property in node_resource.properties.properties:
|
122
|
-
if node_property.name == property_name:
|
123
|
-
return node_property
|
124
|
-
# TODO
|
125
|
-
raise RuntimeError()
|
126
|
-
|
127
187
|
def visit_node_intrinsic_function_fn_get_att(
|
128
188
|
self, node_intrinsic_function: NodeIntrinsicFunction
|
129
189
|
) -> DescribeUnit:
|
@@ -155,6 +215,99 @@ class ChangeSetModelDescriber(ChangeSetModelVisitor):
|
|
155
215
|
# Unchanged
|
156
216
|
return DescribeUnit(before_context=before_context, after_context=after_context)
|
157
217
|
|
218
|
+
def visit_node_intrinsic_function_fn_equals(
|
219
|
+
self, node_intrinsic_function: NodeIntrinsicFunction
|
220
|
+
) -> DescribeUnit:
|
221
|
+
# TODO: check for KNOWN AFTER APPLY values for logical ids coming from intrinsic functions as arguments.
|
222
|
+
arguments_unit = self.visit(node_intrinsic_function.arguments)
|
223
|
+
before_values = arguments_unit.before_context
|
224
|
+
after_values = arguments_unit.after_context
|
225
|
+
before_context = None
|
226
|
+
if before_values:
|
227
|
+
before_context = before_values[0] == before_values[1]
|
228
|
+
after_context = None
|
229
|
+
if after_values:
|
230
|
+
after_context = after_values[0] == after_values[1]
|
231
|
+
match node_intrinsic_function.change_type:
|
232
|
+
case ChangeType.MODIFIED:
|
233
|
+
return DescribeUnit(before_context=before_context, after_context=after_context)
|
234
|
+
case ChangeType.CREATED:
|
235
|
+
return DescribeUnit(after_context=after_context)
|
236
|
+
case ChangeType.REMOVED:
|
237
|
+
return DescribeUnit(before_context=before_context)
|
238
|
+
# Unchanged
|
239
|
+
return DescribeUnit(before_context=before_context, after_context=after_context)
|
240
|
+
|
241
|
+
def visit_node_intrinsic_function_fn_if(
|
242
|
+
self, node_intrinsic_function: NodeIntrinsicFunction
|
243
|
+
) -> DescribeUnit:
|
244
|
+
# TODO: check for KNOWN AFTER APPLY values for logical ids coming from intrinsic functions as arguments.
|
245
|
+
arguments_unit = self.visit(node_intrinsic_function.arguments)
|
246
|
+
|
247
|
+
def _compute_unit_for_if_statement(args: list[Any]) -> DescribeUnit:
|
248
|
+
condition_name = args[0]
|
249
|
+
boolean_expression_unit = self._resolve_reference(logica_id=condition_name)
|
250
|
+
return DescribeUnit(
|
251
|
+
before_context=args[1] if boolean_expression_unit.before_context else args[2],
|
252
|
+
after_context=args[1] if boolean_expression_unit.after_context else args[2],
|
253
|
+
)
|
254
|
+
|
255
|
+
# TODO: add support for this being created or removed.
|
256
|
+
before_outcome_unit = _compute_unit_for_if_statement(arguments_unit.before_context)
|
257
|
+
before_context = before_outcome_unit.before_context
|
258
|
+
after_outcome_unit = _compute_unit_for_if_statement(arguments_unit.after_context)
|
259
|
+
after_context = after_outcome_unit.after_context
|
260
|
+
return DescribeUnit(before_context=before_context, after_context=after_context)
|
261
|
+
|
262
|
+
def visit_node_intrinsic_function_fn_not(
|
263
|
+
self, node_intrinsic_function: NodeIntrinsicFunction
|
264
|
+
) -> DescribeUnit:
|
265
|
+
# TODO: check for KNOWN AFTER APPLY values for logical ids coming from intrinsic functions as arguments.
|
266
|
+
# TODO: add type checking/validation for result unit?
|
267
|
+
arguments_unit = self.visit(node_intrinsic_function.arguments)
|
268
|
+
before_condition = arguments_unit.before_context
|
269
|
+
after_condition = arguments_unit.after_context
|
270
|
+
if before_condition:
|
271
|
+
before_condition_outcome = before_condition[0]
|
272
|
+
before_context = not before_condition_outcome
|
273
|
+
else:
|
274
|
+
before_context = None
|
275
|
+
|
276
|
+
if after_condition:
|
277
|
+
after_condition_outcome = after_condition[0]
|
278
|
+
after_context = not after_condition_outcome
|
279
|
+
else:
|
280
|
+
after_context = None
|
281
|
+
# Implicit change type computation.
|
282
|
+
return DescribeUnit(before_context=before_context, after_context=after_context)
|
283
|
+
|
284
|
+
def visit_node_parameter(self, node_parameter: NodeParameter) -> DescribeUnit:
|
285
|
+
# TODO: add caching for these operation, parameters may be referenced more than once.
|
286
|
+
# TODO: add support for default value sampling
|
287
|
+
dynamic_value = node_parameter.dynamic_value
|
288
|
+
describe_unit = self.visit(dynamic_value)
|
289
|
+
return describe_unit
|
290
|
+
|
291
|
+
def visit_node_condition(self, node_condition: NodeCondition) -> DescribeUnit:
|
292
|
+
describe_unit = self.visit(node_condition.body)
|
293
|
+
return describe_unit
|
294
|
+
|
295
|
+
def visit_node_intrinsic_function_ref(
|
296
|
+
self, node_intrinsic_function: NodeIntrinsicFunction
|
297
|
+
) -> DescribeUnit:
|
298
|
+
arguments_unit = self.visit(node_intrinsic_function.arguments)
|
299
|
+
|
300
|
+
# TODO: add tests with created and deleted parameters and verify this logic holds.
|
301
|
+
before_logical_id = arguments_unit.before_context
|
302
|
+
before_unit = self._resolve_reference(logica_id=before_logical_id)
|
303
|
+
before_context = before_unit.before_context
|
304
|
+
|
305
|
+
after_logical_id = arguments_unit.after_context
|
306
|
+
after_unit = self._resolve_reference(logica_id=after_logical_id)
|
307
|
+
after_context = after_unit.after_context
|
308
|
+
|
309
|
+
return DescribeUnit(before_context=before_context, after_context=after_context)
|
310
|
+
|
158
311
|
def visit_node_array(self, node_array: NodeArray) -> DescribeUnit:
|
159
312
|
before_context = list()
|
160
313
|
after_context = list()
|
@@ -188,16 +341,45 @@ class ChangeSetModelDescriber(ChangeSetModelVisitor):
|
|
188
341
|
case ChangeType.REMOVED:
|
189
342
|
before_context[property_name] = describe_unit.before_context
|
190
343
|
case ChangeType.UNCHANGED:
|
191
|
-
|
192
|
-
|
193
|
-
after_context[property_name] = describe_unit.before_context
|
344
|
+
before_context[property_name] = describe_unit.before_context
|
345
|
+
after_context[property_name] = describe_unit.before_context
|
194
346
|
# TODO: this object can probably be well-typed instead of a free dict(?)
|
195
347
|
before_context = {PropertiesKey: before_context}
|
196
348
|
after_context = {PropertiesKey: after_context}
|
197
349
|
return DescribeUnit(before_context=before_context, after_context=after_context)
|
198
350
|
|
351
|
+
def _resolve_resource_condition_reference(self, reference: TerminalValue) -> DescribeUnit:
|
352
|
+
reference_unit = self.visit(reference)
|
353
|
+
before_reference = reference_unit.before_context
|
354
|
+
after_reference = reference_unit.after_context
|
355
|
+
condition_unit = self._resolve_reference_binding(
|
356
|
+
before_logical_id=before_reference, after_logical_id=after_reference
|
357
|
+
)
|
358
|
+
before_context = (
|
359
|
+
condition_unit.before_context if not isinstance(before_reference, NothingType) else True
|
360
|
+
)
|
361
|
+
after_context = (
|
362
|
+
condition_unit.after_context if not isinstance(after_reference, NothingType) else True
|
363
|
+
)
|
364
|
+
return DescribeUnit(before_context=before_context, after_context=after_context)
|
365
|
+
|
199
366
|
def visit_node_resource(self, node_resource: NodeResource) -> DescribeUnit:
|
200
|
-
|
367
|
+
condition_unit = self._resolve_resource_condition_reference(
|
368
|
+
node_resource.condition_reference
|
369
|
+
)
|
370
|
+
condition_before = condition_unit.before_context
|
371
|
+
condition_after = condition_unit.after_context
|
372
|
+
if not condition_before and condition_after:
|
373
|
+
change_type = ChangeType.CREATED
|
374
|
+
elif condition_before and not condition_after:
|
375
|
+
change_type = ChangeType.REMOVED
|
376
|
+
else:
|
377
|
+
change_type = node_resource.change_type
|
378
|
+
if change_type == ChangeType.UNCHANGED:
|
379
|
+
# TODO
|
380
|
+
return None
|
381
|
+
|
382
|
+
resource_change = cfn_api.ResourceChange()
|
201
383
|
resource_change["LogicalResourceId"] = node_resource.name
|
202
384
|
|
203
385
|
# TODO: investigate effects on type changes
|
@@ -206,27 +388,29 @@ class ChangeSetModelDescriber(ChangeSetModelVisitor):
|
|
206
388
|
type_describe_unit.before_context or type_describe_unit.after_context
|
207
389
|
)
|
208
390
|
|
209
|
-
properties_describe_unit = self.
|
210
|
-
match
|
391
|
+
properties_describe_unit = self.visit(node_resource.properties)
|
392
|
+
match change_type:
|
211
393
|
case ChangeType.MODIFIED:
|
212
|
-
resource_change["Action"] = ChangeAction.Modify
|
394
|
+
resource_change["Action"] = cfn_api.ChangeAction.Modify
|
213
395
|
resource_change["BeforeContext"] = properties_describe_unit.before_context
|
214
396
|
resource_change["AfterContext"] = properties_describe_unit.after_context
|
215
397
|
case ChangeType.CREATED:
|
216
|
-
resource_change["Action"] = ChangeAction.Add
|
398
|
+
resource_change["Action"] = cfn_api.ChangeAction.Add
|
217
399
|
resource_change["AfterContext"] = properties_describe_unit.after_context
|
218
400
|
case ChangeType.REMOVED:
|
219
|
-
resource_change["Action"] = ChangeAction.Remove
|
401
|
+
resource_change["Action"] = cfn_api.ChangeAction.Remove
|
220
402
|
resource_change["BeforeContext"] = properties_describe_unit.before_context
|
221
403
|
|
222
|
-
self.
|
404
|
+
self._changes.append(
|
405
|
+
cfn_api.Change(Type=cfn_api.ChangeType.Resource, ResourceChange=resource_change)
|
406
|
+
)
|
223
407
|
|
224
408
|
# TODO
|
225
409
|
return None
|
226
410
|
|
227
|
-
def visit_node_resources(self, node_resources: NodeResources) -> DescribeUnit:
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
411
|
+
# def visit_node_resources(self, node_resources: NodeResources) -> DescribeUnit:
|
412
|
+
# for node_resource in node_resources.resources:
|
413
|
+
# if node_resource.change_type != ChangeType.UNCHANGED:
|
414
|
+
# self.visit_node_resource(node_resource=node_resource)
|
415
|
+
# # TODO
|
416
|
+
# return None
|
@@ -3,8 +3,13 @@ import abc
|
|
3
3
|
from localstack.services.cloudformation.engine.v2.change_set_model import (
|
4
4
|
ChangeSetEntity,
|
5
5
|
NodeArray,
|
6
|
+
NodeCondition,
|
7
|
+
NodeConditions,
|
8
|
+
NodeDivergence,
|
6
9
|
NodeIntrinsicFunction,
|
7
10
|
NodeObject,
|
11
|
+
NodeParameter,
|
12
|
+
NodeParameters,
|
8
13
|
NodeProperties,
|
9
14
|
NodeProperty,
|
10
15
|
NodeResource,
|
@@ -40,6 +45,18 @@ class ChangeSetModelVisitor(abc.ABC):
|
|
40
45
|
def visit_node_template(self, node_template: NodeTemplate):
|
41
46
|
self.visit_children(node_template)
|
42
47
|
|
48
|
+
def visit_node_parameters(self, node_parameters: NodeParameters):
|
49
|
+
self.visit_children(node_parameters)
|
50
|
+
|
51
|
+
def visit_node_parameter(self, node_parameter: NodeParameter):
|
52
|
+
self.visit_children(node_parameter)
|
53
|
+
|
54
|
+
def visit_node_conditions(self, node_conditions: NodeConditions):
|
55
|
+
self.visit_children(node_conditions)
|
56
|
+
|
57
|
+
def visit_node_condition(self, node_condition: NodeCondition):
|
58
|
+
self.visit_children(node_condition)
|
59
|
+
|
43
60
|
def visit_node_resources(self, node_resources: NodeResources):
|
44
61
|
self.visit_children(node_resources)
|
45
62
|
|
@@ -66,6 +83,23 @@ class ChangeSetModelVisitor(abc.ABC):
|
|
66
83
|
):
|
67
84
|
self.visit_children(node_intrinsic_function)
|
68
85
|
|
86
|
+
def visit_node_intrinsic_function_fn_equals(
|
87
|
+
self, node_intrinsic_function: NodeIntrinsicFunction
|
88
|
+
):
|
89
|
+
self.visit_children(node_intrinsic_function)
|
90
|
+
|
91
|
+
def visit_node_intrinsic_function_fn_if(self, node_intrinsic_function: NodeIntrinsicFunction):
|
92
|
+
self.visit_children(node_intrinsic_function)
|
93
|
+
|
94
|
+
def visit_node_intrinsic_function_fn_not(self, node_intrinsic_function: NodeIntrinsicFunction):
|
95
|
+
self.visit_children(node_intrinsic_function)
|
96
|
+
|
97
|
+
def visit_node_intrinsic_function_ref(self, node_intrinsic_function: NodeIntrinsicFunction):
|
98
|
+
self.visit_children(node_intrinsic_function)
|
99
|
+
|
100
|
+
def visit_node_divergence(self, node_divergence: NodeDivergence):
|
101
|
+
self.visit_children(node_divergence)
|
102
|
+
|
69
103
|
def visit_node_object(self, node_object: NodeObject):
|
70
104
|
self.visit_children(node_object)
|
71
105
|
|
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.2.1.
|
21
|
-
__version_tuple__ = version_tuple = (4, 2, 1, '
|
20
|
+
__version__ = version = '4.2.1.dev82'
|
21
|
+
__version_tuple__ = version_tuple = (4, 2, 1, 'dev82')
|
@@ -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=
|
6
|
+
localstack/version.py,sha256=8F1JJLFGVL7tmfBJuiFhBq-igjIgxEda5IQccTMnxRE,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
|
@@ -307,9 +307,9 @@ 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=
|
311
|
-
localstack/services/cloudformation/engine/v2/change_set_model_describer.py,sha256=
|
312
|
-
localstack/services/cloudformation/engine/v2/change_set_model_visitor.py,sha256=
|
310
|
+
localstack/services/cloudformation/engine/v2/change_set_model.py,sha256=Q76L65rbUVPi3wNitO3p3Vg_HevGNYroiceJRL3OUQw,39003
|
311
|
+
localstack/services/cloudformation/engine/v2/change_set_model_describer.py,sha256=hBpGnF1nmD6iwQCUbbGfVakZFgukTnohROhDERJnhdc,19209
|
312
|
+
localstack/services/cloudformation/engine/v2/change_set_model_visitor.py,sha256=q_nOPzvhsP3y0auCedAhTW251HuNcEBh_gCT8rEzYYE,4503
|
313
313
|
localstack/services/cloudformation/models/__init__.py,sha256=da1PTClDMl-IBkrSvq6JC1lnS-K_BASzCvxVhNxN5Ls,13
|
314
314
|
localstack/services/cloudformation/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
315
315
|
localstack/services/cloudformation/resource_providers/aws_cloudformation_macro.py,sha256=Grn3dP1jANRlVO9HyKQV5GHv0x1eNRBeaIYhgn-FKv4,2812
|
@@ -1266,13 +1266,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
|
|
1266
1266
|
localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1267
1267
|
localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
|
1268
1268
|
localstack/utils/xray/traceid.py,sha256=SQSsMV2rhbTNK6ceIoozZYuGU7Fg687EXcgqxoDl1Fw,1106
|
1269
|
-
localstack_core-4.2.1.
|
1270
|
-
localstack_core-4.2.1.
|
1271
|
-
localstack_core-4.2.1.
|
1272
|
-
localstack_core-4.2.1.
|
1273
|
-
localstack_core-4.2.1.
|
1274
|
-
localstack_core-4.2.1.
|
1275
|
-
localstack_core-4.2.1.
|
1276
|
-
localstack_core-4.2.1.
|
1277
|
-
localstack_core-4.2.1.
|
1278
|
-
localstack_core-4.2.1.
|
1269
|
+
localstack_core-4.2.1.dev82.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
|
1270
|
+
localstack_core-4.2.1.dev82.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
|
1271
|
+
localstack_core-4.2.1.dev82.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
|
1272
|
+
localstack_core-4.2.1.dev82.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
|
1273
|
+
localstack_core-4.2.1.dev82.dist-info/METADATA,sha256=hyI9ITq4_CAZNC3HtwG8uG3sHoneICP0bLs7NaUkF9A,5502
|
1274
|
+
localstack_core-4.2.1.dev82.dist-info/WHEEL,sha256=DK49LOLCYiurdXXOXwGJm6U4DkHkg4lcxjhqwRa0CP4,91
|
1275
|
+
localstack_core-4.2.1.dev82.dist-info/entry_points.txt,sha256=UqGFR0MPKa2sfresdqiCpqBZuWyRxCb3UG77oPVMzVA,20564
|
1276
|
+
localstack_core-4.2.1.dev82.dist-info/plux.json,sha256=QMQOEbnNx0I_R6jGuMUy4hehKzfQtBpZeERU0iYVbMY,20786
|
1277
|
+
localstack_core-4.2.1.dev82.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
|
1278
|
+
localstack_core-4.2.1.dev82.dist-info/RECORD,,
|
@@ -0,0 +1 @@
|
|
1
|
+
{"localstack.hooks.on_infra_start": ["register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "_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", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "_publish_config_as_analytics_event=localstack.runtime.analytics:_publish_config_as_analytics_event", "_publish_container_info=localstack.runtime.analytics:_publish_container_info", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger"], "localstack.cloudformation.resource_providers": ["AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "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::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "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::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin"], "localstack.packages": ["dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_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", "lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package"], "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.on_infra_shutdown": ["stop_server=localstack.dns.plugins:stop_server", "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_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_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"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "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.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "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.cloudformation.resource_providers": ["AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "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::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "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::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "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::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin"], "localstack.hooks.on_infra_start": ["apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "_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", "_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", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.packages": ["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", "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", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.hooks.on_infra_shutdown": ["publish_metrics=localstack.utils.analytics.metrics:publish_metrics", "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", "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", "aggregate_and_send=localstack.utils.analytics.usage:aggregate_and_send"], "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"], "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.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.runtime.components": ["aws=localstack.aws.components:AwsComponents"]}
|
File without changes
|
{localstack_core-4.2.1.dev80.data → localstack_core-4.2.1.dev82.data}/scripts/localstack-supervisor
RENAMED
File without changes
|
{localstack_core-4.2.1.dev80.data → localstack_core-4.2.1.dev82.data}/scripts/localstack.bat
RENAMED
File without changes
|
{localstack_core-4.2.1.dev80.dist-info → localstack_core-4.2.1.dev82.dist-info}/entry_points.txt
RENAMED
File without changes
|
{localstack_core-4.2.1.dev80.dist-info → localstack_core-4.2.1.dev82.dist-info}/licenses/LICENSE.txt
RENAMED
File without changes
|
{localstack_core-4.2.1.dev80.dist-info → localstack_core-4.2.1.dev82.dist-info}/top_level.txt
RENAMED
File without changes
|