localstack-core 4.5.1.dev7__py3-none-any.whl → 4.5.1.dev12__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.
@@ -415,7 +415,10 @@ OutputsKey: Final[str] = "Outputs"
415
415
  DependsOnKey: Final[str] = "DependsOn"
416
416
  # TODO: expand intrinsic functions set.
417
417
  RefKey: Final[str] = "Ref"
418
+ RefConditionKey: Final[str] = "Condition"
418
419
  FnIfKey: Final[str] = "Fn::If"
420
+ FnAnd: Final[str] = "Fn::And"
421
+ FnOr: Final[str] = "Fn::Or"
419
422
  FnNotKey: Final[str] = "Fn::Not"
420
423
  FnJoinKey: Final[str] = "Fn::Join"
421
424
  FnGetAttKey: Final[str] = "Fn::GetAtt"
@@ -429,7 +432,10 @@ FnGetAZs: Final[str] = "Fn::GetAZs"
429
432
  FnBase64: Final[str] = "Fn::Base64"
430
433
  INTRINSIC_FUNCTIONS: Final[set[str]] = {
431
434
  RefKey,
435
+ RefConditionKey,
432
436
  FnIfKey,
437
+ FnAnd,
438
+ FnOr,
433
439
  FnNotKey,
434
440
  FnJoinKey,
435
441
  FnEqualsKey,
@@ -534,6 +540,13 @@ class ChangeSetModel:
534
540
  self._visited_scopes[scope] = node_intrinsic_function
535
541
  return node_intrinsic_function
536
542
 
543
+ def _resolve_intrinsic_function_fn_sub(self, arguments: ChangeSetEntity) -> ChangeType:
544
+ # TODO: This routine should instead export the implicit Ref and GetAtt calls within the first
545
+ # string template parameter and compute the respective change set types. Currently,
546
+ # changes referenced by Fn::Sub templates are only picked up during preprocessing; not
547
+ # at modelling.
548
+ return arguments.change_type
549
+
537
550
  def _resolve_intrinsic_function_fn_get_att(self, arguments: ChangeSetEntity) -> ChangeType:
538
551
  # TODO: add support for nested intrinsic functions.
539
552
  # TODO: validate arguments structure and type.
@@ -586,6 +599,18 @@ class ChangeSetModel:
586
599
  node_resource = self._retrieve_or_visit_resource(resource_name=logical_id)
587
600
  return node_resource.change_type
588
601
 
602
+ def _resolve_intrinsic_function_condition(self, arguments: ChangeSetEntity) -> ChangeType:
603
+ if arguments.change_type != ChangeType.UNCHANGED:
604
+ return arguments.change_type
605
+ if not isinstance(arguments, TerminalValue):
606
+ return arguments.change_type
607
+
608
+ condition_name = arguments.value
609
+ node_condition = self._retrieve_condition_if_exists(condition_name=condition_name)
610
+ if isinstance(node_condition, NodeCondition):
611
+ return node_condition.change_type
612
+ raise RuntimeError(f"Undefined condition '{condition_name}'")
613
+
589
614
  def _resolve_intrinsic_function_fn_find_in_map(self, arguments: ChangeSetEntity) -> ChangeType:
590
615
  if arguments.change_type != ChangeType.UNCHANGED:
591
616
  return arguments.change_type
@@ -8,7 +8,6 @@ from localstack.services.cloudformation.engine.v2.change_set_model import (
8
8
  NodeIntrinsicFunction,
9
9
  NodeProperty,
10
10
  NodeResource,
11
- Nothing,
12
11
  PropertiesKey,
13
12
  is_nothing,
14
13
  )
@@ -41,66 +40,44 @@ class ChangeSetModelDescriber(ChangeSetModelPreproc):
41
40
  self.process()
42
41
  return self._changes
43
42
 
44
- def visit_node_intrinsic_function_fn_get_att(
45
- self, node_intrinsic_function: NodeIntrinsicFunction
46
- ) -> PreprocEntityDelta:
43
+ def _resolve_attribute(self, arguments: str | list[str], select_before: bool) -> str:
44
+ if select_before:
45
+ return super()._resolve_attribute(arguments=arguments, select_before=select_before)
46
+
47
+ # Replicate AWS's limitations in describing change set's updated values.
47
48
  # Consideration: If we can properly compute the before and after value, why should we
48
- # artificially limit the precision of our output to match AWS's?
49
-
50
- arguments_delta = self.visit(node_intrinsic_function.arguments)
51
- before_argument: Optional[list[str]] = arguments_delta.before
52
- if isinstance(before_argument, str):
53
- before_argument = before_argument.split(".")
54
- after_argument: Optional[list[str]] = arguments_delta.after
55
- if isinstance(after_argument, str):
56
- after_argument = after_argument.split(".")
57
-
58
- before = Nothing
59
- if not is_nothing(before_argument):
60
- before_logical_name_of_resource = before_argument[0]
61
- before_attribute_name = before_argument[1]
62
- before_node_resource = self._get_node_resource_for(
63
- resource_name=before_logical_name_of_resource, node_template=self._node_template
64
- )
65
- before_node_property: Optional[NodeProperty] = self._get_node_property_for(
66
- property_name=before_attribute_name, node_resource=before_node_resource
67
- )
68
- if before_node_property is not None:
69
- before_property_delta = self.visit(before_node_property)
70
- before = before_property_delta.before
49
+ # artificially limit the precision of our output to match AWS's?
50
+
51
+ arguments_list: list[str]
52
+ if isinstance(arguments, str):
53
+ arguments_list = arguments.split(".")
54
+ else:
55
+ arguments_list = arguments
56
+ logical_name_of_resource = arguments_list[0]
57
+ attribute_name = arguments_list[1]
58
+
59
+ node_resource = self._get_node_resource_for(
60
+ resource_name=logical_name_of_resource, node_template=self._node_template
61
+ )
62
+ node_property: Optional[NodeProperty] = self._get_node_property_for(
63
+ property_name=attribute_name, node_resource=node_resource
64
+ )
65
+ if node_property is not None:
66
+ property_delta = self.visit(node_property)
67
+ if property_delta.before == property_delta.after:
68
+ value = property_delta.after
71
69
  else:
72
- before = self._before_deployed_property_value_of(
73
- resource_logical_id=before_logical_name_of_resource,
74
- property_name=before_attribute_name,
70
+ value = CHANGESET_KNOWN_AFTER_APPLY
71
+ else:
72
+ try:
73
+ value = self._after_deployed_property_value_of(
74
+ resource_logical_id=logical_name_of_resource,
75
+ property_name=attribute_name,
75
76
  )
77
+ except RuntimeError:
78
+ value = CHANGESET_KNOWN_AFTER_APPLY
76
79
 
77
- after = Nothing
78
- if not is_nothing(after_argument):
79
- after_logical_name_of_resource = after_argument[0]
80
- after_attribute_name = after_argument[1]
81
- after_node_resource = self._get_node_resource_for(
82
- resource_name=after_logical_name_of_resource, node_template=self._node_template
83
- )
84
- after_property_delta: PreprocEntityDelta
85
- after_node_property = self._get_node_property_for(
86
- property_name=after_attribute_name, node_resource=after_node_resource
87
- )
88
- if after_node_property is not None:
89
- after_property_delta = self.visit(after_node_property)
90
- if after_property_delta.before == after_property_delta.after:
91
- after = after_property_delta.after
92
- else:
93
- after = CHANGESET_KNOWN_AFTER_APPLY
94
- else:
95
- try:
96
- after = self._after_deployed_property_value_of(
97
- resource_logical_id=after_logical_name_of_resource,
98
- property_name=after_attribute_name,
99
- )
100
- except RuntimeError:
101
- after = CHANGESET_KNOWN_AFTER_APPLY
102
-
103
- return PreprocEntityDelta(before=before, after=after)
80
+ return value
104
81
 
105
82
  def visit_node_intrinsic_function_fn_join(
106
83
  self, node_intrinsic_function: NodeIntrinsicFunction
@@ -209,6 +186,9 @@ class ChangeSetModelDescriber(ChangeSetModelPreproc):
209
186
  self, node_resource: NodeResource
210
187
  ) -> PreprocEntityDelta[PreprocResource, PreprocResource]:
211
188
  delta = super().visit_node_resource(node_resource=node_resource)
189
+ after_resource = delta.after
190
+ if not is_nothing(after_resource) and after_resource.physical_resource_id is None:
191
+ after_resource.physical_resource_id = CHANGESET_KNOWN_AFTER_APPLY
212
192
  self._describe_resource_change(
213
193
  name=node_resource.name, before=delta.before, after=delta.after
214
194
  )
@@ -379,62 +379,56 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
379
379
  after[name] = delta_after
380
380
  return PreprocEntityDelta(before=before, after=after)
381
381
 
382
+ def _resolve_attribute(self, arguments: str | list[str], select_before: bool) -> str:
383
+ # TODO: add arguments validation.
384
+ arguments_list: list[str]
385
+ if isinstance(arguments, str):
386
+ arguments_list = arguments.split(".")
387
+ else:
388
+ arguments_list = arguments
389
+ logical_name_of_resource = arguments_list[0]
390
+ attribute_name = arguments_list[1]
391
+
392
+ node_resource = self._get_node_resource_for(
393
+ resource_name=logical_name_of_resource, node_template=self._node_template
394
+ )
395
+ node_property: Optional[NodeProperty] = self._get_node_property_for(
396
+ property_name=attribute_name, node_resource=node_resource
397
+ )
398
+ if node_property is not None:
399
+ # The property is statically defined in the template and its value can be computed.
400
+ property_delta = self.visit(node_property)
401
+ value = property_delta.before if select_before else property_delta.after
402
+ else:
403
+ # The property is not statically defined and must therefore be available in
404
+ # the properties deployed set.
405
+ if select_before:
406
+ value = self._before_deployed_property_value_of(
407
+ resource_logical_id=logical_name_of_resource,
408
+ property_name=attribute_name,
409
+ )
410
+ else:
411
+ value = self._after_deployed_property_value_of(
412
+ resource_logical_id=logical_name_of_resource,
413
+ property_name=attribute_name,
414
+ )
415
+ return value
416
+
382
417
  def visit_node_intrinsic_function_fn_get_att(
383
418
  self, node_intrinsic_function: NodeIntrinsicFunction
384
419
  ) -> PreprocEntityDelta:
385
420
  # TODO: validate the return value according to the spec.
386
421
  arguments_delta = self.visit(node_intrinsic_function.arguments)
387
- before_argument: Maybe[list[str]] = arguments_delta.before
388
- if isinstance(before_argument, str):
389
- before_argument = before_argument.split(".")
390
- after_argument: Maybe[list[str]] = arguments_delta.after
391
- if isinstance(after_argument, str):
392
- after_argument = after_argument.split(".")
422
+ before_arguments: Maybe[str | list[str]] = arguments_delta.before
423
+ after_arguments: Maybe[str | list[str]] = arguments_delta.after
393
424
 
394
425
  before = Nothing
395
- if before_argument:
396
- before_logical_name_of_resource = before_argument[0]
397
- before_attribute_name = before_argument[1]
398
-
399
- before_node_resource = self._get_node_resource_for(
400
- resource_name=before_logical_name_of_resource, node_template=self._node_template
401
- )
402
- before_node_property: Optional[NodeProperty] = self._get_node_property_for(
403
- property_name=before_attribute_name, node_resource=before_node_resource
404
- )
405
- if before_node_property is not None:
406
- # The property is statically defined in the template and its value can be computed.
407
- before_property_delta = self.visit(before_node_property)
408
- before = before_property_delta.before
409
- else:
410
- # The property is not statically defined and must therefore be available in
411
- # the properties deployed set.
412
- before = self._before_deployed_property_value_of(
413
- resource_logical_id=before_logical_name_of_resource,
414
- property_name=before_attribute_name,
415
- )
426
+ if not is_nothing(before_arguments):
427
+ before = self._resolve_attribute(arguments=before_arguments, select_before=True)
416
428
 
417
429
  after = Nothing
418
- if after_argument:
419
- after_logical_name_of_resource = after_argument[0]
420
- after_attribute_name = after_argument[1]
421
- after_node_resource = self._get_node_resource_for(
422
- resource_name=after_logical_name_of_resource, node_template=self._node_template
423
- )
424
- after_node_property = self._get_node_property_for(
425
- property_name=after_attribute_name, node_resource=after_node_resource
426
- )
427
- if after_node_property is not None:
428
- # The property is statically defined in the template and its value can be computed.
429
- after_property_delta = self.visit(after_node_property)
430
- after = after_property_delta.after
431
- else:
432
- # The property is not statically defined and must therefore be available in
433
- # the properties deployed set.
434
- after = self._after_deployed_property_value_of(
435
- resource_logical_id=after_logical_name_of_resource,
436
- property_name=after_attribute_name,
437
- )
430
+ if not is_nothing(after_arguments):
431
+ after = self._resolve_attribute(arguments=after_arguments, select_before=False)
438
432
 
439
433
  return PreprocEntityDelta(before=before, after=after)
440
434
 
@@ -478,6 +472,47 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
478
472
  after = after_outcome_delta.after
479
473
  return PreprocEntityDelta(before=before, after=after)
480
474
 
475
+ def visit_node_intrinsic_function_fn_and(
476
+ self, node_intrinsic_function: NodeIntrinsicFunction
477
+ ) -> PreprocEntityDelta:
478
+ arguments_delta = self.visit(node_intrinsic_function.arguments)
479
+ arguments_before = arguments_delta.before
480
+ arguments_after = arguments_delta.after
481
+
482
+ def _compute_fn_and(args: list[bool]):
483
+ result = all(args)
484
+ return result
485
+
486
+ before = Nothing
487
+ if not is_nothing(arguments_before):
488
+ before = _compute_fn_and(arguments_before)
489
+
490
+ after = Nothing
491
+ if not is_nothing(arguments_after):
492
+ after = _compute_fn_and(arguments_after)
493
+
494
+ return PreprocEntityDelta(before=before, after=after)
495
+
496
+ def visit_node_intrinsic_function_fn_or(
497
+ self, node_intrinsic_function: NodeIntrinsicFunction
498
+ ) -> PreprocEntityDelta:
499
+ arguments_delta = self.visit(node_intrinsic_function.arguments)
500
+ arguments_before = arguments_delta.before
501
+ arguments_after = arguments_delta.after
502
+
503
+ def _compute_fn_and(args: list[bool]):
504
+ result = any(args)
505
+ return result
506
+
507
+ before = Nothing
508
+ if not is_nothing(arguments_before):
509
+ before = _compute_fn_and(arguments_before)
510
+
511
+ after = Nothing
512
+ if not is_nothing(arguments_after):
513
+ after = _compute_fn_and(arguments_after)
514
+ return PreprocEntityDelta(before=before, after=after)
515
+
481
516
  def visit_node_intrinsic_function_fn_not(
482
517
  self, node_intrinsic_function: NodeIntrinsicFunction
483
518
  ) -> PreprocEntityDelta:
@@ -574,7 +609,7 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
574
609
  arguments_before = arguments_delta.before
575
610
  arguments_after = arguments_delta.after
576
611
 
577
- def _compute_sub(args: str | list[Any], select_before: bool = False) -> str:
612
+ def _compute_sub(args: str | list[Any], select_before: bool) -> str:
578
613
  # TODO: add further schema validation.
579
614
  string_template: str
580
615
  sub_parameters: dict
@@ -597,12 +632,28 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
597
632
  sub_string = string_template
598
633
  template_variable_names = re.findall("\\${([^}]+)}", string_template)
599
634
  for template_variable_name in template_variable_names:
635
+ template_variable_value = Nothing
636
+
637
+ # Try to resolve the variable name as pseudo parameter.
600
638
  if template_variable_name in _PSEUDO_PARAMETERS:
601
639
  template_variable_value = self._resolve_pseudo_parameter(
602
640
  pseudo_parameter_name=template_variable_name
603
641
  )
642
+
643
+ # Try to resolve the variable name as an entry to the defined parameters.
604
644
  elif template_variable_name in sub_parameters:
605
645
  template_variable_value = sub_parameters[template_variable_name]
646
+
647
+ # Try to resolve the variable name as GetAtt.
648
+ elif "." in template_variable_name:
649
+ try:
650
+ template_variable_value = self._resolve_attribute(
651
+ arguments=template_variable_name, select_before=select_before
652
+ )
653
+ except RuntimeError:
654
+ pass
655
+
656
+ # Try to resolve the variable name as Ref.
606
657
  else:
607
658
  try:
608
659
  resource_delta = self._resolve_reference(logical_id=template_variable_name)
@@ -610,22 +661,45 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
610
661
  resource_delta.before if select_before else resource_delta.after
611
662
  )
612
663
  if isinstance(template_variable_value, PreprocResource):
613
- template_variable_value = template_variable_value.logical_id
664
+ template_variable_value = template_variable_value.physical_resource_id
614
665
  except RuntimeError:
615
- raise RuntimeError(
616
- f"Undefined variable name in Fn::Sub string template '{template_variable_name}'"
617
- )
666
+ pass
667
+
668
+ if is_nothing(template_variable_value):
669
+ raise RuntimeError(
670
+ f"Undefined variable name in Fn::Sub string template '{template_variable_name}'"
671
+ )
672
+
673
+ if not isinstance(template_variable_value, str):
674
+ template_variable_value = str(template_variable_value)
675
+
618
676
  sub_string = sub_string.replace(
619
677
  f"${{{template_variable_name}}}", template_variable_value
620
678
  )
621
- return sub_string
679
+
680
+ # FIXME: the following type reduction is ported from v1; however it appears as though such
681
+ # reduction is not performed by the engine, and certainly not at this depth given the
682
+ # lack of context. This section should be removed with Fn::Sub always retuning a string
683
+ # and the resource providers reviewed.
684
+ account_id = self._change_set.account_id
685
+ is_another_account_id = sub_string.isdigit() and len(sub_string) == len(account_id)
686
+ if sub_string == account_id or is_another_account_id:
687
+ result = sub_string
688
+ elif sub_string.isdigit():
689
+ result = int(sub_string)
690
+ else:
691
+ try:
692
+ result = float(sub_string)
693
+ except ValueError:
694
+ result = sub_string
695
+ return result
622
696
 
623
697
  before = Nothing
624
698
  if not is_nothing(arguments_before):
625
699
  before = _compute_sub(args=arguments_before, select_before=True)
626
700
  after = Nothing
627
701
  if not is_nothing(arguments_after):
628
- after = _compute_sub(args=arguments_after)
702
+ after = _compute_sub(args=arguments_after, select_before=False)
629
703
  return PreprocEntityDelta(before=before, after=after)
630
704
 
631
705
  def visit_node_intrinsic_function_fn_join(
@@ -642,7 +716,13 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
642
716
  values: list[Any] = args[1]
643
717
  if not isinstance(values, list):
644
718
  raise RuntimeError(f"Invalid arguments list definition for Fn::Join: '{args}'")
645
- join_result = delimiter.join(map(str, values))
719
+ str_values: list[str] = list()
720
+ for value in values:
721
+ if value is None:
722
+ continue
723
+ str_value = str(value)
724
+ str_values.append(str_value)
725
+ join_result = delimiter.join(str_values)
646
726
  return join_result
647
727
 
648
728
  before = Nothing
@@ -728,14 +808,14 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
728
808
  account_id = self._change_set.account_id
729
809
  ec2_client = connect_to(aws_access_key_id=account_id, region_name=region).ec2
730
810
  try:
731
- describe_availability_zones_result: DescribeAvailabilityZonesResult = (
811
+ get_availability_zones_result: DescribeAvailabilityZonesResult = (
732
812
  ec2_client.describe_availability_zones()
733
813
  )
734
814
  except ClientError:
735
815
  raise RuntimeError(
736
816
  "Could not describe zones availability whilst evaluating Fn::GetAZs"
737
817
  )
738
- availability_zones: AvailabilityZoneList = describe_availability_zones_result[
818
+ availability_zones: AvailabilityZoneList = get_availability_zones_result[
739
819
  "AvailabilityZones"
740
820
  ]
741
821
  azs = [az["ZoneName"] for az in availability_zones]
@@ -861,6 +941,32 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
861
941
 
862
942
  return PreprocEntityDelta(before=before, after=after)
863
943
 
944
+ def visit_node_intrinsic_function_condition(
945
+ self, node_intrinsic_function: NodeIntrinsicFunction
946
+ ) -> PreprocEntityDelta:
947
+ arguments_delta = self.visit(node_intrinsic_function.arguments)
948
+ before_condition_name = arguments_delta.before
949
+ after_condition_name = arguments_delta.after
950
+
951
+ def _delta_of_condition(name: str) -> PreprocEntityDelta:
952
+ node_condition = self._get_node_condition_if_exists(condition_name=name)
953
+ if is_nothing(node_condition):
954
+ raise RuntimeError(f"Undefined condition '{name}'")
955
+ delta = self.visit(node_condition)
956
+ return delta
957
+
958
+ before = Nothing
959
+ if not is_nothing(before_condition_name):
960
+ before_delta = _delta_of_condition(before_condition_name)
961
+ before = before_delta.before
962
+
963
+ after = Nothing
964
+ if not is_nothing(after_condition_name):
965
+ after_delta = _delta_of_condition(after_condition_name)
966
+ after = after_delta.after
967
+
968
+ return PreprocEntityDelta(before=before, after=after)
969
+
864
970
  def visit_node_array(self, node_array: NodeArray) -> PreprocEntityDelta:
865
971
  node_change_type = node_array.change_type
866
972
  before = list() if node_change_type != ChangeType.CREATED else Nothing
@@ -144,6 +144,12 @@ class ChangeSetModelVisitor(abc.ABC):
144
144
  def visit_node_intrinsic_function_fn_if(self, node_intrinsic_function: NodeIntrinsicFunction):
145
145
  self.visit_children(node_intrinsic_function)
146
146
 
147
+ def visit_node_intrinsic_function_fn_and(self, node_intrinsic_function: NodeIntrinsicFunction):
148
+ self.visit_children(node_intrinsic_function)
149
+
150
+ def visit_node_intrinsic_function_fn_or(self, node_intrinsic_function: NodeIntrinsicFunction):
151
+ self.visit_children(node_intrinsic_function)
152
+
147
153
  def visit_node_intrinsic_function_fn_not(self, node_intrinsic_function: NodeIntrinsicFunction):
148
154
  self.visit_children(node_intrinsic_function)
149
155
 
@@ -158,6 +164,11 @@ class ChangeSetModelVisitor(abc.ABC):
158
164
  def visit_node_intrinsic_function_ref(self, node_intrinsic_function: NodeIntrinsicFunction):
159
165
  self.visit_children(node_intrinsic_function)
160
166
 
167
+ def visit_node_intrinsic_function_condition(
168
+ self, node_intrinsic_function: NodeIntrinsicFunction
169
+ ):
170
+ self.visit_children(node_intrinsic_function)
171
+
161
172
  def visit_node_divergence(self, node_divergence: NodeDivergence):
162
173
  self.visit_children(node_divergence)
163
174
 
localstack/version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '4.5.1.dev7'
21
- __version_tuple__ = version_tuple = (4, 5, 1, 'dev7')
20
+ __version__ = version = '4.5.1.dev12'
21
+ __version_tuple__ = version_tuple = (4, 5, 1, 'dev12')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localstack-core
3
- Version: 4.5.1.dev7
3
+ Version: 4.5.1.dev12
4
4
  Summary: The core library and runtime of LocalStack
5
5
  Author-email: LocalStack Contributors <info@localstack.cloud>
6
6
  License-Expression: Apache-2.0
@@ -4,7 +4,7 @@ localstack/deprecations.py,sha256=mNXTebZ8kSbQjFKz0LbT-g1Kdr0CE8bhEgZfHV3IX0s,15
4
4
  localstack/openapi.yaml,sha256=B803NmpwsxG8PHpHrdZYBrUYjnrRh7B_JX0XuNynuFs,30237
5
5
  localstack/plugins.py,sha256=BIJC9dlo0WbP7lLKkCiGtd_2q5oeqiHZohvoRTcejXM,2457
6
6
  localstack/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- localstack/version.py,sha256=y-IUl1IYeJxQPdY8qE6n6OLqRap_BbJ4BlEE1N4u5RU,524
7
+ localstack/version.py,sha256=9y3l-lHIoirO9OmVjgZgeJDR-DChYTuke79nz3z27tI,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
@@ -310,11 +310,11 @@ localstack/services/cloudformation/engine/types.py,sha256=YIhmTrO__obIviYvzzCovK
310
310
  localstack/services/cloudformation/engine/validations.py,sha256=brq7s8O8exA5kvnfzR9ulOtQ7i4konrWQs07-0h_ByE,2847
311
311
  localstack/services/cloudformation/engine/yaml_parser.py,sha256=LQpAVq9Syze9jXUGen9Mz8SjosBuodpV5XvsCSn9bDg,2164
312
312
  localstack/services/cloudformation/engine/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
313
- localstack/services/cloudformation/engine/v2/change_set_model.py,sha256=wKgDGw_rCmHmZbtR5_NfZ9mifCmRWwpjzwuAzynLVEA,48437
314
- localstack/services/cloudformation/engine/v2/change_set_model_describer.py,sha256=c5pRXk7nzHcrRxCbtSj1mOem_v-wEIDzOm-r6echrZY,9209
313
+ localstack/services/cloudformation/engine/v2/change_set_model.py,sha256=PZLrPSzw7IVV3gG9q9R28Snp5iwfeHBiDWcO-tZljGs,49632
314
+ localstack/services/cloudformation/engine/v2/change_set_model_describer.py,sha256=J2OibRDuVXu-rnLxHmxtjqOD4Q489F9An_6-fkTTAm8,8057
315
315
  localstack/services/cloudformation/engine/v2/change_set_model_executor.py,sha256=sCgIkkkSIE6ltUHCOK2v48Yjtdu5or9uJIztoAsz5LI,16212
316
- localstack/services/cloudformation/engine/v2/change_set_model_preproc.py,sha256=9X5KyhPvguGmwH_fEAZk_s0HTWCagH-QSN-6IKqhY78,44799
317
- localstack/services/cloudformation/engine/v2/change_set_model_visitor.py,sha256=B5ZeAYFWOJuyk-JeehoutZd1HE-YkEhgKaxa5z58bFI,6893
316
+ localstack/services/cloudformation/engine/v2/change_set_model_preproc.py,sha256=wYRQdaxs9JffQpDQPUEDg0SjClNGTLiKUvpOHcgQRyY,48718
317
+ localstack/services/cloudformation/engine/v2/change_set_model_visitor.py,sha256=fTZA7zCd2JytnW8QqaYXxzl6SyapWhu78_NvY2EhcLU,7371
318
318
  localstack/services/cloudformation/models/__init__.py,sha256=da1PTClDMl-IBkrSvq6JC1lnS-K_BASzCvxVhNxN5Ls,13
319
319
  localstack/services/cloudformation/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
320
320
  localstack/services/cloudformation/resource_providers/aws_cloudformation_macro.py,sha256=Grn3dP1jANRlVO9HyKQV5GHv0x1eNRBeaIYhgn-FKv4,2812
@@ -1279,13 +1279,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
1279
1279
  localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1280
1280
  localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
1281
1281
  localstack/utils/xray/traceid.py,sha256=SQSsMV2rhbTNK6ceIoozZYuGU7Fg687EXcgqxoDl1Fw,1106
1282
- localstack_core-4.5.1.dev7.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1283
- localstack_core-4.5.1.dev7.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1284
- localstack_core-4.5.1.dev7.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1285
- localstack_core-4.5.1.dev7.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1286
- localstack_core-4.5.1.dev7.dist-info/METADATA,sha256=FHhhsx2x7nyo9RdpO6TFu9-JhTI_QN9XDb327BnU_IA,5538
1287
- localstack_core-4.5.1.dev7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1288
- localstack_core-4.5.1.dev7.dist-info/entry_points.txt,sha256=fdk6rMb2jN3PjkJH_YtXRF_-xhDYAz6__Osec6Z7tW0,20561
1289
- localstack_core-4.5.1.dev7.dist-info/plux.json,sha256=5tGg-Rt04Wv1RIOPCti_J7LUtKI0WTnBoe7NmbrXqGs,20783
1290
- localstack_core-4.5.1.dev7.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1291
- localstack_core-4.5.1.dev7.dist-info/RECORD,,
1282
+ localstack_core-4.5.1.dev12.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1283
+ localstack_core-4.5.1.dev12.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1284
+ localstack_core-4.5.1.dev12.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1285
+ localstack_core-4.5.1.dev12.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1286
+ localstack_core-4.5.1.dev12.dist-info/METADATA,sha256=VBjvEer-MHJxEZ0OlRAJg0Y2TvpaRi2ccbEtiFKhpAY,5539
1287
+ localstack_core-4.5.1.dev12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1288
+ localstack_core-4.5.1.dev12.dist-info/entry_points.txt,sha256=BGMEtPdJ1UKmAoEsNJJNwkWxmvM1Upc5jTEi6d8XQFg,2567
1289
+ localstack_core-4.5.1.dev12.dist-info/plux.json,sha256=jAjLD2-Zr9lBBnXnCX6f8gGUPUYJITHn4uPGo16lbWo,2615
1290
+ localstack_core-4.5.1.dev12.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1291
+ localstack_core-4.5.1.dev12.dist-info/RECORD,,
@@ -0,0 +1,46 @@
1
+ [localstack.hooks.configure_localstack_container]
2
+ _mount_machine_file = localstack.utils.analytics.metadata:_mount_machine_file
3
+
4
+ [localstack.hooks.on_infra_ready]
5
+ _run_init_scripts_on_ready = localstack.runtime.init:_run_init_scripts_on_ready
6
+
7
+ [localstack.hooks.on_infra_shutdown]
8
+ _run_init_scripts_on_shutdown = localstack.runtime.init:_run_init_scripts_on_shutdown
9
+ publish_metrics = localstack.utils.analytics.metrics:publish_metrics
10
+ run_on_after_service_shutdown_handlers = localstack.runtime.shutdown:run_on_after_service_shutdown_handlers
11
+ run_shutdown_handlers = localstack.runtime.shutdown:run_shutdown_handlers
12
+ shutdown_services = localstack.runtime.shutdown:shutdown_services
13
+ stop_server = localstack.dns.plugins:stop_server
14
+
15
+ [localstack.hooks.on_infra_start]
16
+ _publish_config_as_analytics_event = localstack.runtime.analytics:_publish_config_as_analytics_event
17
+ _publish_container_info = localstack.runtime.analytics:_publish_container_info
18
+ _run_init_scripts_on_start = localstack.runtime.init:_run_init_scripts_on_start
19
+ apply_aws_runtime_patches = localstack.aws.patches:apply_aws_runtime_patches
20
+ apply_runtime_patches = localstack.runtime.patches:apply_runtime_patches
21
+ conditionally_enable_debugger = localstack.dev.debugger.plugins:conditionally_enable_debugger
22
+ delete_cached_certificate = localstack.plugins:delete_cached_certificate
23
+ deprecation_warnings = localstack.plugins:deprecation_warnings
24
+ setup_dns_configuration_on_host = localstack.dns.plugins:setup_dns_configuration_on_host
25
+ start_dns_server = localstack.dns.plugins:start_dns_server
26
+
27
+ [localstack.hooks.prepare_host]
28
+ prepare_host_machine_id = localstack.utils.analytics.metadata:prepare_host_machine_id
29
+
30
+ [localstack.init.runner]
31
+ py = localstack.runtime.init:PythonScriptRunner
32
+ sh = localstack.runtime.init:ShellScriptRunner
33
+
34
+ [localstack.openapi.spec]
35
+ localstack = localstack.plugins:CoreOASPlugin
36
+
37
+ [localstack.packages]
38
+ dynamodb-local/community = localstack.services.dynamodb.plugins:dynamodb_local_package
39
+ elasticsearch/community = localstack.services.es.plugins:elasticsearch_package
40
+ ffmpeg/community = localstack.packages.plugins:ffmpeg_package
41
+ java/community = localstack.packages.plugins:java_package
42
+ jpype-jsonata/community = localstack.services.stepfunctions.plugins:jpype_jsonata_package
43
+ kinesis-mock/community = localstack.services.kinesis.plugins:kinesismock_package
44
+ opensearch/community = localstack.services.opensearch.plugins:opensearch_package
45
+ terraform/community = localstack.packages.plugins:terraform_package
46
+ vosk/community = localstack.services.transcribe.plugins:vosk_package
@@ -0,0 +1 @@
1
+ {"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_start": ["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", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "_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.hooks.on_infra_shutdown": ["publish_metrics=localstack.utils.analytics.metrics:publish_metrics", "_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", "stop_server=localstack.dns.plugins:stop_server"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.packages": ["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", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package"], "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"]}
@@ -1,220 +0,0 @@
1
- [localstack.aws.provider]
2
- acm:default = localstack.services.providers:acm
3
- apigateway:default = localstack.services.providers:apigateway
4
- apigateway:legacy = localstack.services.providers:apigateway_legacy
5
- apigateway:next_gen = localstack.services.providers:apigateway_next_gen
6
- cloudformation:default = localstack.services.providers:cloudformation
7
- cloudformation:engine-v2 = localstack.services.providers:cloudformation_v2
8
- cloudwatch:default = localstack.services.providers:cloudwatch
9
- cloudwatch:v1 = localstack.services.providers:cloudwatch_v1
10
- cloudwatch:v2 = localstack.services.providers:cloudwatch_v2
11
- config:default = localstack.services.providers:awsconfig
12
- dynamodb:default = localstack.services.providers:dynamodb
13
- dynamodb:v2 = localstack.services.providers:dynamodb_v2
14
- dynamodbstreams:default = localstack.services.providers:dynamodbstreams
15
- dynamodbstreams:v2 = localstack.services.providers:dynamodbstreams_v2
16
- ec2:default = localstack.services.providers:ec2
17
- es:default = localstack.services.providers:es
18
- events:default = localstack.services.providers:events
19
- events:legacy = localstack.services.providers:events_legacy
20
- events:v1 = localstack.services.providers:events_v1
21
- events:v2 = localstack.services.providers:events_v2
22
- firehose:default = localstack.services.providers:firehose
23
- iam:default = localstack.services.providers:iam
24
- kinesis:default = localstack.services.providers:kinesis
25
- kms:default = localstack.services.providers:kms
26
- lambda:asf = localstack.services.providers:lambda_asf
27
- lambda:default = localstack.services.providers:lambda_
28
- lambda:v2 = localstack.services.providers:lambda_v2
29
- logs:default = localstack.services.providers:logs
30
- opensearch:default = localstack.services.providers:opensearch
31
- redshift:default = localstack.services.providers:redshift
32
- resource-groups:default = localstack.services.providers:resource_groups
33
- resourcegroupstaggingapi:default = localstack.services.providers:resourcegroupstaggingapi
34
- route53:default = localstack.services.providers:route53
35
- route53resolver:default = localstack.services.providers:route53resolver
36
- s3:default = localstack.services.providers:s3
37
- s3control:default = localstack.services.providers:s3control
38
- scheduler:default = localstack.services.providers:scheduler
39
- secretsmanager:default = localstack.services.providers:secretsmanager
40
- ses:default = localstack.services.providers:ses
41
- sns:default = localstack.services.providers:sns
42
- sqs:default = localstack.services.providers:sqs
43
- ssm:default = localstack.services.providers:ssm
44
- stepfunctions:default = localstack.services.providers:stepfunctions
45
- stepfunctions:v2 = localstack.services.providers:stepfunctions_v2
46
- sts:default = localstack.services.providers:sts
47
- support:default = localstack.services.providers:support
48
- swf:default = localstack.services.providers:swf
49
- transcribe:default = localstack.services.providers:transcribe
50
-
51
- [localstack.cloudformation.resource_providers]
52
- AWS::ApiGateway::Account = localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin
53
- AWS::ApiGateway::ApiKey = localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin
54
- AWS::ApiGateway::BasePathMapping = localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin
55
- AWS::ApiGateway::Deployment = localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin
56
- AWS::ApiGateway::DomainName = localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin
57
- AWS::ApiGateway::GatewayResponse = localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin
58
- AWS::ApiGateway::Method = localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin
59
- AWS::ApiGateway::Model = localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin
60
- AWS::ApiGateway::RequestValidator = localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin
61
- AWS::ApiGateway::Resource = localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin
62
- AWS::ApiGateway::RestApi = localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin
63
- AWS::ApiGateway::Stage = localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin
64
- AWS::ApiGateway::UsagePlan = localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin
65
- AWS::ApiGateway::UsagePlanKey = localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin
66
- AWS::CDK::Metadata = localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin
67
- AWS::CertificateManager::Certificate = localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin
68
- AWS::CloudFormation::Macro = localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin
69
- AWS::CloudFormation::Stack = localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin
70
- AWS::CloudFormation::WaitCondition = localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin
71
- AWS::CloudFormation::WaitConditionHandle = localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin
72
- AWS::CloudWatch::Alarm = localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin
73
- AWS::CloudWatch::CompositeAlarm = localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin
74
- AWS::DynamoDB::GlobalTable = localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin
75
- AWS::DynamoDB::Table = localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin
76
- AWS::EC2::DHCPOptions = localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin
77
- AWS::EC2::Instance = localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin
78
- AWS::EC2::InternetGateway = localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin
79
- AWS::EC2::KeyPair = localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin
80
- AWS::EC2::NatGateway = localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin
81
- AWS::EC2::NetworkAcl = localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin
82
- AWS::EC2::PrefixList = localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin
83
- AWS::EC2::Route = localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin
84
- AWS::EC2::RouteTable = localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin
85
- AWS::EC2::SecurityGroup = localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin
86
- AWS::EC2::Subnet = localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin
87
- AWS::EC2::SubnetRouteTableAssociation = localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin
88
- AWS::EC2::TransitGateway = localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin
89
- AWS::EC2::TransitGatewayAttachment = localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin
90
- AWS::EC2::VPC = localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin
91
- AWS::EC2::VPCEndpoint = localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin
92
- AWS::EC2::VPCGatewayAttachment = localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin
93
- AWS::ECR::Repository = localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin
94
- AWS::Elasticsearch::Domain = localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin
95
- AWS::Events::ApiDestination = localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin
96
- AWS::Events::Connection = localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin
97
- AWS::Events::EventBus = localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin
98
- AWS::Events::EventBusPolicy = localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin
99
- AWS::Events::Rule = localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin
100
- AWS::IAM::AccessKey = localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin
101
- AWS::IAM::Group = localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin
102
- AWS::IAM::InstanceProfile = localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin
103
- AWS::IAM::ManagedPolicy = localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin
104
- AWS::IAM::Policy = localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin
105
- AWS::IAM::Role = localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin
106
- AWS::IAM::ServerCertificate = localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin
107
- AWS::IAM::ServiceLinkedRole = localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin
108
- AWS::IAM::User = localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin
109
- AWS::KMS::Alias = localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin
110
- AWS::KMS::Key = localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin
111
- AWS::Kinesis::Stream = localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin
112
- AWS::Kinesis::StreamConsumer = localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin
113
- AWS::KinesisFirehose::DeliveryStream = localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin
114
- AWS::Lambda::Alias = localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin
115
- AWS::Lambda::CodeSigningConfig = localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin
116
- AWS::Lambda::EventInvokeConfig = localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin
117
- AWS::Lambda::EventSourceMapping = localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin
118
- AWS::Lambda::Function = localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin
119
- AWS::Lambda::LayerVersion = localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin
120
- AWS::Lambda::LayerVersionPermission = localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin
121
- AWS::Lambda::Permission = localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin
122
- AWS::Lambda::Url = localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin
123
- AWS::Lambda::Version = localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin
124
- AWS::Logs::LogGroup = localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin
125
- AWS::Logs::LogStream = localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin
126
- AWS::Logs::SubscriptionFilter = localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin
127
- AWS::OpenSearchService::Domain = localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin
128
- AWS::Redshift::Cluster = localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin
129
- AWS::ResourceGroups::Group = localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin
130
- AWS::Route53::HealthCheck = localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin
131
- AWS::Route53::RecordSet = localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin
132
- AWS::S3::Bucket = localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin
133
- AWS::S3::BucketPolicy = localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin
134
- AWS::SES::EmailIdentity = localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin
135
- AWS::SNS::Subscription = localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin
136
- AWS::SNS::Topic = localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin
137
- AWS::SNS::TopicPolicy = localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin
138
- AWS::SQS::Queue = localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin
139
- AWS::SQS::QueuePolicy = localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin
140
- AWS::SSM::MaintenanceWindow = localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin
141
- AWS::SSM::MaintenanceWindowTarget = localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin
142
- AWS::SSM::MaintenanceWindowTask = localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin
143
- AWS::SSM::Parameter = localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin
144
- AWS::SSM::PatchBaseline = localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin
145
- AWS::Scheduler::Schedule = localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin
146
- AWS::Scheduler::ScheduleGroup = localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin
147
- AWS::SecretsManager::ResourcePolicy = localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin
148
- AWS::SecretsManager::RotationSchedule = localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin
149
- AWS::SecretsManager::Secret = localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin
150
- AWS::SecretsManager::SecretTargetAttachment = localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin
151
- AWS::StepFunctions::Activity = localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin
152
- AWS::StepFunctions::StateMachine = localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin
153
-
154
- [localstack.hooks.configure_localstack_container]
155
- _mount_machine_file = localstack.utils.analytics.metadata:_mount_machine_file
156
-
157
- [localstack.hooks.on_infra_ready]
158
- _run_init_scripts_on_ready = localstack.runtime.init:_run_init_scripts_on_ready
159
-
160
- [localstack.hooks.on_infra_shutdown]
161
- _run_init_scripts_on_shutdown = localstack.runtime.init:_run_init_scripts_on_shutdown
162
- publish_metrics = localstack.utils.analytics.metrics:publish_metrics
163
- remove_custom_endpoints = localstack.services.lambda_.plugins:remove_custom_endpoints
164
- run_on_after_service_shutdown_handlers = localstack.runtime.shutdown:run_on_after_service_shutdown_handlers
165
- run_shutdown_handlers = localstack.runtime.shutdown:run_shutdown_handlers
166
- shutdown_services = localstack.runtime.shutdown:shutdown_services
167
- stop_server = localstack.dns.plugins:stop_server
168
-
169
- [localstack.hooks.on_infra_start]
170
- _patch_botocore_endpoint_in_memory = localstack.aws.client:_patch_botocore_endpoint_in_memory
171
- _patch_botocore_json_parser = localstack.aws.client:_patch_botocore_json_parser
172
- _patch_cbor2 = localstack.aws.client:_patch_cbor2
173
- _publish_config_as_analytics_event = localstack.runtime.analytics:_publish_config_as_analytics_event
174
- _publish_container_info = localstack.runtime.analytics:_publish_container_info
175
- _run_init_scripts_on_start = localstack.runtime.init:_run_init_scripts_on_start
176
- apply_aws_runtime_patches = localstack.aws.patches:apply_aws_runtime_patches
177
- apply_runtime_patches = localstack.runtime.patches:apply_runtime_patches
178
- conditionally_enable_debugger = localstack.dev.debugger.plugins:conditionally_enable_debugger
179
- delete_cached_certificate = localstack.plugins:delete_cached_certificate
180
- deprecation_warnings = localstack.plugins:deprecation_warnings
181
- eager_load_services = localstack.services.plugins:eager_load_services
182
- register_cloudformation_deploy_ui = localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui
183
- register_custom_endpoints = localstack.services.lambda_.plugins:register_custom_endpoints
184
- register_swagger_endpoints = localstack.http.resources.swagger.plugins:register_swagger_endpoints
185
- setup_dns_configuration_on_host = localstack.dns.plugins:setup_dns_configuration_on_host
186
- start_dns_server = localstack.dns.plugins:start_dns_server
187
- validate_configuration = localstack.services.lambda_.plugins:validate_configuration
188
-
189
- [localstack.hooks.prepare_host]
190
- prepare_host_machine_id = localstack.utils.analytics.metadata:prepare_host_machine_id
191
-
192
- [localstack.init.runner]
193
- py = localstack.runtime.init:PythonScriptRunner
194
- sh = localstack.runtime.init:ShellScriptRunner
195
-
196
- [localstack.lambda.runtime_executor]
197
- docker = localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin
198
-
199
- [localstack.openapi.spec]
200
- localstack = localstack.plugins:CoreOASPlugin
201
-
202
- [localstack.packages]
203
- dynamodb-local/community = localstack.services.dynamodb.plugins:dynamodb_local_package
204
- elasticsearch/community = localstack.services.es.plugins:elasticsearch_package
205
- ffmpeg/community = localstack.packages.plugins:ffmpeg_package
206
- java/community = localstack.packages.plugins:java_package
207
- jpype-jsonata/community = localstack.services.stepfunctions.plugins:jpype_jsonata_package
208
- kinesis-mock/community = localstack.services.kinesis.plugins:kinesismock_package
209
- lambda-java-libs/community = localstack.services.lambda_.plugins:lambda_java_libs
210
- lambda-runtime/community = localstack.services.lambda_.plugins:lambda_runtime_package
211
- opensearch/community = localstack.services.opensearch.plugins:opensearch_package
212
- terraform/community = localstack.packages.plugins:terraform_package
213
- vosk/community = localstack.services.transcribe.plugins:vosk_package
214
-
215
- [localstack.runtime.components]
216
- aws = localstack.aws.components:AwsComponents
217
-
218
- [localstack.runtime.server]
219
- hypercorn = localstack.runtime.server.plugins:HypercornRuntimeServerPlugin
220
- twisted = localstack.runtime.server.plugins:TwistedRuntimeServerPlugin
@@ -1 +0,0 @@
1
- {"localstack.cloudformation.resource_providers": ["AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "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::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "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::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin"], "localstack.hooks.on_infra_start": ["conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "register_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", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "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", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "_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", "eager_load_services=localstack.services.plugins:eager_load_services"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.hooks.on_infra_shutdown": ["stop_server=localstack.dns.plugins:stop_server", "run_on_after_service_shutdown_handlers=localstack.runtime.shutdown:run_on_after_service_shutdown_handlers", "run_shutdown_handlers=localstack.runtime.shutdown:run_shutdown_handlers", "shutdown_services=localstack.runtime.shutdown:shutdown_services", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "publish_metrics=localstack.utils.analytics.metrics:publish_metrics"], "localstack.packages": ["elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_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"], "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"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "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"], "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"]}