localstack-core 4.5.1.dev47__py3-none-any.whl → 4.5.1.dev49__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.
@@ -1,10 +1,11 @@
1
1
  from datetime import datetime, timezone
2
- from typing import Optional, TypedDict
2
+ from typing import NotRequired, Optional, TypedDict
3
3
 
4
4
  from localstack.aws.api.cloudformation import (
5
5
  ChangeSetStatus,
6
6
  ChangeSetType,
7
7
  CreateChangeSetInput,
8
+ CreateStackInput,
8
9
  ExecutionStatus,
9
10
  Output,
10
11
  Parameter,
@@ -21,7 +22,6 @@ from localstack.aws.api.cloudformation import (
21
22
  )
22
23
  from localstack.services.cloudformation.engine.entities import (
23
24
  StackIdentifier,
24
- StackTemplate,
25
25
  )
26
26
  from localstack.services.cloudformation.engine.v2.change_set_model import (
27
27
  NodeTemplate,
@@ -38,7 +38,6 @@ class Stack:
38
38
  stack_name: str
39
39
  parameters: list[Parameter]
40
40
  change_set_id: str | None
41
- change_set_name: str | None
42
41
  status: StackStatus
43
42
  status_reason: StackStatusReason | None
44
43
  stack_id: str
@@ -56,10 +55,9 @@ class Stack:
56
55
  self,
57
56
  account_id: str,
58
57
  region_name: str,
59
- request_payload: CreateChangeSetInput,
60
- template: StackTemplate | None = None,
58
+ request_payload: CreateChangeSetInput | CreateStackInput,
59
+ template: dict | None = None,
61
60
  template_body: str | None = None,
62
- change_set_ids: list[str] | None = None,
63
61
  ):
64
62
  self.account_id = account_id
65
63
  self.region_name = region_name
@@ -67,12 +65,12 @@ class Stack:
67
65
  self.template_body = template_body
68
66
  self.status = StackStatus.CREATE_IN_PROGRESS
69
67
  self.status_reason = None
70
- self.change_set_ids = change_set_ids or []
68
+ self.change_set_ids = []
71
69
  self.creation_time = datetime.now(tz=timezone.utc)
72
70
  self.deletion_time = None
71
+ self.change_set_id = None
73
72
 
74
73
  self.stack_name = request_payload["StackName"]
75
- self.change_set_name = request_payload.get("ChangeSetName")
76
74
  self.parameters = request_payload.get("Parameters", [])
77
75
  self.stack_id = arns.cloudformation_stack_arn(
78
76
  self.stack_name,
@@ -159,7 +157,6 @@ class Stack:
159
157
 
160
158
  def describe_details(self) -> ApiStack:
161
159
  result = {
162
- "ChangeSetId": self.change_set_id,
163
160
  "CreationTime": self.creation_time,
164
161
  "DeletionTime": self.deletion_time,
165
162
  "StackId": self.stack_id,
@@ -176,6 +173,9 @@ class Stack:
176
173
  "RollbackConfiguration": {},
177
174
  "Tags": [],
178
175
  }
176
+ if change_set_id := self.change_set_id:
177
+ result["ChangeSetId"] = change_set_id
178
+
179
179
  if self.resolved_outputs:
180
180
  describe_outputs = []
181
181
  for key, value in self.resolved_outputs.items():
@@ -191,6 +191,11 @@ class Stack:
191
191
  return result
192
192
 
193
193
 
194
+ class ChangeSetRequestPayload(TypedDict, total=False):
195
+ ChangeSetName: str
196
+ ChangeSetType: NotRequired[ChangeSetType]
197
+
198
+
194
199
  class ChangeSet:
195
200
  change_set_name: str
196
201
  change_set_id: str
@@ -203,8 +208,8 @@ class ChangeSet:
203
208
  def __init__(
204
209
  self,
205
210
  stack: Stack,
206
- request_payload: CreateChangeSetInput,
207
- template: StackTemplate | None = None,
211
+ request_payload: ChangeSetRequestPayload,
212
+ template: dict | None = None,
208
213
  ):
209
214
  self.stack = stack
210
215
  self.template = template
@@ -13,6 +13,8 @@ from localstack.aws.api.cloudformation import (
13
13
  ClientRequestToken,
14
14
  CreateChangeSetInput,
15
15
  CreateChangeSetOutput,
16
+ CreateStackInput,
17
+ CreateStackOutput,
16
18
  DeletionMode,
17
19
  DescribeChangeSetOutput,
18
20
  DescribeStackEventsOutput,
@@ -34,11 +36,14 @@ from localstack.aws.api.cloudformation import (
34
36
  StackName,
35
37
  StackNameOrId,
36
38
  StackStatus,
39
+ UpdateStackInput,
40
+ UpdateStackOutput,
37
41
  )
38
42
  from localstack.services.cloudformation import api_utils
39
43
  from localstack.services.cloudformation.engine import template_preparer
40
44
  from localstack.services.cloudformation.engine.v2.change_set_model import (
41
45
  ChangeSetModel,
46
+ ChangeType,
42
47
  NodeTemplate,
43
48
  )
44
49
  from localstack.services.cloudformation.engine.v2.change_set_model_describer import (
@@ -74,7 +79,12 @@ def is_changeset_arn(change_set_name_or_id: str) -> bool:
74
79
  return ARN_CHANGESET_REGEX.match(change_set_name_or_id) is not None
75
80
 
76
81
 
77
- def find_stack_v2(state: CloudFormationStore, stack_name: str | None) -> Stack:
82
+ class StackNotFoundError(ValidationError):
83
+ def __init__(self, stack_name: str):
84
+ super().__init__(f"Stack with id {stack_name} does not exist")
85
+
86
+
87
+ def find_stack_v2(state: CloudFormationStore, stack_name: str | None) -> Stack | None:
78
88
  if stack_name:
79
89
  if is_stack_arn(stack_name):
80
90
  return state.stacks_v2[stack_name]
@@ -84,7 +94,7 @@ def find_stack_v2(state: CloudFormationStore, stack_name: str | None) -> Stack:
84
94
  if stack.stack_name == stack_name and stack.status != StackStatus.DELETE_COMPLETE:
85
95
  stack_candidates.append(stack)
86
96
  if len(stack_candidates) == 0:
87
- raise ValidationError(f"No stack with name {stack_name} found")
97
+ return None
88
98
  elif len(stack_candidates) > 1:
89
99
  raise RuntimeError("Programing error, duplicate stacks found")
90
100
  else:
@@ -96,37 +106,21 @@ def find_stack_v2(state: CloudFormationStore, stack_name: str | None) -> Stack:
96
106
  def find_change_set_v2(
97
107
  state: CloudFormationStore, change_set_name: str, stack_name: str | None = None
98
108
  ) -> ChangeSet | None:
99
- change_set: ChangeSet | None = None
100
109
  if is_changeset_arn(change_set_name):
101
- change_set = state.change_sets[change_set_name]
110
+ return state.change_sets[change_set_name]
102
111
  else:
103
112
  if stack_name is not None:
104
- stack: Stack | None = None
105
- if is_stack_arn(stack_name):
106
- stack = state.stacks_v2[stack_name]
107
- else:
108
- for stack_candidate in state.stacks_v2.values():
109
- # TODO: check for active stacks
110
- if (
111
- stack_candidate.stack_name == stack_name
112
- and stack_candidate.status != StackStatus.DELETE_COMPLETE
113
- ):
114
- stack = stack_candidate
115
- break
116
-
113
+ stack = find_stack_v2(state, stack_name)
117
114
  if not stack:
118
- raise NotImplementedError(f"no stack found for change set {change_set_name}")
115
+ raise StackNotFoundError(stack_name)
119
116
 
120
117
  for change_set_id in stack.change_set_ids:
121
118
  change_set_candidate = state.change_sets[change_set_id]
122
119
  if change_set_candidate.change_set_name == change_set_name:
123
- change_set = change_set_candidate
124
- break
120
+ return change_set_candidate
125
121
  else:
126
122
  raise NotImplementedError
127
123
 
128
- return change_set
129
-
130
124
 
131
125
  class CloudformationProviderV2(CloudformationProvider):
132
126
  @staticmethod
@@ -270,8 +264,6 @@ class CloudformationProviderV2(CloudformationProvider):
270
264
  )
271
265
  raise ValidationError(msg)
272
266
 
273
- # TDOO: transformations
274
-
275
267
  # TODO: reconsider the way parameters are modelled in the update graph process.
276
268
  # The options might be reduce to using the current style, or passing the extra information
277
269
  # as a metadata object. The choice should be made considering when the extra information
@@ -303,7 +295,7 @@ class CloudformationProviderV2(CloudformationProvider):
303
295
 
304
296
  change_set.set_change_set_status(ChangeSetStatus.CREATE_COMPLETE)
305
297
  stack.change_set_id = change_set.change_set_id
306
- stack.change_set_id = change_set.change_set_id
298
+ stack.change_set_ids.append(change_set.change_set_id)
307
299
  state.change_sets[change_set.change_set_id] = change_set
308
300
 
309
301
  return CreateChangeSetOutput(StackId=stack.stack_id, Id=change_set.change_set_id)
@@ -433,6 +425,94 @@ class CloudformationProviderV2(CloudformationProvider):
433
425
  )
434
426
  return result
435
427
 
428
+ @handler("CreateStack", expand=False)
429
+ def create_stack(self, context: RequestContext, request: CreateStackInput) -> CreateStackOutput:
430
+ try:
431
+ stack_name = request["StackName"]
432
+ except KeyError:
433
+ # TODO: proper exception
434
+ raise ValidationError("StackName must be specified")
435
+
436
+ state = get_cloudformation_store(context.account_id, context.region)
437
+ # TODO: copied from create_change_set, consider unifying
438
+ template_body = request.get("TemplateBody")
439
+ # s3 or secretsmanager url
440
+ template_url = request.get("TemplateURL")
441
+
442
+ # validate and resolve template
443
+ if template_body and template_url:
444
+ raise ValidationError(
445
+ "Specify exactly one of 'TemplateBody' or 'TemplateUrl'"
446
+ ) # TODO: check proper message
447
+
448
+ if not template_body and not template_url:
449
+ raise ValidationError(
450
+ "Specify exactly one of 'TemplateBody' or 'TemplateUrl'"
451
+ ) # TODO: check proper message
452
+
453
+ template_body = api_utils.extract_template_body(request)
454
+ structured_template = template_preparer.parse_template(template_body)
455
+
456
+ stack = Stack(
457
+ account_id=context.account_id,
458
+ region_name=context.region,
459
+ request_payload=request,
460
+ template=structured_template,
461
+ template_body=template_body,
462
+ )
463
+ # TODO: what is the correct initial status?
464
+ state.stacks_v2[stack.stack_id] = stack
465
+
466
+ # TODO: reconsider the way parameters are modelled in the update graph process.
467
+ # The options might be reduce to using the current style, or passing the extra information
468
+ # as a metadata object. The choice should be made considering when the extra information
469
+ # is needed for the update graph building, or only looked up in downstream tasks (metadata).
470
+ request_parameters = request.get("Parameters", list())
471
+ # TODO: handle parameter defaults and resolution
472
+ after_parameters: dict[str, Any] = {
473
+ parameter["ParameterKey"]: parameter["ParameterValue"]
474
+ for parameter in request_parameters
475
+ }
476
+ after_template = structured_template
477
+
478
+ # Create internal change set to execute
479
+ change_set = ChangeSet(
480
+ stack,
481
+ {"ChangeSetName": f"cs-{stack_name}-create", "ChangeSetType": ChangeSetType.CREATE},
482
+ template=after_template,
483
+ )
484
+ self._setup_change_set_model(
485
+ change_set=change_set,
486
+ before_template=None,
487
+ after_template=after_template,
488
+ before_parameters=None,
489
+ after_parameters=after_parameters,
490
+ )
491
+
492
+ # deployment process
493
+ stack.set_stack_status(StackStatus.CREATE_IN_PROGRESS)
494
+ change_set_executor = ChangeSetModelExecutor(change_set)
495
+
496
+ def _run(*args):
497
+ try:
498
+ result = change_set_executor.execute()
499
+ stack.set_stack_status(StackStatus.CREATE_COMPLETE)
500
+ stack.resolved_resources = result.resources
501
+ stack.resolved_parameters = result.parameters
502
+ stack.resolved_outputs = result.outputs
503
+ # if the deployment succeeded, update the stack's template representation to that
504
+ # which was just deployed
505
+ stack.template = change_set.template
506
+ except Exception as e:
507
+ LOG.error(
508
+ "Create Stack set failed: %s", e, exc_info=LOG.isEnabledFor(logging.WARNING)
509
+ )
510
+ stack.set_stack_status(StackStatus.CREATE_FAILED)
511
+
512
+ start_worker_thread(_run)
513
+
514
+ return CreateStackOutput(StackId=stack.stack_id)
515
+
436
516
  @handler("DescribeStacks")
437
517
  def describe_stacks(
438
518
  self,
@@ -443,6 +523,8 @@ class CloudformationProviderV2(CloudformationProvider):
443
523
  ) -> DescribeStacksOutput:
444
524
  state = get_cloudformation_store(context.account_id, context.region)
445
525
  stack = find_stack_v2(state, stack_name)
526
+ if not stack:
527
+ raise StackNotFoundError(stack_name)
446
528
  return DescribeStacksOutput(Stacks=[stack.describe_details()])
447
529
 
448
530
  @handler("DescribeStackResources")
@@ -458,6 +540,8 @@ class CloudformationProviderV2(CloudformationProvider):
458
540
  raise ValidationError("Cannot specify both StackName and PhysicalResourceId")
459
541
  state = get_cloudformation_store(context.account_id, context.region)
460
542
  stack = find_stack_v2(state, stack_name)
543
+ if not stack:
544
+ raise StackNotFoundError(stack_name)
461
545
  # TODO: filter stack by PhysicalResourceId!
462
546
  statuses = []
463
547
  for resource_id, resource_status in stack.resource_states.items():
@@ -477,8 +561,116 @@ class CloudformationProviderV2(CloudformationProvider):
477
561
  ) -> DescribeStackEventsOutput:
478
562
  state = get_cloudformation_store(context.account_id, context.region)
479
563
  stack = find_stack_v2(state, stack_name)
564
+ if not stack:
565
+ raise StackNotFoundError(stack_name)
480
566
  return DescribeStackEventsOutput(StackEvents=stack.events)
481
567
 
568
+ @handler("UpdateStack", expand=False)
569
+ def update_stack(
570
+ self,
571
+ context: RequestContext,
572
+ request: UpdateStackInput,
573
+ ) -> UpdateStackOutput:
574
+ try:
575
+ stack_name = request["StackName"]
576
+ except KeyError:
577
+ # TODO: proper exception
578
+ raise ValidationError("StackName must be specified")
579
+ state = get_cloudformation_store(context.account_id, context.region)
580
+ template_body = request.get("TemplateBody")
581
+ # s3 or secretsmanager url
582
+ template_url = request.get("TemplateURL")
583
+
584
+ # validate and resolve template
585
+ if template_body and template_url:
586
+ raise ValidationError(
587
+ "Specify exactly one of 'TemplateBody' or 'TemplateUrl'"
588
+ ) # TODO: check proper message
589
+
590
+ if not template_body and not template_url:
591
+ raise ValidationError(
592
+ "Specify exactly one of 'TemplateBody' or 'TemplateUrl'"
593
+ ) # TODO: check proper message
594
+
595
+ template_body = api_utils.extract_template_body(request)
596
+ structured_template = template_preparer.parse_template(template_body)
597
+
598
+ # this is intentionally not in a util yet. Let's first see how the different operations deal with these before generalizing
599
+ # handle ARN stack_name here (not valid for initial CREATE, since stack doesn't exist yet)
600
+ stack: Stack
601
+ if is_stack_arn(stack_name):
602
+ stack = state.stacks_v2.get(stack_name)
603
+ if not stack:
604
+ raise ValidationError(f"Stack '{stack_name}' does not exist.")
605
+
606
+ else:
607
+ # stack name specified, so fetch the stack by name
608
+ stack_candidates: list[Stack] = [
609
+ s for stack_arn, s in state.stacks_v2.items() if s.stack_name == stack_name
610
+ ]
611
+ active_stack_candidates = [
612
+ s for s in stack_candidates if self._stack_status_is_active(s.status)
613
+ ]
614
+
615
+ if not active_stack_candidates:
616
+ raise ValidationError(f"Stack '{stack_name}' does not exist.")
617
+ elif len(active_stack_candidates) > 1:
618
+ raise RuntimeError("Multiple stacks matched, update matching logic")
619
+ stack = active_stack_candidates[0]
620
+
621
+ # TODO: proper status modeling
622
+ before_parameters = stack.resolved_parameters
623
+ # TODO: reconsider the way parameters are modelled in the update graph process.
624
+ # The options might be reduce to using the current style, or passing the extra information
625
+ # as a metadata object. The choice should be made considering when the extra information
626
+ # is needed for the update graph building, or only looked up in downstream tasks (metadata).
627
+ request_parameters = request.get("Parameters", list())
628
+ # TODO: handle parameter defaults and resolution
629
+ after_parameters: dict[str, Any] = {
630
+ parameter["ParameterKey"]: parameter["ParameterValue"]
631
+ for parameter in request_parameters
632
+ }
633
+ before_template = stack.template
634
+ after_template = structured_template
635
+
636
+ change_set = ChangeSet(
637
+ stack,
638
+ {"ChangeSetName": f"cs-{stack_name}-create", "ChangeSetType": ChangeSetType.CREATE},
639
+ template=after_template,
640
+ )
641
+ self._setup_change_set_model(
642
+ change_set=change_set,
643
+ before_template=before_template,
644
+ after_template=after_template,
645
+ before_parameters=before_parameters,
646
+ after_parameters=after_parameters,
647
+ )
648
+
649
+ if change_set.update_model.change_type == ChangeType.UNCHANGED:
650
+ raise ValidationError("No updates are to be performed.")
651
+
652
+ stack.set_stack_status(StackStatus.UPDATE_IN_PROGRESS)
653
+ change_set_executor = ChangeSetModelExecutor(change_set)
654
+
655
+ def _run(*args):
656
+ try:
657
+ result = change_set_executor.execute()
658
+ stack.set_stack_status(StackStatus.UPDATE_COMPLETE)
659
+ stack.resolved_resources = result.resources
660
+ stack.resolved_parameters = result.parameters
661
+ stack.resolved_outputs = result.outputs
662
+ # if the deployment succeeded, update the stack's template representation to that
663
+ # which was just deployed
664
+ stack.template = change_set.template
665
+ except Exception as e:
666
+ LOG.error("Update Stack failed: %s", e, exc_info=LOG.isEnabledFor(logging.WARNING))
667
+ stack.set_stack_status(StackStatus.UPDATE_FAILED)
668
+
669
+ start_worker_thread(_run)
670
+
671
+ # TODO: stack id
672
+ return UpdateStackOutput(StackId=stack.stack_id)
673
+
482
674
  @handler("DeleteStack")
483
675
  def delete_stack(
484
676
  self,
@@ -491,26 +683,7 @@ class CloudformationProviderV2(CloudformationProvider):
491
683
  **kwargs,
492
684
  ) -> None:
493
685
  state = get_cloudformation_store(context.account_id, context.region)
494
- if stack_name:
495
- if is_stack_arn(stack_name):
496
- stack = state.stacks_v2[stack_name]
497
- else:
498
- stack_candidates = []
499
- for stack in state.stacks_v2.values():
500
- if (
501
- stack.stack_name == stack_name
502
- and stack.status != StackStatus.DELETE_COMPLETE
503
- ):
504
- stack_candidates.append(stack)
505
- if len(stack_candidates) == 0:
506
- raise ValidationError(f"No stack with name {stack_name} found")
507
- elif len(stack_candidates) > 1:
508
- raise RuntimeError("Programing error, duplicate stacks found")
509
- else:
510
- stack = stack_candidates[0]
511
- else:
512
- raise NotImplementedError
513
-
686
+ stack = find_stack_v2(state, stack_name)
514
687
  if not stack:
515
688
  # aws will silently ignore invalid stack names - we should do the same
516
689
  return
localstack/version.py CHANGED
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '4.5.1.dev47'
21
- __version_tuple__ = version_tuple = (4, 5, 1, 'dev47')
20
+ __version__ = version = '4.5.1.dev49'
21
+ __version_tuple__ = version_tuple = (4, 5, 1, 'dev49')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localstack-core
3
- Version: 4.5.1.dev47
3
+ Version: 4.5.1.dev49
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=A2FrrpaciFN6_y50M1th8I6ukwXugaZdmCefoQ1j33U,526
7
+ localstack/version.py,sha256=44kFJttwngznPylO4zpPHXzswEJ8A5KSOcDvusw-fzU,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
@@ -333,8 +333,8 @@ localstack/services/cloudformation/resource_providers/aws_cloudformation_waitcon
333
333
  localstack/services/cloudformation/scaffolding/__main__.py,sha256=zjedOdqvnfN99WzQ43gxtGZxLDitSnbFGA-zpWbyMQ0,30960
334
334
  localstack/services/cloudformation/scaffolding/propgen.py,sha256=9YsSCkDegcU_Yp8Sfw8eNV26N5ibOlLC6Hg6lxPeBBM,7949
335
335
  localstack/services/cloudformation/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
336
- localstack/services/cloudformation/v2/entities.py,sha256=3PpR83D-d1dF9QKTawopgmJh2Jaj6Guw3XX27P8Gvi8,7863
337
- localstack/services/cloudformation/v2/provider.py,sha256=bx-YjLzBYmWpA79KBDGtqbJ25byK9zyRghjIsHvlmeE,23132
336
+ localstack/services/cloudformation/v2/entities.py,sha256=hu6_1g2spNoYUo_CEjg4gfeUIlxLJ0UL4Rqfe2aOrFE,7928
337
+ localstack/services/cloudformation/v2/provider.py,sha256=Hqss2pm_v3th_6b7JoIKofkhCPAtCQ3pPLu3ezCmHtM,30618
338
338
  localstack/services/cloudformation/v2/utils.py,sha256=xy4Lcp4X8XGJ0OKfnsE7pnfMcFrtIH0Chw35qwjhZuw,148
339
339
  localstack/services/cloudwatch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
340
340
  localstack/services/cloudwatch/alarm_scheduler.py,sha256=XFllg0gI_WNV7cNxOcgXifzmbNA07OPpuEUuf37keP4,15663
@@ -1284,13 +1284,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
1284
1284
  localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1285
1285
  localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
1286
1286
  localstack/utils/xray/traceid.py,sha256=SQSsMV2rhbTNK6ceIoozZYuGU7Fg687EXcgqxoDl1Fw,1106
1287
- localstack_core-4.5.1.dev47.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1288
- localstack_core-4.5.1.dev47.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1289
- localstack_core-4.5.1.dev47.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1290
- localstack_core-4.5.1.dev47.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1291
- localstack_core-4.5.1.dev47.dist-info/METADATA,sha256=qtN99D6jLJDRqbb26pWlB-pE6j_Cn3myUjM61Ko4vVQ,5539
1292
- localstack_core-4.5.1.dev47.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1293
- localstack_core-4.5.1.dev47.dist-info/entry_points.txt,sha256=tsZ2TeV3-omCfAUEXmTWXu_D40b_17a9FDAEpbeaoNw,20571
1294
- localstack_core-4.5.1.dev47.dist-info/plux.json,sha256=1ozwUBAb0QnqGFt7aAIdzTJcmfLf0GMX1rfBiw30C78,20793
1295
- localstack_core-4.5.1.dev47.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1296
- localstack_core-4.5.1.dev47.dist-info/RECORD,,
1287
+ localstack_core-4.5.1.dev49.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1288
+ localstack_core-4.5.1.dev49.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1289
+ localstack_core-4.5.1.dev49.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1290
+ localstack_core-4.5.1.dev49.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1291
+ localstack_core-4.5.1.dev49.dist-info/METADATA,sha256=HRlicB9zcl-IlFAL3CQEeyqNvWDp1pO5XEX1yU4IjjI,5539
1292
+ localstack_core-4.5.1.dev49.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1293
+ localstack_core-4.5.1.dev49.dist-info/entry_points.txt,sha256=tsZ2TeV3-omCfAUEXmTWXu_D40b_17a9FDAEpbeaoNw,20571
1294
+ localstack_core-4.5.1.dev49.dist-info/plux.json,sha256=ZH0u2m0UefgSNClR_QdWN9aInLK9E-ZdyReTdu01DdM,20793
1295
+ localstack_core-4.5.1.dev49.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1296
+ localstack_core-4.5.1.dev49.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"localstack.hooks.configure_localstack_container": ["_mount_machine_file=localstack.utils.analytics.metadata:_mount_machine_file"], "localstack.hooks.prepare_host": ["prepare_host_machine_id=localstack.utils.analytics.metadata:prepare_host_machine_id"], "localstack.cloudformation.resource_providers": ["AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "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::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "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::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin"], "localstack.packages": ["dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_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", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.hooks.on_infra_start": ["apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "eager_load_services=localstack.services.plugins:eager_load_services", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "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", "_publish_config_as_analytics_event=localstack.runtime.analytics:_publish_config_as_analytics_event", "_publish_container_info=localstack.runtime.analytics:_publish_container_info", "_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", "publish_metrics=localstack.utils.analytics.metrics.publisher: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"], "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.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::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "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::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "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::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "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::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin"], "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.packages": ["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", "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", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.hooks.on_infra_start": ["setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "_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", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "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", "_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_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "eager_load_services=localstack.services.plugins:eager_load_services"], "localstack.hooks.on_infra_shutdown": ["stop_server=localstack.dns.plugins:stop_server", "run_on_after_service_shutdown_handlers=localstack.runtime.shutdown:run_on_after_service_shutdown_handlers", "run_shutdown_handlers=localstack.runtime.shutdown:run_shutdown_handlers", "shutdown_services=localstack.runtime.shutdown:shutdown_services", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "publish_metrics=localstack.utils.analytics.metrics.publisher:publish_metrics"], "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.aws.provider": ["acm:default=localstack.services.providers:acm", "apigateway:default=localstack.services.providers:apigateway", "apigateway:legacy=localstack.services.providers:apigateway_legacy", "apigateway:next_gen=localstack.services.providers:apigateway_next_gen", "config:default=localstack.services.providers:awsconfig", "cloudformation:default=localstack.services.providers:cloudformation", "cloudformation:engine-v2=localstack.services.providers:cloudformation_v2", "cloudwatch:default=localstack.services.providers:cloudwatch", "cloudwatch:v1=localstack.services.providers:cloudwatch_v1", "cloudwatch:v2=localstack.services.providers:cloudwatch_v2", "dynamodb:default=localstack.services.providers:dynamodb", "dynamodb:v2=localstack.services.providers:dynamodb_v2", "dynamodbstreams:default=localstack.services.providers:dynamodbstreams", "dynamodbstreams:v2=localstack.services.providers:dynamodbstreams_v2", "ec2:default=localstack.services.providers:ec2", "es:default=localstack.services.providers:es", "events:default=localstack.services.providers:events", "events:legacy=localstack.services.providers:events_legacy", "events:v1=localstack.services.providers:events_v1", "events:v2=localstack.services.providers:events_v2", "firehose:default=localstack.services.providers:firehose", "iam:default=localstack.services.providers:iam", "kinesis:default=localstack.services.providers:kinesis", "kms:default=localstack.services.providers:kms", "lambda:default=localstack.services.providers:lambda_", "lambda:asf=localstack.services.providers:lambda_asf", "lambda:v2=localstack.services.providers:lambda_v2", "logs:default=localstack.services.providers:logs", "opensearch:default=localstack.services.providers:opensearch", "redshift:default=localstack.services.providers:redshift", "resource-groups:default=localstack.services.providers:resource_groups", "resourcegroupstaggingapi:default=localstack.services.providers:resourcegroupstaggingapi", "route53:default=localstack.services.providers:route53", "route53resolver:default=localstack.services.providers:route53resolver", "s3:default=localstack.services.providers:s3", "s3control:default=localstack.services.providers:s3control", "scheduler:default=localstack.services.providers:scheduler", "secretsmanager:default=localstack.services.providers:secretsmanager", "ses:default=localstack.services.providers:ses", "sns:default=localstack.services.providers:sns", "sqs:default=localstack.services.providers:sqs", "ssm:default=localstack.services.providers:ssm", "stepfunctions:default=localstack.services.providers:stepfunctions", "stepfunctions:v2=localstack.services.providers:stepfunctions_v2", "sts:default=localstack.services.providers:sts", "support:default=localstack.services.providers:support", "swf:default=localstack.services.providers:swf", "transcribe:default=localstack.services.providers:transcribe"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"]}