localstack-core 4.8.0__py3-none-any.whl → 4.8.1__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.

Potentially problematic release.


This version of localstack-core might be problematic. Click here for more details.

Files changed (24) hide show
  1. localstack/aws/api/cloudwatch/__init__.py +40 -0
  2. localstack/services/cloudformation/engine/v2/change_set_model.py +0 -3
  3. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +23 -5
  4. localstack/services/cloudformation/engine/v2/change_set_model_transform.py +4 -1
  5. localstack/services/cloudformation/engine/v2/change_set_model_validator.py +5 -14
  6. localstack/services/cloudformation/v2/entities.py +4 -1
  7. localstack/services/cloudformation/v2/provider.py +32 -4
  8. localstack/services/cloudformation/v2/types.py +8 -4
  9. localstack/services/cloudwatch/provider_v2.py +10 -8
  10. localstack/services/ecr/resource_providers/aws_ecr_repository.py +4 -0
  11. localstack/services/moto.py +38 -2
  12. localstack/services/ses/provider.py +3 -2
  13. localstack/version.py +2 -2
  14. {localstack_core-4.8.0.dist-info → localstack_core-4.8.1.dist-info}/METADATA +4 -4
  15. {localstack_core-4.8.0.dist-info → localstack_core-4.8.1.dist-info}/RECORD +23 -23
  16. localstack_core-4.8.1.dist-info/plux.json +1 -0
  17. localstack_core-4.8.0.dist-info/plux.json +0 -1
  18. {localstack_core-4.8.0.data → localstack_core-4.8.1.data}/scripts/localstack +0 -0
  19. {localstack_core-4.8.0.data → localstack_core-4.8.1.data}/scripts/localstack-supervisor +0 -0
  20. {localstack_core-4.8.0.data → localstack_core-4.8.1.data}/scripts/localstack.bat +0 -0
  21. {localstack_core-4.8.0.dist-info → localstack_core-4.8.1.dist-info}/WHEEL +0 -0
  22. {localstack_core-4.8.0.dist-info → localstack_core-4.8.1.dist-info}/entry_points.txt +0 -0
  23. {localstack_core-4.8.0.dist-info → localstack_core-4.8.1.dist-info}/licenses/LICENSE.txt +0 -0
  24. {localstack_core-4.8.0.dist-info → localstack_core-4.8.1.dist-info}/top_level.txt +0 -0
@@ -16,7 +16,10 @@ AlarmRule = str
16
16
  AmazonResourceName = str
17
17
  AnomalyDetectorMetricStat = str
18
18
  AnomalyDetectorMetricTimezone = str
19
+ AttributeName = str
20
+ AttributeValue = str
19
21
  AwsQueryErrorMessage = str
22
+ ContributorId = str
20
23
  DashboardArn = str
21
24
  DashboardBody = str
22
25
  DashboardErrorMessage = str
@@ -136,6 +139,8 @@ class HistoryItemType(StrEnum):
136
139
  ConfigurationUpdate = "ConfigurationUpdate"
137
140
  StateUpdate = "StateUpdate"
138
141
  Action = "Action"
142
+ AlarmContributorStateUpdate = "AlarmContributorStateUpdate"
143
+ AlarmContributorAction = "AlarmContributorAction"
139
144
 
140
145
 
141
146
  class MetricStreamOutputFormat(StrEnum):
@@ -300,15 +305,28 @@ class ResourceNotFoundException(ServiceException):
300
305
 
301
306
 
302
307
  Timestamp = datetime
308
+ ContributorAttributes = Dict[AttributeName, AttributeValue]
309
+
310
+
311
+ class AlarmContributor(TypedDict, total=False):
312
+ ContributorId: ContributorId
313
+ ContributorAttributes: ContributorAttributes
314
+ StateReason: StateReason
315
+ StateTransitionedTimestamp: Optional[Timestamp]
316
+
317
+
318
+ AlarmContributors = List[AlarmContributor]
303
319
 
304
320
 
305
321
  class AlarmHistoryItem(TypedDict, total=False):
306
322
  AlarmName: Optional[AlarmName]
323
+ AlarmContributorId: Optional[ContributorId]
307
324
  AlarmType: Optional[AlarmType]
308
325
  Timestamp: Optional[Timestamp]
309
326
  HistoryItemType: Optional[HistoryItemType]
310
327
  HistorySummary: Optional[HistorySummary]
311
328
  HistoryData: Optional[HistoryData]
329
+ AlarmContributorAttributes: Optional[ContributorAttributes]
312
330
 
313
331
 
314
332
  AlarmHistoryItems = List[AlarmHistoryItem]
@@ -505,8 +523,19 @@ class DeleteMetricStreamOutput(TypedDict, total=False):
505
523
  pass
506
524
 
507
525
 
526
+ class DescribeAlarmContributorsInput(ServiceRequest):
527
+ AlarmName: AlarmName
528
+ NextToken: Optional[NextToken]
529
+
530
+
531
+ class DescribeAlarmContributorsOutput(TypedDict, total=False):
532
+ AlarmContributors: AlarmContributors
533
+ NextToken: Optional[NextToken]
534
+
535
+
508
536
  class DescribeAlarmHistoryInput(ServiceRequest):
509
537
  AlarmName: Optional[AlarmName]
