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.
- localstack/services/events/provider.py +14 -5
- localstack/services/events/target.py +54 -20
- localstack/services/sts/models.py +12 -2
- localstack/services/sts/provider.py +49 -10
- localstack/version.py +2 -2
- {localstack_core-4.3.1.dev49.dist-info → localstack_core-4.3.1.dev51.dist-info}/METADATA +1 -1
- {localstack_core-4.3.1.dev49.dist-info → localstack_core-4.3.1.dev51.dist-info}/RECORD +15 -15
- localstack_core-4.3.1.dev51.dist-info/plux.json +1 -0
- localstack_core-4.3.1.dev49.dist-info/plux.json +0 -1
- {localstack_core-4.3.1.dev49.data → localstack_core-4.3.1.dev51.data}/scripts/localstack +0 -0
- {localstack_core-4.3.1.dev49.data → localstack_core-4.3.1.dev51.data}/scripts/localstack-supervisor +0 -0
- {localstack_core-4.3.1.dev49.data → localstack_core-4.3.1.dev51.data}/scripts/localstack.bat +0 -0
- {localstack_core-4.3.1.dev49.dist-info → localstack_core-4.3.1.dev51.dist-info}/WHEEL +0 -0
- {localstack_core-4.3.1.dev49.dist-info → localstack_core-4.3.1.dev51.dist-info}/entry_points.txt +0 -0
- {localstack_core-4.3.1.dev49.dist-info → localstack_core-4.3.1.dev51.dist-info}/licenses/LICENSE.txt +0 -0
- {localstack_core-4.3.1.dev49.dist-info → localstack_core-4.3.1.dev51.dist-info}/top_level.txt +0 -0
@@ -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
|
-
|
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
|
-
|
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
|
6
|
-
session_tags: dict[str,
|
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
|
-
|
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
|
-
|
61
|
-
#
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
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] =
|
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.
|
21
|
-
__version_tuple__ = version_tuple = (4, 3, 1, '
|
20
|
+
__version__ = version = '4.3.1.dev51'
|
21
|
+
__version_tuple__ = version_tuple = (4, 3, 1, 'dev51')
|
@@ -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
|
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=
|
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=
|
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=
|
1138
|
-
localstack/services/sts/provider.py,sha256=
|
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.
|
1280
|
-
localstack_core-4.3.1.
|
1281
|
-
localstack_core-4.3.1.
|
1282
|
-
localstack_core-4.3.1.
|
1283
|
-
localstack_core-4.3.1.
|
1284
|
-
localstack_core-4.3.1.
|
1285
|
-
localstack_core-4.3.1.
|
1286
|
-
localstack_core-4.3.1.
|
1287
|
-
localstack_core-4.3.1.
|
1288
|
-
localstack_core-4.3.1.
|
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"]}
|
File without changes
|
{localstack_core-4.3.1.dev49.data → localstack_core-4.3.1.dev51.data}/scripts/localstack-supervisor
RENAMED
File without changes
|
{localstack_core-4.3.1.dev49.data → localstack_core-4.3.1.dev51.data}/scripts/localstack.bat
RENAMED
File without changes
|
File without changes
|
{localstack_core-4.3.1.dev49.dist-info → localstack_core-4.3.1.dev51.dist-info}/entry_points.txt
RENAMED
File without changes
|
{localstack_core-4.3.1.dev49.dist-info → localstack_core-4.3.1.dev51.dist-info}/licenses/LICENSE.txt
RENAMED
File without changes
|
{localstack_core-4.3.1.dev49.dist-info → localstack_core-4.3.1.dev51.dist-info}/top_level.txt
RENAMED
File without changes
|