localstack-core 4.7.1.dev27__py3-none-any.whl → 4.7.1.dev28__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.
@@ -441,7 +441,7 @@ class ChangeSetModelExecutor(ChangeSetModelPreproc):
441
441
  LOG.warning(
442
442
  "Resource provider operation failed: '%s'",
443
443
  reason,
444
- exc_info=LOG.isEnabledFor(logging.DEBUG),
444
+ exc_info=LOG.isEnabledFor(logging.DEBUG) and config.CFN_VERBOSE_ERRORS,
445
445
  )
446
446
  event = ProgressEvent(
447
447
  OperationStatus.FAILED,
@@ -47,6 +47,7 @@ from localstack.services.cloudformation.engine.v2.resolving import (
47
47
  extract_dynamic_reference,
48
48
  perform_dynamic_reference_lookup,
49
49
  )
50
+ from localstack.services.cloudformation.engine.validations import ValidationError
50
51
  from localstack.services.cloudformation.stores import (
51
52
  exports_map,
52
53
  )
@@ -75,6 +76,8 @@ TAfter = TypeVar("TAfter")
75
76
 
76
77
  MOCKED_REFERENCE = "unknown"
77
78
 
79
+ VALID_LOGICAL_RESOURCE_ID_RE = re.compile(r"^[A-Za-z0-9]+$")
80
+
78
81
 
79
82
  class PreprocEntityDelta(Generic[TBefore, TAfter]):
80
83
  before: Maybe[TBefore]
@@ -223,7 +226,9 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
223
226
  if node_resource.name == resource_name:
224
227
  self.visit(node_resource)
225
228
  return node_resource
226
- raise RuntimeError(f"No resource '{resource_name}' was found")
229
+ raise ValidationError(
230
+ f"Template format error: Unresolved resource dependencies [{resource_name}] in the Resources block of the template"
231
+ )
227
232
 
228
233
  def _get_node_property_for(
229
234
  self, property_name: str, node_resource: NodeResource
@@ -238,7 +243,8 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
238
243
  def _deployed_property_value_of(
239
244
  self, resource_logical_id: str, property_name: str, resolved_resources: dict
240
245
  ) -> Any:
241
- # TODO: typing around resolved resources is needed and should be reflected here.
246
+ # We have to override this function to make sure it does not try to access the
247
+ # resolved resource
242
248
 
243
249
  # Before we can obtain deployed value for a resource, we need to first ensure to
244
250
  # process the resource if this wasn't processed already. Ideally, values should only
@@ -372,8 +378,12 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
372
378
  node_mapping: NodeMapping = self._get_node_mapping(map_name=map_name)
373
379
  top_level_value = node_mapping.bindings.bindings.get(top_level_key)
374
380
  if not isinstance(top_level_value, NodeObject):
375
- raise RuntimeError()
381
+ error_key = "::".join([map_name, top_level_key, second_level_key])
382
+ raise ValidationError(f"Template error: Unable to get mapping for {error_key}")
376
383
  second_level_value = top_level_value.bindings.get(second_level_key)
384
+ if not isinstance(second_level_value, TerminalValue):
385
+ error_key = "::".join([map_name, top_level_key, second_level_key])
386
+ raise ValidationError(f"Template error: Unable to get mapping for {error_key}")
377
387
  mapping_value_delta = self.visit(second_level_value)
378
388
  return mapping_value_delta
379
389
 
@@ -1070,6 +1080,10 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
1070
1080
  def visit_node_resource(
1071
1081
  self, node_resource: NodeResource
1072
1082
  ) -> PreprocEntityDelta[PreprocResource, PreprocResource]:
1083
+ if not VALID_LOGICAL_RESOURCE_ID_RE.match(node_resource.name):
1084
+ raise ValidationError(
1085
+ f"Template format error: Resource name {node_resource.name} is non alphanumeric."
1086
+ )
1073
1087
  change_type = node_resource.change_type
1074
1088
  condition_before = Nothing
1075
1089
  condition_after = Nothing
@@ -1,53 +1,141 @@
1
1
  import re
2
+ from typing import Any
2
3
 
3
4
  from localstack.services.cloudformation.engine.v2.change_set_model import (
4
- NodeParameters,
5
- NodeResource,
5
+ Maybe,
6
+ NodeIntrinsicFunction,
6
7
  NodeTemplate,
8
+ Nothing,
7
9
  is_nothing,
8
10
  )
9
11
  from localstack.services.cloudformation.engine.v2.change_set_model_preproc import (
12
+ _PSEUDO_PARAMETERS,
13
+ ChangeSetModelPreproc,
10
14
  PreprocEntityDelta,
15
+ PreprocResource,
11
16
  )
12
- from localstack.services.cloudformation.engine.v2.change_set_model_visitor import (
13
- ChangeSetModelVisitor,
14
- )
15
- from localstack.services.cloudformation.engine.validations import ValidationError
16
- from localstack.services.cloudformation.v2.entities import ChangeSet
17
-
18
- VALID_LOGICAL_RESOURCE_ID_RE = re.compile(r"^[A-Za-z0-9]+$")
19
17
 
20
18
 
21
- class ChangeSetModelValidator(ChangeSetModelVisitor):
22
- def __init__(self, change_set: ChangeSet):
23
- self._change_set = change_set
24
-
19
+ class ChangeSetModelValidator(ChangeSetModelPreproc):
25
20
  def validate(self):
26
- self.visit(self._change_set.update_model.node_template)
21
+ self.process()
27
22
 
28
23
  def visit_node_template(self, node_template: NodeTemplate):
29
- self.visit(node_template.parameters)
24
+ self.visit(node_template.mappings)
30
25
  self.visit(node_template.resources)
31
26
 
32
- def visit_node_parameters(self, node_parameters: NodeParameters) -> PreprocEntityDelta:
33
- # check that all parameters have values
34
- invalid_parameters = []
35
- for node_parameter in node_parameters.parameters:
36
- self.visit(node_parameter)
37
- if is_nothing(node_parameter.default_value.value) and is_nothing(
38
- node_parameter.dynamic_value.value
27
+ def visit_node_intrinsic_function_fn_get_att(
28
+ self, node_intrinsic_function: NodeIntrinsicFunction
29
+ ) -> PreprocEntityDelta:
30
+ arguments_delta = self.visit(node_intrinsic_function.arguments)
31
+ before_arguments: Maybe[str | list[str]] = arguments_delta.before
32
+ after_arguments: Maybe[str | list[str]] = arguments_delta.after
33
+
34
+ before = self._before_cache.get(node_intrinsic_function.scope, Nothing)
35
+ if is_nothing(before) and not is_nothing(before_arguments):
36
+ before = ".".join(before_arguments)
37
+
38
+ after = self._after_cache.get(node_intrinsic_function.scope, Nothing)
39
+ if is_nothing(after) and not is_nothing(after_arguments):
40
+ after = ".".join(after_arguments)
41
+
42
+ return PreprocEntityDelta(before=before, after=after)
43
+
44
+ def visit_node_intrinsic_function_fn_sub(
45
+ self, node_intrinsic_function: NodeIntrinsicFunction
46
+ ) -> PreprocEntityDelta:
47
+ def _compute_sub(args: str | list[Any], select_before: bool) -> str:
48
+ # TODO: add further schema validation.
49
+ string_template: str
50
+ sub_parameters: dict
51
+ if isinstance(args, str):
52
+ string_template = args
53
+ sub_parameters = dict()
54
+ elif (
55
+ isinstance(args, list)
56
+ and len(args) == 2
57
+ and isinstance(args[0], str)
58
+ and isinstance(args[1], dict)
39
59
  ):
40
- invalid_parameters.append(node_parameter.name)
60
+ string_template = args[0]
61
+ sub_parameters = args[1]
62
+ else:
63
+ raise RuntimeError(
64
+ "Invalid arguments shape for Fn::Sub, expected a String "
65
+ f"or a Tuple of String and Map but got '{args}'"
66
+ )
67
+ sub_string = string_template
68
+ template_variable_names = re.findall("\\${([^}]+)}", string_template)
69
+ for template_variable_name in template_variable_names:
70
+ template_variable_value = Nothing
71
+
72
+ # Try to resolve the variable name as pseudo parameter.
73
+ if template_variable_name in _PSEUDO_PARAMETERS:
74
+ template_variable_value = self._resolve_pseudo_parameter(
75
+ pseudo_parameter_name=template_variable_name
76
+ )
77
+
78
+ # Try to resolve the variable name as an entry to the defined parameters.
79
+ elif template_variable_name in sub_parameters:
80
+ template_variable_value = sub_parameters[template_variable_name]
81
+
82
+ # Try to resolve the variable name as GetAtt.
83
+ elif "." in template_variable_name:
84
+ try:
85
+ template_variable_value = self._resolve_attribute(
86
+ arguments=template_variable_name, select_before=select_before
87
+ )
88
+ except RuntimeError:
89
+ pass
90
+
91
+ # Try to resolve the variable name as Ref.
92
+ else:
93
+ try:
94
+ resource_delta = self._resolve_reference(logical_id=template_variable_name)
95
+ template_variable_value = (
96
+ resource_delta.before if select_before else resource_delta.after
97
+ )
98
+ if isinstance(template_variable_value, PreprocResource):
99
+ template_variable_value = template_variable_value.physical_resource_id
100
+ except RuntimeError:
101
+ pass
102
+
103
+ if is_nothing(template_variable_value):
104
+ # override the base method just for this line to prevent accessing the
105
+ # resource properties since we are not deploying any resources
106
+ template_variable_value = ""
107
+
108
+ if not isinstance(template_variable_value, str):
109
+ template_variable_value = str(template_variable_value)
41
110
 
42
- if invalid_parameters:
43
- raise ValidationError(f"Parameters: [{','.join(invalid_parameters)}] must have values")
111
+ sub_string = sub_string.replace(
112
+ f"${{{template_variable_name}}}", template_variable_value
113
+ )
44
114
 
45
- # continue visiting
46
- return super().visit_node_parameters(node_parameters)
115
+ # FIXME: the following type reduction is ported from v1; however it appears as though such
116
+ # reduction is not performed by the engine, and certainly not at this depth given the
117
+ # lack of context. This section should be removed with Fn::Sub always retuning a string
118
+ # and the resource providers reviewed.
119
+ account_id = self._change_set.account_id
120
+ is_another_account_id = sub_string.isdigit() and len(sub_string) == len(account_id)
121
+ if sub_string == account_id or is_another_account_id:
122
+ result = sub_string
123
+ elif sub_string.isdigit():
124
+ result = int(sub_string)
125
+ else:
126
+ try:
127
+ result = float(sub_string)
128
+ except ValueError:
129
+ result = sub_string
130
+ return result
47
131
 
48
- def visit_node_resource(self, node_resource: NodeResource) -> PreprocEntityDelta:
49
- if not VALID_LOGICAL_RESOURCE_ID_RE.match(node_resource.name):
50
- raise ValidationError(
51
- f"Template format error: Resource name {node_resource.name} is non alphanumeric."
52
- )
53
- return super().visit_node_resource(node_resource)
132
+ arguments_delta = self.visit(node_intrinsic_function.arguments)
133
+ arguments_before = arguments_delta.before
134
+ arguments_after = arguments_delta.after
135
+ before = self._before_cache.get(node_intrinsic_function.scope, Nothing)
136
+ if is_nothing(before) and not is_nothing(arguments_before):
137
+ before = _compute_sub(args=arguments_before, select_before=True)
138
+ after = self._after_cache.get(node_intrinsic_function.scope, Nothing)
139
+ if is_nothing(after) and not is_nothing(arguments_after):
140
+ after = _compute_sub(args=arguments_after, select_before=False)
141
+ return PreprocEntityDelta(before=before, after=after)
@@ -236,7 +236,7 @@ def get_resource_type(resource: dict) -> str:
236
236
  LOG.warning(
237
237
  "Failed to retrieve resource type %s",
238
238
  resource.get("Type"),
239
- exc_info=LOG.isEnabledFor(logging.DEBUG),
239
+ exc_info=LOG.isEnabledFor(logging.DEBUG) and config.CFN_VERBOSE_ERRORS,
240
240
  )
241
241
 
242
242
 
@@ -577,7 +577,7 @@ class ResourceProviderExecutor:
577
577
  LOG.warning(
578
578
  "Failed to load PRO resource type %s as a ResourceProvider.",
579
579
  resource_type,
580
- exc_info=LOG.isEnabledFor(logging.DEBUG),
580
+ exc_info=LOG.isEnabledFor(logging.DEBUG) and config.CFN_VERBOSE_ERRORS,
581
581
  )
582
582
 
583
583
  # 2. try to load community resource provider
@@ -592,7 +592,7 @@ class ResourceProviderExecutor:
592
592
  LOG.warning(
593
593
  "Failed to load community resource type %s as a ResourceProvider.",
594
594
  resource_type,
595
- exc_info=LOG.isEnabledFor(logging.DEBUG),
595
+ exc_info=LOG.isEnabledFor(logging.DEBUG) and config.CFN_VERBOSE_ERRORS,
596
596
  )
597
597
 
598
598
  # we could not find the resource provider
@@ -5,8 +5,10 @@ from collections import defaultdict
5
5
  from datetime import UTC, datetime
6
6
  from typing import Any
7
7
 
8
+ from localstack import config
8
9
  from localstack.aws.api import RequestContext, handler
9
10
  from localstack.aws.api.cloudformation import (
11
+ AlreadyExistsException,
10
12
  CallAs,
11
13
  Changes,
12
14
  ChangeSetNameOrId,
@@ -213,6 +215,7 @@ class CloudformationProviderV2(CloudformationProvider):
213
215
  ) -> dict[str, EngineParameter]:
214
216
  template_parameters = template.get("Parameters", {})
215
217
  resolved_parameters = {}
218
+ invalid_parameters = []
216
219
  for name, parameter in template_parameters.items():
217
220
  given_value = parameters.get(name)
218
221
  default_value = parameter.get("Default")
@@ -231,10 +234,14 @@ class CloudformationProviderV2(CloudformationProvider):
231
234
  f"Parameter {name} should either have input value or default value"
232
235
  )
233
236
  elif given_value is None and default_value is None:
234
- raise ValidationError(f"Parameters: [{name}] must have values")
237
+ invalid_parameters.append(name)
238
+ continue
235
239
 
236
240
  resolved_parameters[name] = resolved_parameter
237
241
 
242
+ if invalid_parameters:
243
+ raise ValidationError(f"Parameters: [{','.join(invalid_parameters)}] must have values")
244
+
238
245
  for name, parameter in resolved_parameters.items():
239
246
  if (
240
247
  parameter.get("resolved_value") is None
@@ -539,7 +546,9 @@ class CloudformationProviderV2(CloudformationProvider):
539
546
  change_set.stack.template_body = change_set.template_body
540
547
  except Exception as e:
541
548
  LOG.error(
542
- "Execute change set failed: %s", e, exc_info=LOG.isEnabledFor(logging.WARNING)
549
+ "Execute change set failed: %s",
550
+ e,
551
+ exc_info=LOG.isEnabledFor(logging.DEBUG) and config.CFN_VERBOSE_ERRORS,
543
552
  )
544
553
  new_stack_status = StackStatus.UPDATE_FAILED
545
554
  if change_set.change_set_type == ChangeSetType.CREATE:
@@ -645,6 +654,26 @@ class CloudformationProviderV2(CloudformationProvider):
645
654
  raise ValidationError("StackName must be specified")
646
655
 
647
656
  state = get_cloudformation_store(context.account_id, context.region)
657
+
658
+ active_stack_candidates = [
659
+ stack
660
+ for stack in state.stacks_v2.values()
661
+ if stack.stack_name == stack_name and stack.status not in [StackStatus.DELETE_COMPLETE]
662
+ ]
663
+
664
+ # TODO: fix/implement this code path
665
+ # this needs more investigation how Cloudformation handles it (e.g. normal stack create or does it create a separate changeset?)
666
+ # REVIEW_IN_PROGRESS is another special status
667
+ # in this case existing changesets are set to obsolete and the stack is created
668
+ # review_stack_candidates = [s for s in stack_candidates if s.status == StackStatus.REVIEW_IN_PROGRESS]
669
+ # if review_stack_candidates:
670
+ # set changesets to obsolete
671
+ # for cs in review_stack_candidates[0].change_sets:
672
+ # cs.execution_status = ExecutionStatus.OBSOLETE
673
+
674
+ if active_stack_candidates:
675
+ raise AlreadyExistsException(f"Stack [{stack_name}] already exists")
676
+
648
677
  # TODO: copied from create_change_set, consider unifying
649
678
  template_body = request.get("TemplateBody")
650
679
  # s3 or secretsmanager url
@@ -724,7 +753,9 @@ class CloudformationProviderV2(CloudformationProvider):
724
753
  stack.resolved_parameters = change_set.resolved_parameters
725
754
  except Exception as e:
726
755
  LOG.error(
727
- "Create Stack set failed: %s", e, exc_info=LOG.isEnabledFor(logging.WARNING)
756
+ "Create Stack set failed: %s",
757
+ e,
758
+ exc_info=LOG.isEnabledFor(logging.WARNING) and config.CFN_VERBOSE_ERRORS,
728
759
  )
729
760
  stack.set_stack_status(StackStatus.CREATE_FAILED)
730
761
 
@@ -754,9 +785,7 @@ class CloudformationProviderV2(CloudformationProvider):
754
785
  if stack_name:
755
786
  stack = find_stack_v2(state, stack_name)
756
787
  if not stack:
757
- raise StackNotFoundError(
758
- stack_name, message_override=f"Stack with id {stack_name} does not exist"
759
- )
788
+ raise ValidationError(f"Stack with id {stack_name} does not exist")
760
789
  stacks = [stack]
761
790
  else:
762
791
  stacks = state.stacks_v2.values()
@@ -1356,7 +1385,11 @@ class CloudformationProviderV2(CloudformationProvider):
1356
1385
  stack.template_body = change_set.template_body
1357
1386
  stack.resolved_parameters = change_set.resolved_parameters
1358
1387
  except Exception as e:
1359
- LOG.error("Update Stack failed: %s", e, exc_info=LOG.isEnabledFor(logging.WARNING))
1388
+ LOG.error(
1389
+ "Update Stack failed: %s",
1390
+ e,
1391
+ exc_info=LOG.isEnabledFor(logging.WARNING) and config.CFN_VERBOSE_ERRORS,
1392
+ )
1360
1393
  stack.set_stack_status(StackStatus.UPDATE_FAILED)
1361
1394
 
1362
1395
  start_worker_thread(_run)
@@ -1419,7 +1452,7 @@ class CloudformationProviderV2(CloudformationProvider):
1419
1452
  "Failed to delete stack '%s': %s",
1420
1453
  stack.stack_name,
1421
1454
  e,
1422
- exc_info=LOG.isEnabledFor(logging.DEBUG),
1455
+ exc_info=LOG.isEnabledFor(logging.DEBUG) and config.CFN_VERBOSE_ERRORS,
1423
1456
  )
1424
1457
  stack.set_stack_status(StackStatus.DELETE_FAILED)
1425
1458
 
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.7.1.dev27'
21
- __version_tuple__ = version_tuple = (4, 7, 1, 'dev27')
20
+ __version__ = version = '4.7.1.dev28'
21
+ __version_tuple__ = version_tuple = (4, 7, 1, 'dev28')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localstack-core
3
- Version: 4.7.1.dev27
3
+ Version: 4.7.1.dev28
4
4
  Summary: The core library and runtime of LocalStack
5
5
  Author-email: LocalStack Contributors <info@localstack.cloud>
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ localstack/deprecations.py,sha256=78Sf99fgH3ckJ20a9SMqsu01r1cm5GgcomkuY4yDMDo,15
4
4
  localstack/openapi.yaml,sha256=B803NmpwsxG8PHpHrdZYBrUYjnrRh7B_JX0XuNynuFs,30237
5
5
  localstack/plugins.py,sha256=BIJC9dlo0WbP7lLKkCiGtd_2q5oeqiHZohvoRTcejXM,2457
6
6
  localstack/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- localstack/version.py,sha256=shQ1eUIy2LwveOq2YBbfosS2PTDrEIMjLGrfFnw1pVA,526
7
+ localstack/version.py,sha256=xkpL5ul3WGnuFXsU0YU5SrOcVBYeaEKiGFbkenBXfk8,526
8
8
  localstack/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  localstack/aws/accounts.py,sha256=102zpGowOxo0S6UGMpfjw14QW7WCLVAGsnFK5xFMLoo,3043
10
10
  localstack/aws/app.py,sha256=n9bJCfJRuMz_gLGAH430c3bIQXgUXeWO5NPfcdL2MV8,5145
@@ -291,7 +291,7 @@ localstack/services/cloudformation/deployment_utils.py,sha256=Owe6QgvJ0rpqPlwLlt
291
291
  localstack/services/cloudformation/plugins.py,sha256=8E1i9U65RnjZJoXz214ceV8OXcnpHNU44unK3raXkWs,336
292
292
  localstack/services/cloudformation/provider.py,sha256=U79fqNKc8X6po8Gv4fuzuhSoMq-xIhXa3Q516PBooNo,52921
293
293
  localstack/services/cloudformation/provider_utils.py,sha256=CBHP5AkfKbgVhO_JEDkiHpvksN2Kv6szLdjBtYjXc2w,8984
294
- localstack/services/cloudformation/resource_provider.py,sha256=VsdoBwEnHs_7cQyTeWVg8xk8ZfzB_s_wGS69mCYQ3IU,23071
294
+ localstack/services/cloudformation/resource_provider.py,sha256=ORwN3rRow6XvxN6zZnly7FdzW75wsfEKapPx0yZM89g,23161
295
295
  localstack/services/cloudformation/service_models.py,sha256=uo2sr2PIazsdE0-PfdoaaG9BEbKpjPP8ChCIJfX0pm8,5186
296
296
  localstack/services/cloudformation/stores.py,sha256=fEFa93666XDJMkfQl04tYaLBZNPwhEL8v3XDrDZ1sMk,5495
297
297
  localstack/services/cloudformation/engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -313,10 +313,10 @@ localstack/services/cloudformation/engine/yaml_parser.py,sha256=LQpAVq9Syze9jXUG
313
313
  localstack/services/cloudformation/engine/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
314
314
  localstack/services/cloudformation/engine/v2/change_set_model.py,sha256=EErVcOi3PtMfDSTJfPpgM0LabgnkE95JyG6AM8-6a3o,58218
315
315
  localstack/services/cloudformation/engine/v2/change_set_model_describer.py,sha256=m5L2DRkQjxU-CXEHhdMwptQuYWwXHpcDNv1kqt15cYI,10401
316
- localstack/services/cloudformation/engine/v2/change_set_model_executor.py,sha256=PEiO0HioNXAjISUNDRRAaWWsgcibbJl4tUwsS-a5tOM,25809
317
- localstack/services/cloudformation/engine/v2/change_set_model_preproc.py,sha256=7JH88z2_3HDLw5zRr7AaJlI5jpKsM36qTyuob7wnIHo,51693
316
+ localstack/services/cloudformation/engine/v2/change_set_model_executor.py,sha256=P26nKtTcK_bxSONY9JiS0DSYpxjQIooXQAOlbX-cTmk,25839
317
+ localstack/services/cloudformation/engine/v2/change_set_model_preproc.py,sha256=QnH7Ok9RMV8KlfLU9FtsWGdMdJdka_QHvmMiHOybbek,52550
318
318
  localstack/services/cloudformation/engine/v2/change_set_model_transform.py,sha256=vynAvpnRQv7F0G0Z6g3gFmwtfdaeX71TBlZWMKctawg,13395
319
- localstack/services/cloudformation/engine/v2/change_set_model_validator.py,sha256=NfS6TxbmMSXLbqba4be6wyWMgCGiQhsbqJ-9r49D_-E,2044
319
+ localstack/services/cloudformation/engine/v2/change_set_model_validator.py,sha256=tfFIQaY27v0PI9L2tMZfhQ47ODrMWg9czucXa6iePeE,6345
320
320
  localstack/services/cloudformation/engine/v2/change_set_model_visitor.py,sha256=ygUVPgM3b8SAXLLhLeGSD2k_Oo81ukFkug6bcmvRSJg,7843
321
321
  localstack/services/cloudformation/engine/v2/resolving.py,sha256=ot76GycQsw6Y9SvxB8sAlK7tRntJb5CTrKYqyEnfiHc,4002
322
322
  localstack/services/cloudformation/models/__init__.py,sha256=da1PTClDMl-IBkrSvq6JC1lnS-K_BASzCvxVhNxN5Ls,13
@@ -337,7 +337,7 @@ localstack/services/cloudformation/scaffolding/__main__.py,sha256=K25POLQlhmM_-l
337
337
  localstack/services/cloudformation/scaffolding/propgen.py,sha256=id7l43zsJsTgUyQ8F3jpfbpEoicc8GC6cB2ESEktDxc,7936
338
338
  localstack/services/cloudformation/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
339
339
  localstack/services/cloudformation/v2/entities.py,sha256=LOqBpe-H0eKumd9HSbXwriUumrjrmw5YO2hvChbv7aQ,10944
340
- localstack/services/cloudformation/v2/provider.py,sha256=-inBZatqTzt50ujjtlmxZD5xLCB4ku_MoIyROz6r9-0,59048
340
+ localstack/services/cloudformation/v2/provider.py,sha256=NDhWGu8ULV8d6vtiT0ySLwT0iwD_qyBAVm54c7xQ43c,60442
341
341
  localstack/services/cloudformation/v2/utils.py,sha256=xy4Lcp4X8XGJ0OKfnsE7pnfMcFrtIH0Chw35qwjhZuw,148
342
342
  localstack/services/cloudwatch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
343
343
  localstack/services/cloudwatch/alarm_scheduler.py,sha256=ZgvNwcWn-uI51zCz2Vecchu2jhLlJr2eh9QryE34Pv0,15630
@@ -1285,13 +1285,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
1285
1285
  localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1286
1286
  localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
1287
1287
  localstack/utils/xray/traceid.py,sha256=SQSsMV2rhbTNK6ceIoozZYuGU7Fg687EXcgqxoDl1Fw,1106
1288
- localstack_core-4.7.1.dev27.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1289
- localstack_core-4.7.1.dev27.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1290
- localstack_core-4.7.1.dev27.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1291
- localstack_core-4.7.1.dev27.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1292
- localstack_core-4.7.1.dev27.dist-info/METADATA,sha256=mXF1ieYST-zjLHWWGfctxlBuCA7H9hj1nrrMw1z6Fys,5570
1293
- localstack_core-4.7.1.dev27.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1294
- localstack_core-4.7.1.dev27.dist-info/entry_points.txt,sha256=-GFtw80qM_1GQIDUcyqXojJvnqvP_8lK1Vc-M9ShaJE,20668
1295
- localstack_core-4.7.1.dev27.dist-info/plux.json,sha256=IRYicp2H0EDzudisawtbuRyL8HlmswkehQ8CyHsgWl0,20891
1296
- localstack_core-4.7.1.dev27.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1297
- localstack_core-4.7.1.dev27.dist-info/RECORD,,
1288
+ localstack_core-4.7.1.dev28.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1289
+ localstack_core-4.7.1.dev28.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1290
+ localstack_core-4.7.1.dev28.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1291
+ localstack_core-4.7.1.dev28.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1292
+ localstack_core-4.7.1.dev28.dist-info/METADATA,sha256=PkchUozjV4svvdcMiGEevoduHJ_GudXJwmrwhHnHT-U,5570
1293
+ localstack_core-4.7.1.dev28.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1294
+ localstack_core-4.7.1.dev28.dist-info/entry_points.txt,sha256=-GFtw80qM_1GQIDUcyqXojJvnqvP_8lK1Vc-M9ShaJE,20668
1295
+ localstack_core-4.7.1.dev28.dist-info/plux.json,sha256=BXOYjZ2cVI4p5Dmkg8gY0pE1z3I-daHs6dXOslKGgcg,20891
1296
+ localstack_core-4.7.1.dev28.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1297
+ localstack_core-4.7.1.dev28.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"localstack.cloudformation.resource_providers": ["AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "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::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "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::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "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::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "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::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "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::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin"], "localstack.hooks.on_infra_start": ["init_response_mutation_handler=localstack.aws.handlers.response:init_response_mutation_handler", "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", "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", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "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", "eager_load_services=localstack.services.plugins:eager_load_services", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "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"], "localstack.packages": ["kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "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", "lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.hooks.configure_localstack_container": ["_mount_machine_file=localstack.utils.analytics.metadata:_mount_machine_file"], "localstack.hooks.prepare_host": ["prepare_host_machine_id=localstack.utils.analytics.metadata:prepare_host_machine_id"], "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", "publish_metrics=localstack.utils.analytics.metrics.publisher:publish_metrics", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "stop_server=localstack.dns.plugins:stop_server", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints"], "localstack.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.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.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"]}
@@ -1 +0,0 @@
1
- {"localstack.cloudformation.resource_providers": ["AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "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::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "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::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "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::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin"], "localstack.hooks.on_infra_start": ["register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "init_response_mutation_handler=localstack.aws.handlers.response:init_response_mutation_handler", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "eager_load_services=localstack.services.plugins:eager_load_services", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "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", "_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", "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", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server"], "localstack.packages": ["ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package"], "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.hooks.on_infra_shutdown": ["_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "publish_metrics=localstack.utils.analytics.metrics.publisher:publish_metrics", "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.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "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"]}