538
+ AlarmContributorId: Optional[ContributorId]
510
539
  AlarmTypes: Optional[AlarmTypes]
511
540
  HistoryItemType: Optional[HistoryItemType]
512
541
  StartDate: Optional[Timestamp]
@@ -1179,11 +1208,22 @@ class CloudwatchApi:
1179
1208
  ) -> DeleteMetricStreamOutput:
1180
1209
  raise NotImplementedError
1181
1210
 
1211
+ @handler("DescribeAlarmContributors")
1212
+ def describe_alarm_contributors(
1213
+ self,
1214
+ context: RequestContext,
1215
+ alarm_name: AlarmName,
1216
+ next_token: NextToken | None = None,
1217
+ **kwargs,
1218
+ ) -> DescribeAlarmContributorsOutput:
1219
+ raise NotImplementedError
1220
+
1182
1221
  @handler("DescribeAlarmHistory")
1183
1222
  def describe_alarm_history(
1184
1223
  self,
1185
1224
  context: RequestContext,
1186
1225
  alarm_name: AlarmName | None = None,
1226
+ alarm_contributor_id: ContributorId | None = None,
1187
1227
  alarm_types: AlarmTypes | None = None,
1188
1228
  history_item_type: HistoryItemType | None = None,
1189
1229
  start_date: Timestamp | None = None,
@@ -681,9 +681,6 @@ class ChangeSetModel:
681
681
  scope=arguments_scope, before_value=before_arguments, after_value=after_arguments
682
682
  )
683
683
 
684
- if intrinsic_function == "Ref" and arguments.value == "AWS::NoValue":
685
- arguments.value = Nothing
686
-
687
684
  if is_created(before=before_arguments, after=after_arguments):
688
685
  change_type = ChangeType.CREATED
689
686
  elif is_removed(before=before_arguments, after=after_arguments):
@@ -843,13 +843,27 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
843
843
  ):
844
844
  # TODO: add further support for schema validation
845
845
  def _compute_fn_select(args: list[Any]) -> Any:
846
- values: list[Any] = args[1]
846
+ values = args[1]
847
+ # defer evaluation if the selection list contains unresolved elements (e.g., unresolved intrinsics)
848
+ if isinstance(values, list) and not all(isinstance(value, str) for value in values):
849
+ raise RuntimeError("Fn::Select list contains unresolved elements")
850
+
847
851
  if not isinstance(values, list) or not values:
848
- raise RuntimeError(f"Invalid arguments list value for Fn::Select: '{values}'")
852
+ raise ValidationError(
853
+ "Template error: Fn::Select requires a list argument with two elements: an integer index and a list"
854
+ )
855
+ try:
856
+ index: int = int(args[0])
857
+ except ValueError as e:
858
+ raise ValidationError(
859
+ "Template error: Fn::Select requires a list argument with two elements: an integer index and a list"
860
+ ) from e
861
+
849
862
  values_len = len(values)
850
- index: int = int(args[0])
851
- if not isinstance(index, int) or index < 0 or index > values_len:
852
- raise RuntimeError(f"Invalid or out of range index value for Fn::Select: '{index}'")
863
+ if index < 0 or index >= values_len:
864
+ raise ValidationError(
865
+ "Template error: Fn::Select requires a list argument with two elements: an integer index and a list"
866
+ )
853
867
  selection = values[index]
854
868
  return selection
855
869
 
@@ -975,6 +989,10 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
975
989
  return PreprocEntityDelta(before=before_parameters, after=after_parameters)
976
990
 
977
991
  def visit_node_parameter(self, node_parameter: NodeParameter) -> PreprocEntityDelta:
992
+ if not VALID_LOGICAL_RESOURCE_ID_RE.match(node_parameter.name):
993
+ raise ValidationError(
994
+ f"Template format error: Parameter name {node_parameter.name} is non alphanumeric."
995
+ )
978
996
  dynamic_value = node_parameter.dynamic_value
979
997
  dynamic_delta = self.visit(dynamic_value)
980
998
 
@@ -501,7 +501,10 @@ class ChangeSetModelTransform(ChangeSetModelPreproc):
501
501
  def visit_node_intrinsic_function_fn_get_att(
502
502
  self, node_intrinsic_function: NodeIntrinsicFunction
503
503
  ) -> PreprocEntityDelta:
504
- return self.visit(node_intrinsic_function.arguments)
504
+ try:
505
+ return super().visit_node_intrinsic_function_fn_get_att(node_intrinsic_function)
506
+ except RuntimeError:
507
+ return self.visit(node_intrinsic_function.arguments)
505
508
 
