localstack-core 4.3.1.dev49__py3-none-any.whl → 4.3.1.dev51__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.
@@ -171,6 +171,7 @@ from localstack.utils.common import truncate
171
171
  from localstack.utils.event_matcher import matches_event
172
172
  from localstack.utils.strings import long_uid
173
173
  from localstack.utils.time import TIMESTAMP_FORMAT_TZ, timestamp
174
+ from localstack.utils.xray.trace_header import TraceHeader
174
175
 
175
176
  from .analytics import InvocationStatus, rule_invocation
176
177
 
@@ -1541,8 +1542,11 @@ class EventsProvider(EventsApi, ServiceLifecycleHook):
1541
1542
  }
1542
1543
  target_unique_id = f"{rule.arn}-{target['Id']}"
1543
1544
  target_sender = self._target_sender_store[target_unique_id]
1545
+ new_trace_header = (
1546
+ TraceHeader().ensure_root_exists()
1547
+ ) # scheduled events will always start a new trace
1544
1548
  try:
1545
- target_sender.process_event(event.copy())
1549
+ target_sender.process_event(event.copy(), trace_header=new_trace_header)
1546
1550
  except Exception as e:
1547
1551
  LOG.info(
1548
1552
  "Unable to send event notification %s to target %s: %s",
@@ -1814,6 +1818,8 @@ class EventsProvider(EventsApi, ServiceLifecycleHook):
1814
1818
  return
1815
1819
 
1816
1820
  region, account_id = extract_region_and_account_id(event_bus_name_or_arn, context)
1821
+
1822
+ # TODO check interference with x-ray trace header
1817
1823
  if encoded_trace_header := get_trace_header_encoded_region_account(
1818
1824
  entry, context.region, context.account_id, region, account_id
1819
1825
  ):
@@ -1837,14 +1843,16 @@ class EventsProvider(EventsApi, ServiceLifecycleHook):
1837
1843
  )
1838
1844
  return
1839
1845
 
1840
- self._proxy_capture_input_event(event_formatted)
1846
+ trace_header = context.trace_context["aws_trace_header"]
1847
+
1848
+ self._proxy_capture_input_event(event_formatted, trace_header)
1841
1849
 
1842
1850
  # Always add the successful EventId entry, even if target processing might fail
1843
1851
  processed_entries.append({"EventId": event_formatted["id"]})
1844
1852
 
1845
1853
  if configured_rules := list(event_bus.rules.values()):
1846
1854
  for rule in configured_rules:
1847
- self._process_rules(rule, region, account_id, event_formatted)
1855
+ self._process_rules(rule, region, account_id, event_formatted, trace_header)
1848
1856
  else:
1849
1857
  LOG.info(
1850
1858
  json.dumps(
@@ -1855,7 +1863,7 @@ class EventsProvider(EventsApi, ServiceLifecycleHook):
1855
1863
  )
1856
1864
  )
1857
1865
 
1858
- def _proxy_capture_input_event(self, event: FormattedEvent) -> None:
1866
+ def _proxy_capture_input_event(self, event: FormattedEvent, trace_header: TraceHeader) -> None:
1859
1867
  # only required for eventstudio to capture input event if no rule is configured
1860
1868
  pass
1861
1869
 
@@ -1865,6 +1873,7 @@ class EventsProvider(EventsApi, ServiceLifecycleHook):
1865
1873
  region: str,
1866
1874
  account_id: str,
1867
1875
  event_formatted: FormattedEvent,
1876
+ trace_header: TraceHeader,
1868
1877
  ) -> None:
1869
1878
  """Process rules for an event. Note that we no longer handle entries here as AWS returns success regardless of target failures."""
1870
1879
  event_pattern = rule.event_pattern
@@ -1894,7 +1903,7 @@ class EventsProvider(EventsApi, ServiceLifecycleHook):
1894
1903
  target_unique_id = f"{rule.arn}-{target_id}"
1895
1904
  target_sender = self._target_sender_store[target_unique_id]
1896
1905
  try:
1897
- target_sender.process_event(event_formatted.copy())
1906
+ target_sender.process_event(event_formatted.copy(), trace_header)
1898
1907
  rule_invocation.labels(
1899
1908
  status=InvocationStatus.success,
1900
1909
  service=target_sender.service,
@@ -47,6 +47,7 @@ from localstack.utils.aws.message_forwarding import (
47
47
  from localstack.utils.json import extract_jsonpath
48
48
  from localstack.utils.strings import to_bytes
49
49
  from localstack.utils.time import now_utc
50
+ from localstack.utils.xray.trace_header import TraceHeader
50
51
 
51
52
  LOG = logging.getLogger(__name__)
52
53
 
@@ -63,6 +64,7 @@ PREDEFINED_PLACEHOLDERS: Set[str] = AWS_PREDEFINED_PLACEHOLDERS_STRING_VALUES.un
63
64
  )
64
65
 
65
66
  TRANSFORMER_PLACEHOLDER_PATTERN = re.compile(r"<(.*?)>")
67
+ TRACE_HEADER_KEY = "X-Amzn-Trace-Id"
66
68
 
67
69
 
68
70
  def transform_event_with_target_input_path(
@@ -193,10 +195,10 @@ class TargetSender(ABC):
193
195
  return self._client
194
196
 
195
197
  @abstractmethod
196
- def send_event(self, event: FormattedEvent | TransformedEvent):
198
+ def send_event(self, event: FormattedEvent | TransformedEvent, trace_header: TraceHeader):
197
199
  pass
198
200
 
199
- def process_event(self, event: FormattedEvent):
201
+ def process_event(self, event: FormattedEvent, trace_header: TraceHeader):
200
202
  """Processes the event and send it to the target."""
201
203
  if input_ := self.target.get("Input"):
202
204
  event = json.loads(input_)
@@ -208,7 +210,7 @@ class TargetSender(ABC):
208
210
  if input_transformer := self.target.get("InputTransformer"):
209
211
  event = self.transform_event_with_target_input_transformer(input_transformer, event)
210
212
  if event:
211
- self.send_event(event)
213
+ self.send_event(event, trace_header)
212
214
  else:
213
215
  LOG.info("No event to send to target %s", self.target.get("Id"))
214
216
 
@@ -257,6 +259,7 @@ class TargetSender(ABC):
257
259
  client = client.request_metadata(
258
260
  service_principal=service_principal, source_arn=self.rule_arn
259
261
  )
262
+ self._register_client_hooks(client)
260
263
  return client
261
264
 
262
265
  def _validate_input_transformer(self, input_transformer: InputTransformer):
@@ -287,6 +290,24 @@ class TargetSender(ABC):
287
290
 
288
291
  return predefined_template_replacements
289
292
 
293
+ def _register_client_hooks(self, client: BaseClient):
294
+ """Register client hooks to inject trace header into requests."""
295
+
296
+ def handle_extract_params(params, context, **kwargs):
297
+ trace_header = params.pop("TraceHeader", None)
298
+ if trace_header is None:
299
+ return
300
+ context[TRACE_HEADER_KEY] = trace_header.to_header_str()
301
+
302
+ def handle_inject_headers(params, context, **kwargs):
303
+ if trace_header_str := context.pop(TRACE_HEADER_KEY, None):
304
+ params["headers"][TRACE_HEADER_KEY] = trace_header_str
305
+
306
+ client.meta.events.register(
307
+ f"provide-client-params.{self.service}.*", handle_extract_params
308
+ )
309
+ client.meta.events.register(f"before-call.{self.service}.*", handle_inject_headers)
310
+
290
311
 
291
312
  TargetSenderDict = dict[str, TargetSender] # rule_arn-target_id as global unique id
292
313
 
@@ -316,7 +337,7 @@ class ApiGatewayTargetSender(TargetSender):
316
337
 
317
338
  ALLOWED_HTTP_METHODS = {"GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"}
318
339
 
319
- def send_event(self, event):
340
+ def send_event(self, event, trace_header):
320
341
  # Parse the ARN to extract api_id, stage_name, http_method, and resource path
321
342
  # Example ARN: arn:{partition}:execute-api:{region}:{account_id}:{api_id}/{stage_name}/{method}/{resource_path}
322
343
  arn_parts = parse_arn(self.target["Arn"])
@@ -383,6 +404,9 @@ class ApiGatewayTargetSender(TargetSender):
383
404
  # Serialize the event, converting datetime objects to strings
384
405
  event_json = json.dumps(event, default=str)
385
406
 
407
+ # Add trace header
408
+ headers[TRACE_HEADER_KEY] = trace_header.to_header_str()
409
+
386
410
  # Send the HTTP request
387
411
  response = requests.request(
388
412
  method=http_method, url=url, headers=headers, data=event_json, timeout=5
@@ -415,12 +439,12 @@ class ApiGatewayTargetSender(TargetSender):
415
439
 
416
440
 
417
441
  class AppSyncTargetSender(TargetSender):
418
- def send_event(self, event):
442
+ def send_event(self, event, trace_header):
419
443
  raise NotImplementedError("AppSync target is not yet implemented")
420
444
 
421
445
 
422
446
  class BatchTargetSender(TargetSender):
423
- def send_event(self, event):
447
+ def send_event(self, event, trace_header):
424
448
  raise NotImplementedError("Batch target is not yet implemented")
425
449
 
426
450
  def _validate_input(self, target: Target):
@@ -433,7 +457,7 @@ class BatchTargetSender(TargetSender):
433
457
 
434
458
 
435
459
  class ECSTargetSender(TargetSender):
436
- def send_event(self, event):
460
+ def send_event(self, event, trace_header):
437
461
  raise NotImplementedError("ECS target is a pro feature, please use LocalStack Pro")
438
462
 
439
463
  def _validate_input(self, target: Target):
@@ -444,7 +468,7 @@ class ECSTargetSender(TargetSender):
444
468
 
445
469
 
446
470
  class EventsTargetSender(TargetSender):
447
- def send_event(self, event):
471
+ def send_event(self, event, trace_header):
448
472
  # TODO add validation and tests for eventbridge to eventbridge requires Detail, DetailType, and Source
449
473
  # https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/events/client/put_events.html
450
474
  source = self._get_source(event)
@@ -464,7 +488,8 @@ class EventsTargetSender(TargetSender):
464
488
  event, self.region, self.account_id, self.target_region, self.target_account_id
465
489
  ):
466
490
  entries[0]["TraceHeader"] = encoded_original_id
467
- self.client.put_events(Entries=entries)
491
+
492
+ self.client.put_events(Entries=entries, TraceHeader=trace_header)
468
493
 
469
494
  def _get_source(self, event: FormattedEvent | TransformedEvent) -> str:
470
495
  if isinstance(event, dict) and (source := event.get("source")):
@@ -486,7 +511,7 @@ class EventsTargetSender(TargetSender):
486
511
 
487
512
 
488
513
  class EventsApiDestinationTargetSender(TargetSender):
489
- def send_event(self, event):
514
+ def send_event(self, event, trace_header):
490
515
  """Send an event to an EventBridge API destination
491
516
  See https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html"""
492
517
  target_arn = self.target["Arn"]
@@ -520,6 +545,9 @@ class EventsApiDestinationTargetSender(TargetSender):
520
545
  if http_parameters := self.target.get("HttpParameters"):
521
546
  endpoint = add_target_http_parameters(http_parameters, endpoint, headers, event)
522
547
 
548
+ # add trace header
549
+ headers[TRACE_HEADER_KEY] = trace_header.to_header_str()
550
+
523
551
  result = requests.request(
524
552
  method=method, url=endpoint, data=json.dumps(event or {}), headers=headers
525
553
  )
@@ -532,8 +560,9 @@ class EventsApiDestinationTargetSender(TargetSender):
532
560
 
533
561
 
534
562
  class FirehoseTargetSender(TargetSender):
535
- def send_event(self, event):
563
+ def send_event(self, event, trace_header):
536
564
  delivery_stream_name = firehose_name(self.target["Arn"])
565
+
537
566
  self.client.put_record(
538
567
  DeliveryStreamName=delivery_stream_name,
539
568
  Record={"Data": to_bytes(to_json_str(event))},
@@ -541,7 +570,7 @@ class FirehoseTargetSender(TargetSender):
541
570
 
542
571
 
543
572
  class KinesisTargetSender(TargetSender):
544
- def send_event(self, event):
573
+ def send_event(self, event, trace_header):
545
574
  partition_key_path = collections.get_safe(
546
575
  self.target,
547
576
  "$.KinesisParameters.PartitionKeyPath",
@@ -549,6 +578,7 @@ class KinesisTargetSender(TargetSender):
549
578
  )
550
579
  stream_name = self.target["Arn"].split("/")[-1]
551
580
  partition_key = collections.get_safe(event, partition_key_path, event["id"])
581
+
552
582
  self.client.put_record(
553
583
  StreamName=stream_name,
554
584
  Data=to_bytes(to_json_str(event)),
@@ -565,18 +595,20 @@ class KinesisTargetSender(TargetSender):
565
595
 
566
596
 
567
597
  class LambdaTargetSender(TargetSender):
568
- def send_event(self, event):
598
+ def send_event(self, event, trace_header):
569
599
  self.client.invoke(
570
600
  FunctionName=self.target["Arn"],
571
601
  Payload=to_bytes(to_json_str(event)),
572
602
  InvocationType="Event",
603
+ TraceHeader=trace_header,
573
604
  )
574
605
 
575
606
 
576
607
  class LogsTargetSender(TargetSender):
577
- def send_event(self, event):
608
+ def send_event(self, event, trace_header):
578
609
  log_group_name = self.target["Arn"].split(":")[6]
579
610
  log_stream_name = str(uuid.uuid4()) # Unique log stream name
611
+
580
612
  self.client.create_log_stream(logGroupName=log_group_name, logStreamName=log_stream_name)
581
613
  self.client.put_log_events(
582
614
  logGroupName=log_group_name,
@@ -591,7 +623,7 @@ class LogsTargetSender(TargetSender):
591
623
 
592
624
 
593
625
  class RedshiftTargetSender(TargetSender):
594
- def send_event(self, event):
626
+ def send_event(self, event, trace_header):
595
627
  raise NotImplementedError("Redshift target is not yet implemented")
596
628
 
597
629
  def _validate_input(self, target: Target):
@@ -602,20 +634,21 @@ class RedshiftTargetSender(TargetSender):
602
634
 
603
635
 
604
636
  class SagemakerTargetSender(TargetSender):
605
- def send_event(self, event):
637
+ def send_event(self, event, trace_header):
606
638
  raise NotImplementedError("Sagemaker target is not yet implemented")
607
639
 
608
640
 
609
641
  class SnsTargetSender(TargetSender):
610
- def send_event(self, event):
642
+ def send_event(self, event, trace_header):
611
643
  self.client.publish(TopicArn=self.target["Arn"], Message=to_json_str(event))
612
644
 
613
645
 
614
646
  class SqsTargetSender(TargetSender):
615
- def send_event(self, event):
647
+ def send_event(self, event, trace_header):
616
648
  queue_url = sqs_queue_url_for_arn(self.target["Arn"])
617
649
  msg_group_id = self.target.get("SqsParameters", {}).get("MessageGroupId", None)
618
650
  kwargs = {"MessageGroupId": msg_group_id} if msg_group_id else {}
651
+
619
652
  self.client.send_message(
620
653
  QueueUrl=queue_url,
621
654
  MessageBody=to_json_str(event),
@@ -626,8 +659,9 @@ class SqsTargetSender(TargetSender):
626
659
  class StatesTargetSender(TargetSender):
627
660
  """Step Functions Target Sender"""
628
661
 
629
- def send_event(self, event):
662
+ def send_event(self, event, trace_header):
630
663
  self.service = "stepfunctions"
664
+
631
665
  self.client.start_execution(
632
666
  stateMachineArn=self.target["Arn"], name=event["id"], input=to_json_str(event)
633
667
  )
@@ -642,7 +676,7 @@ class StatesTargetSender(TargetSender):
642
676
  class SystemsManagerSender(TargetSender):
643
677
  """EC2 Run Command Target Sender"""
644
678
 
645
- def send_event(self, event):
679
+ def send_event(self, event, trace_header):
646
680
  raise NotImplementedError("Systems Manager target is not yet implemented")
647
681
 
648
682
  def _validate_input(self, target: Target):
@@ -1,9 +1,19 @@
1
+ from typing import TypedDict
2
+
3
+ from localstack.aws.api.sts import Tag
1
4
  from localstack.services.stores import AccountRegionBundle, BaseStore, CrossRegionAttribute
2
5
 
3
6
 
7
+ class SessionTaggingConfig(TypedDict):
8
+ # <lower-case-tag-key> => {"Key": <case-preserved-tag-key>, "Value": <tag-value>}
9
+ tags: dict[str, Tag]
10
+ # list of lowercase transitive tag keys
11
+ transitive_tags: list[str]
12
+
13
+
4
14
  class STSStore(BaseStore):
5
- # maps access key ids to tags for the session they belong to
6
- session_tags: dict[str, dict[str, str]] = CrossRegionAttribute(default=dict)
15
+ # maps access key ids to tagging config for the session they belong to
16
+ session_tags: dict[str, SessionTaggingConfig] = CrossRegionAttribute(default=dict)
7
17
 
8
18
 
9
19
  sts_stores = AccountRegionBundle("sts", STSStore)
@@ -1,6 +1,6 @@
1
1
  import logging
2
2
 
3
- from localstack.aws.api import RequestContext
3
+ from localstack.aws.api import RequestContext, ServiceException
4
4
  from localstack.aws.api.sts import (
5
5
  AssumeRoleResponse,
6
6
  GetCallerIdentityResponse,
@@ -21,12 +21,19 @@ from localstack.aws.api.sts import (
21
21
  from localstack.services.iam.iam_patches import apply_iam_patches
22
22
  from localstack.services.moto import call_moto
23
23
  from localstack.services.plugins import ServiceLifecycleHook
24
- from localstack.services.sts.models import sts_stores
24
+ from localstack.services.sts.models import SessionTaggingConfig, sts_stores
25
25
  from localstack.utils.aws.arns import extract_account_id_from_arn
26
+ from localstack.utils.aws.request_context import extract_access_key_id_from_auth_header
26
27
 
27
28
  LOG = logging.getLogger(__name__)
28
29
 
29
30
 
31
+ class InvalidParameterValueError(ServiceException):
32
+ code = "InvalidParameterValue"
33
+ status_code = 400
34
+ sender_fault = True
35
+
36
+
30
37
  class StsProvider(StsApi, ServiceLifecycleHook):
31
38
  def __init__(self):
32
39
  apply_iam_patches()
@@ -54,15 +61,47 @@ class StsProvider(StsApi, ServiceLifecycleHook):
54
61
  provided_contexts: ProvidedContextsListType = None,
55
62
  **kwargs,
56
63
  ) -> AssumeRoleResponse:
57
- response: AssumeRoleResponse = call_moto(context)
64
+ target_account_id = extract_account_id_from_arn(role_arn)
65
+ access_key_id = extract_access_key_id_from_auth_header(context.request.headers)
66
+ store = sts_stores[target_account_id]["us-east-1"]
67
+ existing_tagging_config = store.session_tags.get(access_key_id, {})
58
68
 
59
69
  if tags:
60
- transformed_tags = {tag["Key"]: tag["Value"] for tag in tags}
61
- # we should save it in the store of the role account, not the requester
62
- account_id = extract_account_id_from_arn(role_arn)
63
- # the region is hardcoded to "us-east-1" as IAM/STS are global services
64
- # this will only differ for other partitions, which are not yet supported
65
- store = sts_stores[account_id]["us-east-1"]
70
+ tag_keys = {tag["Key"].lower() for tag in tags}
71
+ # if the lower-cased set is smaller than the number of keys, there have to be some duplicates.
72
+ if len(tag_keys) < len(tags):
73
+ raise InvalidParameterValueError(
74
+ "Duplicate tag keys found. Please note that Tag keys are case insensitive."
75
+ )
76
+
77
+ # prevent transitive tags from being overridden
78
+ if existing_tagging_config:
79
+ if set(existing_tagging_config["transitive_tags"]).intersection(tag_keys):
80
+ raise InvalidParameterValueError(
81
+ "One of the specified transitive tag keys can't be set because it conflicts with a transitive tag key from the calling session."
82
+ )
83
+ if transitive_tag_keys:
84
+ transitive_tag_key_set = {key.lower() for key in transitive_tag_keys}
85
+ if not transitive_tag_key_set <= tag_keys:
86
+ raise InvalidParameterValueError(
87
+ "The specified transitive tag key must be included in the requested tags."
88
+ )
89
+
90
+ response: AssumeRoleResponse = call_moto(context)
91
+
92
+ transitive_tag_keys = transitive_tag_keys or []
93
+ tags = tags or []
94
+ transformed_tags = {tag["Key"].lower(): tag for tag in tags}
95
+ # propagate transitive tags
96
+ if existing_tagging_config:
97
+ for tag in existing_tagging_config["transitive_tags"]:
98
+ transformed_tags[tag] = existing_tagging_config["tags"][tag]
99
+ transitive_tag_keys += existing_tagging_config["transitive_tags"]
100
+ if transformed_tags:
101
+ # store session tagging config
66
102
  access_key_id = response["Credentials"]["AccessKeyId"]
67
- store.session_tags[access_key_id] = transformed_tags
103
+ store.session_tags[access_key_id] = SessionTaggingConfig(
104
+ tags=transformed_tags,
105
+ transitive_tags=[key.lower() for key in transitive_tag_keys],
106
+ )
68
107
  return response
localstack/version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '4.3.1.dev49'
21
- __version_tuple__ = version_tuple = (4, 3, 1, 'dev49')
20
+ __version__ = version = '4.3.1.dev51'
21
+ __version_tuple__ = version_tuple = (4, 3, 1, 'dev51')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localstack-core
3
- Version: 4.3.1.dev49
3
+ Version: 4.3.1.dev51
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=-ksaZS6U5bwxY8bZy_6NO8MoLfvmulaBeuBssFTqw0I,526
7
+ localstack/version.py,sha256=vKb_MGNprHYGbBdXMGxcMEFLysfZgEh7W7lkXL4cagc,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
@@ -443,11 +443,11 @@ localstack/services/events/connection.py,sha256=mISkJ3_5SmaCopVCi2J7fEvd-MdBOA0S
443
443
  localstack/services/events/event_bus.py,sha256=GMTyJdc6mwH5uQYKPR799oZec9hKEXhssCGUiQalC8M,4184
444
444
  localstack/services/events/event_rule_engine.py,sha256=y00JStGykaVwqtsuYlgLnEVs0m5zAzrCrVWnJJIuyLs,27360
445
445
  localstack/services/events/models.py,sha256=pb4EtFmE7B_34AJ4yT9LxzXv26BH6Gd9k0PfO3mRm_c,9812
446
- localstack/services/events/provider.py,sha256=L8CNHV4pDgbK0csySy7WNKkBTZIqBh6tLvZHMNqxXJg,73783
446
+ localstack/services/events/provider.py,sha256=FH-Qa52LddnRZYeZT2qU3hDiV9_66gShY-EmB0OlWzA,74262
447
447
  localstack/services/events/replay.py,sha256=0IVRvH6J6zLKke4mu7ANDr-4iNdXYu3xMiM90fTjpGE,2981
448
448
  localstack/services/events/rule.py,sha256=u-8WE8tdtxvFs5cKpemofdUkOOe36diF0X90Cq_Bdl0,10187
449
449
  localstack/services/events/scheduler.py,sha256=nBx5g1CyNJQOLAyeNgGznc9A4sxREX1S6WnqbBc_YGc,4255
450
- localstack/services/events/target.py,sha256=4xcwp-LbOCLLy0YZilweQo7p99FLQwN5UWgpTQP4UMg,28152
450
+ localstack/services/events/target.py,sha256=sSjpCcrCK0Uo_7xbpzh1flU0Qf1n_wb5qB0zxN44vI0,29647
451
451
  localstack/services/events/utils.py,sha256=Ccn5ZlB8CKmesGxLqA_luCd8d3jy2NbK8YMv2OPNaf4,10215
452
452
  localstack/services/events/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
453
453
  localstack/services/events/resource_providers/aws_events_apidestination.py,sha256=bLiGZ0ueKfxDjrOObpAraCe6AChWq2_GzH9RPsDi1qE,3234
@@ -1134,8 +1134,8 @@ localstack/services/stepfunctions/resource_providers/aws_stepfunctions_statemach
1134
1134
  localstack/services/stepfunctions/resource_providers/aws_stepfunctions_statemachine.schema.json,sha256=9jWSs6wkQmi61C_n6OEA53k0sHHEMSuy0fwANXWhXbE,5388
1135
1135
  localstack/services/stepfunctions/resource_providers/aws_stepfunctions_statemachine_plugin.py,sha256=zmRP9O4ToPojDKpXRE6pz5H9WrArj27diejyXx_kAxg,630
1136
1136
  localstack/services/sts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1137
- localstack/services/sts/models.py,sha256=WfxnBj1_LFsCX2ywbQBzZrkXdkzagUkR3yMp24l2q_Y,319
1138
- localstack/services/sts/provider.py,sha256=MeTpM6NXSI2tdDjnYgCO2rte9dIePf00eTttNZmCwlk,2591
1137
+ localstack/services/sts/models.py,sha256=JbHYK7pRV6m_QntzdiLG6jYS4II4A21B7MGU1vR_uiE,631
1138
+ localstack/services/sts/provider.py,sha256=PDS4mZc99RJA7DYzjUBVaitdEkQgFMHv2Ue52y9sVII,4501
1139
1139
  localstack/services/support/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1140
1140
  localstack/services/support/provider.py,sha256=_QUkCksZulUtdNhz6p0aCpRRgG38kYrnZYMShESErOw,122
1141
1141
  localstack/services/swf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1276,13 +1276,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
1276
1276
  localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1277
1277
  localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
1278
1278
  localstack/utils/xray/traceid.py,sha256=SQSsMV2rhbTNK6ceIoozZYuGU7Fg687EXcgqxoDl1Fw,1106
1279
- localstack_core-4.3.1.dev49.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1280
- localstack_core-4.3.1.dev49.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1281
- localstack_core-4.3.1.dev49.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1282
- localstack_core-4.3.1.dev49.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1283
- localstack_core-4.3.1.dev49.dist-info/METADATA,sha256=L1M9rFsR4_gfsMEWDPx2aveadALc2sprOEYqs-yK8b0,5499
1284
- localstack_core-4.3.1.dev49.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
1285
- localstack_core-4.3.1.dev49.dist-info/entry_points.txt,sha256=UqGFR0MPKa2sfresdqiCpqBZuWyRxCb3UG77oPVMzVA,20564
1286
- localstack_core-4.3.1.dev49.dist-info/plux.json,sha256=6OwOkWgk_J0EaOtKIogNjQUEXYXScPir2Icucle5PUc,20786
1287
- localstack_core-4.3.1.dev49.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1288
- localstack_core-4.3.1.dev49.dist-info/RECORD,,
1279
+ localstack_core-4.3.1.dev51.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1280
+ localstack_core-4.3.1.dev51.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1281
+ localstack_core-4.3.1.dev51.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1282
+ localstack_core-4.3.1.dev51.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1283
+ localstack_core-4.3.1.dev51.dist-info/METADATA,sha256=EFgggutMKQCmOtqhys-dZXzO7jpRMJ3mm144QlDYg7k,5499
1284
+ localstack_core-4.3.1.dev51.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
1285
+ localstack_core-4.3.1.dev51.dist-info/entry_points.txt,sha256=UqGFR0MPKa2sfresdqiCpqBZuWyRxCb3UG77oPVMzVA,20564
1286
+ localstack_core-4.3.1.dev51.dist-info/plux.json,sha256=VODtE1g7zNnehOznNmGoc0pHMMxw6x4Ag2UQebELGBw,20786
1287
+ localstack_core-4.3.1.dev51.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1288
+ localstack_core-4.3.1.dev51.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"localstack.packages": ["lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "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"], "localstack.hooks.on_infra_start": ["register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "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", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "_publish_config_as_analytics_event=localstack.runtime.analytics:_publish_config_as_analytics_event", "_publish_container_info=localstack.runtime.analytics:_publish_container_info", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "_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", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start"], "localstack.hooks.on_infra_shutdown": ["remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "stop_server=localstack.dns.plugins:stop_server", "aggregate_and_send=localstack.utils.analytics.usage:aggregate_and_send", "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:publish_metrics", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown"], "localstack.cloudformation.resource_providers": ["AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "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::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.aws.provider": ["acm:default=localstack.services.providers:acm", "apigateway:default=localstack.services.providers:apigateway", "apigateway:legacy=localstack.services.providers:apigateway_legacy", "apigateway:next_gen=localstack.services.providers:apigateway_next_gen", "config:default=localstack.services.providers:awsconfig", "cloudformation:default=localstack.services.providers:cloudformation", "cloudformation:engine-v2=localstack.services.providers:cloudformation_v2", "cloudwatch:default=localstack.services.providers:cloudwatch", "cloudwatch:v1=localstack.services.providers:cloudwatch_v1", "cloudwatch:v2=localstack.services.providers:cloudwatch_v2", "dynamodb:default=localstack.services.providers:dynamodb", "dynamodb:v2=localstack.services.providers:dynamodb_v2", "dynamodbstreams:default=localstack.services.providers:dynamodbstreams", "dynamodbstreams:v2=localstack.services.providers:dynamodbstreams_v2", "ec2:default=localstack.services.providers:ec2", "es:default=localstack.services.providers:es", "events:default=localstack.services.providers:events", "events:legacy=localstack.services.providers:events_legacy", "events:v1=localstack.services.providers:events_v1", "events:v2=localstack.services.providers:events_v2", "firehose:default=localstack.services.providers:firehose", "iam:default=localstack.services.providers:iam", "kinesis:default=localstack.services.providers:kinesis", "kms:default=localstack.services.providers:kms", "lambda:default=localstack.services.providers:lambda_", "lambda:asf=localstack.services.providers:lambda_asf", "lambda:v2=localstack.services.providers:lambda_v2", "logs:default=localstack.services.providers:logs", "opensearch:default=localstack.services.providers:opensearch", "redshift:default=localstack.services.providers:redshift", "resource-groups:default=localstack.services.providers:resource_groups", "resourcegroupstaggingapi:default=localstack.services.providers:resourcegroupstaggingapi", "route53:default=localstack.services.providers:route53", "route53resolver:default=localstack.services.providers:route53resolver", "s3:default=localstack.services.providers:s3", "s3control:default=localstack.services.providers:s3control", "scheduler:default=localstack.services.providers:scheduler", "secretsmanager:default=localstack.services.providers:secretsmanager", "ses:default=localstack.services.providers:ses", "sns:default=localstack.services.providers:sns", "sqs:default=localstack.services.providers:sqs", "ssm:default=localstack.services.providers:ssm", "stepfunctions:default=localstack.services.providers:stepfunctions", "stepfunctions:v2=localstack.services.providers:stepfunctions_v2", "sts:default=localstack.services.providers:sts", "support:default=localstack.services.providers:support", "swf:default=localstack.services.providers:swf", "transcribe:default=localstack.services.providers:transcribe"], "localstack.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.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"]}
@@ -1 +0,0 @@
1
- {"localstack.cloudformation.resource_providers": ["AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "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::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "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::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin"], "localstack.packages": ["opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_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", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package"], "localstack.hooks.on_infra_shutdown": ["publish_metrics=localstack.utils.analytics.metrics:publish_metrics", "run_on_after_service_shutdown_handlers=localstack.runtime.shutdown:run_on_after_service_shutdown_handlers", "run_shutdown_handlers=localstack.runtime.shutdown:run_shutdown_handlers", "shutdown_services=localstack.runtime.shutdown:shutdown_services", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "aggregate_and_send=localstack.utils.analytics.usage:aggregate_and_send", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "stop_server=localstack.dns.plugins:stop_server"], "localstack.init.runner": ["py=localstack.runtime.init:PythonScriptRunner", "sh=localstack.runtime.init:ShellScriptRunner"], "localstack.hooks.on_infra_ready": ["_run_init_scripts_on_ready=localstack.runtime.init:_run_init_scripts_on_ready"], "localstack.hooks.on_infra_start": ["_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "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", "_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", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "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", "_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"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "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.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.hooks.configure_localstack_container": ["_mount_machine_file=localstack.utils.analytics.metadata:_mount_machine_file"], "localstack.hooks.prepare_host": ["prepare_host_machine_id=localstack.utils.analytics.metadata:prepare_host_machine_id"]}