506
509
  def visit_node_intrinsic_function_fn_sub(
507
510
  self, node_intrinsic_function: NodeIntrinsicFunction
@@ -4,7 +4,6 @@ from typing import Any
4
4
  from botocore.exceptions import ParamValidationError
5
5
 
6
6
  from localstack.services.cloudformation.engine.v2.change_set_model import (
7
- Maybe,
8
7
  NodeIntrinsicFunction,
9
8
  NodeProperty,
10
9
  NodeResource,
@@ -27,23 +26,15 @@ class ChangeSetModelValidator(ChangeSetModelPreproc):
27
26
  def visit_node_template(self, node_template: NodeTemplate):
28
27
  self.visit(node_template.mappings)
29
28
  self.visit(node_template.resources)
29
+ self.visit(node_template.parameters)
30
30
 
31
31
  def visit_node_intrinsic_function_fn_get_att(
32
32
  self, node_intrinsic_function: NodeIntrinsicFunction
33
33
  ) -> PreprocEntityDelta:
34
- arguments_delta = self.visit(node_intrinsic_function.arguments)
35
- before_arguments: Maybe[str | list[str]] = arguments_delta.before
36
- after_arguments: Maybe[str | list[str]] = arguments_delta.after
37
-
38
- before = self._before_cache.get(node_intrinsic_function.scope, Nothing)
39
- if is_nothing(before) and not is_nothing(before_arguments):
40
- before = ".".join(before_arguments)
41
-
42
- after = self._after_cache.get(node_intrinsic_function.scope, Nothing)
43
- if is_nothing(after) and not is_nothing(after_arguments):
44
- after = ".".join(after_arguments)
45
-
46
- return PreprocEntityDelta(before=before, after=after)
34
+ try:
35
+ return super().visit_node_intrinsic_function_fn_get_att(node_intrinsic_function)
36
+ except RuntimeError:
37
+ return self.visit(node_intrinsic_function.arguments)
47
38
 
48
39
  def visit_node_intrinsic_function_fn_sub(
49
40
  self, node_intrinsic_function: NodeIntrinsicFunction
@@ -41,6 +41,7 @@ class Stack:
41
41
  description: str | None
42
42
  parameters: list[ApiParameter]
43
43
  change_set_id: str | None
44
+ change_set_ids: set[str]
44
45
  status: StackStatus
45
46
  status_reason: StackStatusReason | None
46
47
  stack_id: str
@@ -49,6 +50,7 @@ class Stack:
49
50
  events: list[StackEvent]
50
51
  capabilities: list[Capability]
51
52
  enable_termination_protection: bool
53
+ template: dict | None
52
54
  processed_template: dict | None
53
55
  template_body: str | None
54
56
  tags: list[Tag]
@@ -72,11 +74,12 @@ class Stack:
72
74
  self.region_name = region_name
73
75
  self.status = initial_status
74
76
  self.status_reason = None
75
- self.change_set_ids = []
77
+ self.change_set_ids = set()
76
78
  self.creation_time = datetime.now(tz=UTC)
77
79
  self.deletion_time = None
78
80
  self.change_set_id = None
79
81
  self.enable_termination_protection = False
82
+ self.template = None
80
83
  self.processed_template = None
81
84
  self.template_body = None
82
85
  self.tags = tags or []
@@ -541,7 +541,7 @@ class CloudformationProviderV2(CloudformationProvider, ServiceLifecycleHook):
541
541
 
542
542
  change_set.set_change_set_status(ChangeSetStatus.CREATE_COMPLETE)
543
543
 
544
- stack.change_set_ids.append(change_set.change_set_id)
544
+ stack.change_set_ids.add(change_set.change_set_id)
545
545
  state.change_sets[change_set.change_set_id] = change_set
546
546
  return CreateChangeSetOutput(StackId=stack.stack_id, Id=change_set.change_set_id)
547
547
 
@@ -609,7 +609,6 @@ class CloudformationProviderV2(CloudformationProvider, ServiceLifecycleHook):
609
609
  change_set.stack.resolved_exports[export_name] = output["OutputValue"]
610
610
 
611
611
  change_set.stack.change_set_id = change_set.change_set_id
612
- change_set.stack.change_set_ids.append(change_set.change_set_id)
613
612
 
614
613
  # if the deployment succeeded, update the stack's template representation to that
615
614
  # which was just deployed
@@ -738,8 +737,22 @@ class CloudformationProviderV2(CloudformationProvider, ServiceLifecycleHook):
738
737
  if not change_set:
739
738
  return DeleteChangeSetOutput()
740
739
 
741
- change_set.stack.change_set_ids.remove(change_set.change_set_id)
742
- state.change_sets.pop(change_set.change_set_id)
740
+ try:
741
+ change_set.stack.change_set_ids.remove(change_set.change_set_id)
742
+ except KeyError:
743
+ LOG.warning(
744
+ "Could not disassociatei change set '%s' from stack '%s', it does not seem to be associated",
745
+ change_set.change_set_id,
746
+ change_set.stack.stack_id,
747
+ )
748
+ try:
749
+ state.change_sets.pop(change_set.change_set_id)
750
+ except KeyError:
751
+ # This _should_ never fail since if we cannot find the change set in the store (using
752
+ # `find_change_set_v2`) then we early return from this function
753
+ LOG.warning(
754
+ "Could not delete change set '%s', it does not exist", change_set.change_set_id
755
+ )
743
756
 
744
757
  return DeleteChangeSetOutput()
745
758
 
@@ -1282,10 +1295,19 @@ class CloudformationProviderV2(CloudformationProvider, ServiceLifecycleHook):
1282
1295
  ) -> GetTemplateOutput:
1283
1296
  state = get_cloudformation_store(context.account_id, context.region)
1284
1297
  if change_set_name:
1298
+ if not is_changeset_arn(change_set_name) and not stack_name:
1299
+ raise ValidationError("StackName is a required parameter.")
1300
+
1285
1301
  change_set = find_change_set_v2(state, change_set_name, stack_name=stack_name)
1302
+ if not change_set:
1303
+ raise ChangeSetNotFoundException(f"ChangeSet [{change_set_name}] does not exist")
1286
1304
  stack = change_set.stack
1287
1305
  elif stack_name:
1288
1306
  stack = find_stack_v2(state, stack_name)
1307
+ if not stack:
1308
+ raise StackNotFoundError(
1309
+ stack_name, message_override=f"Stack with id {stack_name} does not exist"
1310
+ )
1289
1311
  else:
1290
1312
  raise StackNotFoundError(stack_name)
1291
1313
 
@@ -1312,6 +1334,12 @@ class CloudformationProviderV2(CloudformationProvider, ServiceLifecycleHook):
1312
1334
  stack = find_stack_v2(state, stack_name)
1313
1335
  if not stack:
1314
1336
  raise StackNotFoundError(stack_name)
1337
+
1338
+ if stack.status == StackStatus.REVIEW_IN_PROGRESS:
1339
+ raise ValidationError(
1340
+ "GetTemplateSummary cannot be called on REVIEW_IN_PROGRESS stacks."
1341
+ )
1342
+
1315
1343
  template = stack.template
1316
1344
  else:
1317
1345
  template_body = request.get("TemplateBody")
@@ -17,11 +17,15 @@ class EngineParameter(TypedDict):
17
17
 
18
18
 
19
19
  def engine_parameter_value(parameter: EngineParameter) -> str:
20
- value = parameter.get("given_value") or parameter.get("default_value")
21
- if value is None:
22
- raise RuntimeError("Parameter value is None")
20
+ given_value = parameter.get("given_value")
21
+ if given_value is not None:
22
+ return given_value
23
23
 
24
- return value
24
+ default_value = parameter.get("default_value")
25
+ if default_value is not None:
26
+ return default_value
27
+
28
+ raise RuntimeError("Parameter value is None")
25
29
 
26
30
 
27
31
  class ResolvedResource(TypedDict):
@@ -15,6 +15,7 @@ from localstack.aws.api.cloudwatch import (
15
15
  AlarmTypes,
16
16
  AmazonResourceName,
17
17
  CloudwatchApi,
18
+ ContributorId,
18
19
  DashboardBody,
19
20
  DashboardName,
20
21
  DashboardNamePrefix,
@@ -822,14 +823,15 @@ class CloudwatchProvider(CloudwatchApi, ServiceLifecycleHook):
822
823
  def describe_alarm_history(
823
824
  self,
824
825
  context: RequestContext,
825
- alarm_name: AlarmName = None,
826
- alarm_types: AlarmTypes = None,
827
- history_item_type: HistoryItemType = None,
828
- start_date: Timestamp = None,
829
- end_date: Timestamp = None,
830
- max_records: MaxRecords = None,
831
- next_token: NextToken = None,
832
- scan_by: ScanBy = None,
826
+ alarm_name: AlarmName | None = None,
827
+ alarm_contributor_id: ContributorId | None = None,
828
+ alarm_types: AlarmTypes | None = None,
829
+ history_item_type: HistoryItemType | None = None,
830
+ start_date: Timestamp | None = None,
831
+ end_date: Timestamp | None = None,
832
+ max_records: MaxRecords | None = None,
833
+ next_token: NextToken | None = None,
834
+ scan_by: ScanBy | None = None,
833
835
  **kwargs,
834
836
  ) -> DescribeAlarmHistoryOutput:
835
837
  store = self.get_store(context.account_id, context.region)
@@ -90,6 +90,10 @@ class ECRRepositoryProvider(ResourceProvider[ECRRepositoryProperties]):
90
90
 
91
91
  """
92
92
  model = request.desired_state
93
+ model["RepositoryName"] = (
94
+ model.get("RepositoryName")
95
+ or util.generate_default_name(request.stack_name, request.logical_resource_id).lower()
96
+ )
93
97
 
94
98
  default_repos_per_stack[request.stack_name] = model["RepositoryName"]
95
99
  LOG.warning(
@@ -1,15 +1,16 @@
1
1
  """
2
- This module provides tools to call moto using moto and botocore internals without going through the moto HTTP server.
2
+ This module provides tools to call Moto service implementations.
3
3
  """
4
4
 
5
5
  import copy
6
6
  import sys
7
7
  from collections.abc import Callable
8
+ from contextlib import AbstractContextManager
8
9
  from functools import lru_cache
9
10
 
10
11
  import moto.backends as moto_backends
11
12
  from moto.core.base_backend import BackendDict
12
- from moto.core.exceptions import RESTError
13
+ from moto.core.exceptions import RESTError, ServiceException
13
14
  from rolo.router import RegexConverter
14
15
  from werkzeug.exceptions import NotFound
15
16
  from werkzeug.routing import Map, Rule
@@ -209,3 +210,38 @@ class _PartIsolatingRegexConverter(RegexConverter):
209
210
 
210
211
  def __init__(self, *args, **kwargs) -> None:
211
212
  super().__init__(*args, **kwargs)
213
+
214
+
215
+ class ServiceExceptionTranslator(AbstractContextManager):
216
+ """
217
+ This reentrant context manager translates Moto exceptions into ASF service exceptions. This allows ASF to properly
218
+ serialise and generate the correct error response.
219
+
220
+ This is useful when invoking Moto operations directly by importing the backend. For example:
221
+
222
+ from moto.ses import ses_backends
223
+
224
+ backend = ses_backend['000000000000']['us-east-1']
225
+
226
+ with ServiceExceptionTranslator():
227
+ message = backend.send_raw_email(...)
228
+
229
+ If `send_raw_email(...)` raises any `moto.core.exceptions.ServiceException`, this context manager will transparently
230
+ generate and raise a `localstack.aws.api.core.CommonServiceException`, maintaining the error code and message.
231
+
232
+ This only works for Moto services that are integrated with its new core AWS response serialiser.
233
+ """
234
+
235
+ def __enter__(self):
236
+ pass
237
+
238
+ def __exit__(self, exc_type, exc_val, exc_tb):
239
+ if exc_type is not None and issubclass(exc_type, ServiceException):
240
+ raise CommonServiceException(
241
+ code=exc_val.code,
242
+ message=exc_val.message,
243
+ )
244
+ return False
245
+
246
+
247
+ translate_service_exception = ServiceExceptionTranslator()
@@ -60,7 +60,7 @@ from localstack.aws.api.ses import (
60
60
  from localstack.aws.connect import connect_to
61
61
  from localstack.constants import INTERNAL_AWS_SECRET_ACCESS_KEY
62
62
  from localstack.http import Resource, Response
63
- from localstack.services.moto import call_moto
63
+ from localstack.services.moto import call_moto, translate_service_exception
64
64
  from localstack.services.plugins import ServiceLifecycleHook
65
65
  from localstack.services.ses.models import EmailType, SentEmail, SentEmailBody
66
66
  from localstack.utils.aws import arns
@@ -478,7 +478,8 @@ class SesProvider(SesApi, ServiceLifecycleHook):
478
478
  destinations = destinations or []
479
479
 
480
480
  backend = get_ses_backend(context)
481
- message = backend.send_raw_email(source, destinations, raw_data)
481
+ with translate_service_exception:
482
+ message = backend.send_raw_email(source, destinations, raw_data)
482
483
 
483
484
  if event_destinations := backend.config_set_event_destination.get(configuration_set_name):
484
485
  payload = EventDestinationPayload(
localstack/version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '4.8.0'
32
- __version_tuple__ = version_tuple = (4, 8, 0)
31
+ __version__ = version = '4.8.1'
32
+ __version_tuple__ = version_tuple = (4, 8, 1)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localstack-core
3
- Version: 4.8.0
3
+ Version: 4.8.1
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
@@ -31,8 +31,8 @@ Requires-Dist: requests>=2.20.0
31
31
  Requires-Dist: semver>=2.10
32
32
  Requires-Dist: tailer>=0.4.1
33
33
  Provides-Extra: base-runtime
34
- Requires-Dist: boto3==1.40.25; extra == "base-runtime"
35
- Requires-Dist: botocore==1.40.25; extra == "base-runtime"
34
+ Requires-Dist: boto3==1.40.30; extra == "base-runtime"
35
+ Requires-Dist: botocore==1.40.30; extra == "base-runtime"
36
36
  Requires-Dist: awscrt!=0.27.1,>=0.13.14; extra == "base-runtime"
37
37
  Requires-Dist: cbor2>=5.5.0; extra == "base-runtime"
38
38
  Requires-Dist: dnspython>=1.16.0; extra == "base-runtime"
@@ -50,7 +50,7 @@ Requires-Dist: xmltodict>=0.13.0; extra == "base-runtime"
50
50
  Requires-Dist: rolo>=0.7; extra == "base-runtime"
51
51
  Provides-Extra: runtime
52
52
  Requires-Dist: localstack-core[base-runtime]; extra == "runtime"
53
- Requires-Dist: awscli==1.42.25; extra == "runtime"
53
+ Requires-Dist: awscli==1.42.30; extra == "runtime"
54
54
  Requires-Dist: airspeed-ext>=0.6.3; extra == "runtime"
55
55
  Requires-Dist: kclpy-ext>=3.0.0; extra == "runtime"
56
56
  Requires-Dist: antlr4-python3-runtime==4.13.2; extra == "runtime"
@@ -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=x-aokj_9jOJ4qIlN-CG-oey6iy1cr1_p05mS0Tosj5I,704
7
+ localstack/version.py,sha256=oNS8yAJpufgBtgq-RHovQPuS4gyBgrncCLjk7ye1WRw,704
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
@@ -26,7 +26,7 @@ localstack/aws/api/acm/__init__.py,sha256=67OHJbngmz4nKaXm9grkLW_Rl4RLRCeOBffhh3
26
26
  localstack/aws/api/apigateway/__init__.py,sha256=30pTFfEn2VzlJeTm78Rjrj4MYtkVdobS-1hoOnnTZ0I,79884
27
27
  localstack/aws/api/cloudcontrol/__init__.py,sha256=rVF7U2eYowakBDklAocYNjDzLtLNZqGgK1IBfnh_cG0,11595
28
28
  localstack/aws/api/cloudformation/__init__.py,sha256=9pywbIDO5DKjUqRu_X78vZIvUMnrJZ_0tbpqW7lsMxA,117360
29
- localstack/aws/api/cloudwatch/__init__.py,sha256=eNr0RSd2waAg-KzJIBKzIJOgfCGSBCdc8cP39Ux0bNU,45954
29
+ localstack/aws/api/cloudwatch/__init__.py,sha256=dppw7e1AHs-Dhf0WhCVheHkXxlGyCz9n-S9T96HzeoY,47224
30
30
  localstack/aws/api/config/__init__.py,sha256=6ATQPkUBu3_KSrG2siHjh7e-qZq5MgPBcT0SLBe2lLA,144985
31
31
  localstack/aws/api/dynamodb/__init__.py,sha256=DrFVVZOiEPM2oidelJvhFlq_KFRkyu8OFTGdMG6eM6M,94576
32
32
  localstack/aws/api/dynamodbstreams/__init__.py,sha256=WUSvC51HIBnpDqDLQjCi2zh1HD1GccwsnpLiqcoftik,7316
@@ -176,7 +176,7 @@ localstack/runtime/server/twisted.py,sha256=bDYoRvF4HRGn2eYyPJ1AMCDeQ45ks1vVwzhx
176
176
  localstack/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
177
177
  localstack/services/edge.py,sha256=Z7ZOeUZE11Z31DeYiXOtzxbxtzWWVOzOYlVlR8ld7xY,6793
178
178
  localstack/services/internal.py,sha256=V5c_VnRjUmRptCyaRpLxs43zEzH3KxOAnuIvbLH1npk,11812
179
- localstack/services/moto.py,sha256=r3mqlgtx8RTwAODYUqxfExIr3UzlZUj4l4o81cmIbII,8477
179
+ localstack/services/moto.py,sha256=TqMuGh_7rXgauPhLA-DKIWB1cZL1q5zcxf0yqo4WRGI,9753
180
180
  localstack/services/plugins.py,sha256=yC8ImTk-SHtadctEXsvGMpOfQ2Hc7dQqrN41peCtry8,25053
181
181
  localstack/services/providers.py,sha256=cOolOC-hT8CHbOxC8j1VYpI5RE6hQOt-S7CsH2gK6K8,13209
182
182
  localstack/services/stores.py,sha256=11eON1arTKsLAcs4Z6aPKJL3jUxMpJrZBHEy-HcNfMw,11653
@@ -311,12 +311,12 @@ localstack/services/cloudformation/engine/types.py,sha256=JQF2aM5DUtnJhvQ30RTaKv
311
311
  localstack/services/cloudformation/engine/validations.py,sha256=brq7s8O8exA5kvnfzR9ulOtQ7i4konrWQs07-0h_ByE,2847
312
312
  localstack/services/cloudformation/engine/yaml_parser.py,sha256=LQpAVq9Syze9jXUGen9Mz8SjosBuodpV5XvsCSn9bDg,2164
313
313
  localstack/services/cloudformation/engine/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
314
- localstack/services/cloudformation/engine/v2/change_set_model.py,sha256=g0VhYOuo0mPGFtLeWZe0rr9Is9UFqq_zoy0fKezS97U,67388
314
+ localstack/services/cloudformation/engine/v2/change_set_model.py,sha256=FwpBgys6khq_FLabJVqrHQDEtSQN2zNVLtKWK4GBa54,67271
315
315
  localstack/services/cloudformation/engine/v2/change_set_model_describer.py,sha256=V2I46erxD3JIZ61xHPO0wJ174ee-hZBTeLgmFiNKR3A,11773
316
316
  localstack/services/cloudformation/engine/v2/change_set_model_executor.py,sha256=jADmXFaH3ClP0NH8YTcA5fr6D5Gk1cCvORp1V-We6O0,27403
317
- localstack/services/cloudformation/engine/v2/change_set_model_preproc.py,sha256=6s55h1h8CBK8-lDhaS4g8inoGehX3fjd_bXPF2U_Y0Q,54711
318
- localstack/services/cloudformation/engine/v2/change_set_model_transform.py,sha256=p5kw4C0MvgBt3uBGymvFPhLbo2zcHrnCVYPBZ0ksZKc,23332
319
- localstack/services/cloudformation/engine/v2/change_set_model_validator.py,sha256=EUqL6y2Rx4lYURoXvEH4Pyk3p-xYlVHCDF3oM6xeu0g,8555
317
+ localstack/services/cloudformation/engine/v2/change_set_model_preproc.py,sha256=lgtOVsPMnkdktOBcdvB4mogdVNu06YQPC2LfnVowC4s,55588
318
+ localstack/services/cloudformation/engine/v2/change_set_model_transform.py,sha256=7ylip_9dpwRlbBl4npRkK0Iy6E8FzcoGTaf7nAv0l3k,23471
319
+ localstack/services/cloudformation/engine/v2/change_set_model_validator.py,sha256=pyj4QmJVrDUgdnamAEJmglq9phX4gjh45N3K6wOU1q8,8120
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=CMQmaajmm19b3sA_9RiZuBe5wdAS6js5ESDLjeH81LY,3980
322
322
  localstack/services/cloudformation/models/__init__.py,sha256=da1PTClDMl-IBkrSvq6JC1lnS-K_BASzCvxVhNxN5Ls,13
@@ -336,16 +336,16 @@ localstack/services/cloudformation/resource_providers/aws_cloudformation_waitcon
336
336
  localstack/services/cloudformation/scaffolding/__main__.py,sha256=W4qA6eMNejKWLEhYL340DZEE2D9Bdkcl0Jmp0C7VnWc,30964
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
- localstack/services/cloudformation/v2/entities.py,sha256=6rdPRuTvgip197A-nLC5d8zsGKV0BuAq1wrXLMX9Opo,9196
340
- localstack/services/cloudformation/v2/provider.py,sha256=0Z6WG6KDaVdlb2i_zW-JcVa7SY1HbhteQ4aNe8bhfMI,66291
341
- localstack/services/cloudformation/v2/types.py,sha256=x_oDGQwxkViQ1fpcaSbBWiCODHZJAQgCej45EN-YZDs,957
339
+ localstack/services/cloudformation/v2/entities.py,sha256=g8V0CaxlkmY-tDdnH76zIUpXCFxXFf8ZkhxVV7U_5Oo,9283
340
+ localstack/services/cloudformation/v2/provider.py,sha256=eBmCCvzurexBSDXm-oSONsKWaufRwl1sUzNNZVa-q2o,67503
341
+ localstack/services/cloudformation/v2/types.py,sha256=jsfvn2z6weqruaDvv6qtSILtFiOTRl9fIjl0vXvl108,1060
342
342
  localstack/services/cloudformation/v2/utils.py,sha256=U1-YK7BEfA2lRKuUzDUVQ_dXUXybTHciNZA1G3xuZI8,202
343
343
  localstack/services/cloudwatch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
344
344
  localstack/services/cloudwatch/alarm_scheduler.py,sha256=HPzQgZvDVXIXaEkjJ39L-jBwlOi_-ZlAyJ3D_suWngk,15761
345
345
  localstack/services/cloudwatch/cloudwatch_database_helper.py,sha256=IK_MgxG3xTkpKbBe-Buv_6wUuHEc3MGQOqMAqHoEOzk,17270
346
346
  localstack/services/cloudwatch/models.py,sha256=y3JPWSZcDofSbkr2orW9pWD1cC4meP7mQ4YbYkVfGx8,3957
347
347
  localstack/services/cloudwatch/provider.py,sha256=naHmJCEwNr_dmU3s__H1ru1S6C-OGuNn1TUd59n5W5Y,19479
348
- localstack/services/cloudwatch/provider_v2.py,sha256=lA82WLqTbCrN92ZGgL707j6d8CzhX4m5OurffmjaMos,45028
348
+ localstack/services/cloudwatch/provider_v2.py,sha256=Nfz5CupS6aUbuo0Qdcwr7v38t48_K1UmLiQ4YSI8_4Y,45162
349
349
  localstack/services/cloudwatch/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
350
350
  localstack/services/cloudwatch/resource_providers/aws_cloudwatch_alarm.py,sha256=T0P5uTDjQO3lNw5w4wcdBgzFthGDjJXUkPtHo1BP13I,5172
351
351
  localstack/services/cloudwatch/resource_providers/aws_cloudwatch_alarm.schema.json,sha256=8Nam5WqGfyW85m55UVCwJF17Re4tPOIJY_m6Wq37y8k,3829
@@ -436,7 +436,7 @@ localstack/services/ec2/resource_providers/aws_ec2_vpcgatewayattachment.schema.j
436
436
  localstack/services/ec2/resource_providers/aws_ec2_vpcgatewayattachment_plugin.py,sha256=VEEBwGt7kT2dMJsedNWbj1bQzALio0H0E257BfgmPFI,572
437
437
  localstack/services/ecr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
438
438
  localstack/services/ecr/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
439
- localstack/services/ecr/resource_providers/aws_ecr_repository.py,sha256=sHfq-23tXzn7r0pwOf01ul3avPn2FxUuIwsfOPoPv8k,4964
439
+ localstack/services/ecr/resource_providers/aws_ecr_repository.py,sha256=UYVcr4f7nbw21JOT1j3XSQnScMheIZO2GC4Z3nO14jo,5149
440
440
  localstack/services/ecr/resource_providers/aws_ecr_repository.schema.json,sha256=lAqAkaPHsvc12nMwYXsOllBxLdSh9HB44NPLCB6fUBs,7832
441
441
  localstack/services/ecr/resource_providers/aws_ecr_repository_plugin.py,sha256=hb1nsrn93j-ZrA0JDlO1_XHLP1ygFyvSG1MqG34XIGw,522
442
442
  localstack/services/es/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -733,7 +733,7 @@ localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secrett
733
733
  localstack/services/secretsmanager/resource_providers/aws_secretsmanager_secrettargetattachment_plugin.py,sha256=PZcpUwLUmkp4d_s_rHWnRRtCpQFwIMrMaVlRpyYvb-8,648
734
734
  localstack/services/ses/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
735
735
  localstack/services/ses/models.py,sha256=JWBQNutfTFSCNZFHteAckqwDLy5W6Ctz5kmRcPBENMY,578
736
- localstack/services/ses/provider.py,sha256=ACTRVsx68BzSEaj9LFG05B_0lOZy6PO7el9Cd7GlyjY,25459
736
+ localstack/services/ses/provider.py,sha256=bzRhYGVt4zu0tgKusCBAY1dThh-yOQsMuwvnBe4QV0s,25534
737
737
  localstack/services/ses/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
738
738
  localstack/services/ses/resource_providers/aws_ses_emailidentity.py,sha256=dqFQ9sJL8ecyP-5XgYrFQOe_NAsFF7GbgTbQ6JtPZHs,5108
739
739
  localstack/services/ses/resource_providers/aws_ses_emailidentity.schema.json,sha256=V2e0GQp6xp8kjmyaBe-uTVl3_Za3DDrKXoDyA5ZCcTI,6093
@@ -1291,13 +1291,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
1291
1291
  localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1292
1292
  localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
1293
1293
  localstack/utils/xray/traceid.py,sha256=GKO-R2sMMjlrH2UaLPXlQlZ6flbE7ZKb6IZMtMu_M5U,1110
1294
- localstack_core-4.8.0.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1295
- localstack_core-4.8.0.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1296
- localstack_core-4.8.0.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1297
- localstack_core-4.8.0.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1298
- localstack_core-4.8.0.dist-info/METADATA,sha256=5pF6QF5--6-OcUMaJ9_ceRmQpNF8YPvi4C0w2Q3FDrY,5531
1299
- localstack_core-4.8.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1300
- localstack_core-4.8.0.dist-info/entry_points.txt,sha256=_ZJMdzN2FZoPbjxM2Q2yVTF6eucmoJsNpwav9_UyfTA,20821
1301
- localstack_core-4.8.0.dist-info/plux.json,sha256=1ZCkoInCXjshWk7vsqYsql1uC3C4pCjtMZiAk6M-EU4,21046
1302
- localstack_core-4.8.0.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1303
- localstack_core-4.8.0.dist-info/RECORD,,
1294
+ localstack_core-4.8.1.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1295
+ localstack_core-4.8.1.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1296
+ localstack_core-4.8.1.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1297
+ localstack_core-4.8.1.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1298
+ localstack_core-4.8.1.dist-info/METADATA,sha256=BBGu6ufiNw2C-pb3qta69OzegK6hvjKWNoEtpMzMqx0,5531
1299
+ localstack_core-4.8.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1300
+ localstack_core-4.8.1.dist-info/entry_points.txt,sha256=_ZJMdzN2FZoPbjxM2Q2yVTF6eucmoJsNpwav9_UyfTA,20821
1301
+ localstack_core-4.8.1.dist-info/plux.json,sha256=-IjlXZ_5gqmZ3I8IvubKUScrFozWo7kd2srrRLwOnSo,21046
1302
+ localstack_core-4.8.1.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1303
+ localstack_core-4.8.1.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"localstack.cloudformation.resource_providers": ["AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "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::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "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::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "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::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::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "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::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "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::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin"], "localstack.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "localstack.packages": ["kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.init.runner": ["py=localstack.runtime.init:PythonScriptRunner", "sh=localstack.runtime.init:ShellScriptRunner"], "localstack.hooks.on_infra_ready": ["_run_init_scripts_on_ready=localstack.runtime.init:_run_init_scripts_on_ready", "publish_provider_assignment=localstack.utils.analytics.service_providers:publish_provider_assignment"], "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", "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"], "localstack.hooks.on_infra_start": ["_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "eager_load_services=localstack.services.plugins:eager_load_services", "init_response_mutation_handler=localstack.aws.handlers.response:init_response_mutation_handler", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "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", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "_patch_botocore_endpoint_in_memory=localstack.aws.client:_patch_botocore_endpoint_in_memory", "_patch_botocore_json_parser=localstack.aws.client:_patch_botocore_json_parser", "_patch_cbor2=localstack.aws.client:_patch_cbor2"], "localstack.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.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.aws.provider": ["acm:default=localstack.services.providers:acm", "apigateway:default=localstack.services.providers:apigateway", "apigateway:legacy=localstack.services.providers:apigateway_legacy", "apigateway:next_gen=localstack.services.providers:apigateway_next_gen", "config:default=localstack.services.providers:awsconfig", "cloudformation:engine-legacy=localstack.services.providers:cloudformation", "cloudformation:default=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", "sns:v2=localstack.services.providers:sns_v2", "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"]}
@@ -1 +0,0 @@
1
- {"localstack.cloudformation.resource_providers": ["AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin"], "localstack.hooks.on_infra_start": ["register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "eager_load_services=localstack.services.plugins:eager_load_services", "_publish_config_as_analytics_event=localstack.runtime.analytics:_publish_config_as_analytics_event", "_publish_container_info=localstack.runtime.analytics:_publish_container_info", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "_patch_botocore_endpoint_in_memory=localstack.aws.client:_patch_botocore_endpoint_in_memory", "_patch_botocore_json_parser=localstack.aws.client:_patch_botocore_json_parser", "_patch_cbor2=localstack.aws.client:_patch_cbor2", "init_response_mutation_handler=localstack.aws.handlers.response:init_response_mutation_handler", "register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings"], "localstack.packages": ["elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "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", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package"], "localstack.hooks.on_infra_ready": ["publish_provider_assignment=localstack.utils.analytics.service_providers:publish_provider_assignment", "_run_init_scripts_on_ready=localstack.runtime.init:_run_init_scripts_on_ready"], "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:engine-legacy=localstack.services.providers:cloudformation", "cloudformation:default=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", "sns:v2=localstack.services.providers:sns_v2", "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.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.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "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", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "stop_server=localstack.dns.plugins:stop_server"], "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.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"]}