localstack-core 4.7.1.dev122__py3-none-any.whl → 4.7.1.dev124__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.
@@ -4,6 +4,7 @@ import logging
4
4
  import re
5
5
  from collections import defaultdict
6
6
  from datetime import UTC, datetime
7
+ from urllib.parse import urlencode
7
8
 
8
9
  from localstack import config
9
10
  from localstack.aws.api import RequestContext, handler
@@ -118,6 +119,7 @@ from localstack.services.cloudformation.v2.entities import (
118
119
  StackSet,
119
120
  )
120
121
  from localstack.services.cloudformation.v2.types import EngineParameter
122
+ from localstack.services.plugins import ServiceLifecycleHook
121
123
  from localstack.utils.collections import select_attributes
122
124
  from localstack.utils.strings import short_uid
123
125
  from localstack.utils.threads import start_worker_thread
@@ -215,7 +217,28 @@ def find_stack_instance(stack_set: StackSet, account: str, region: str) -> Stack
215
217
  return None
216
218
 
217
219
 
218
- class CloudformationProviderV2(CloudformationProvider):
220
+ class CloudformationProviderV2(CloudformationProvider, ServiceLifecycleHook):
221
+ def on_before_start(self):
222
+ base = "https://github.com/localstack/localstack/issues/new"
223
+ query_args = {
224
+ "template": "bug-report.yml",
225
+ "labels": ",".join(
226
+ [
227
+ "aws:cloudformation:v2",
228
+ "status: triage needed",
229
+ "type: bug",
230
+ ]
231
+ ),
232
+ "title": "CFNV2: ",
233
+ }
234
+ issue_url = "?".join([base, urlencode(query_args)])
235
+ LOG.info(
236
+ "You have opted in to the new CloudFormation deployment engine. "
237
+ "You can opt in to using the old engine by setting PROVIDER_OVERRIDE_CLOUDFORMATION=legacy. "
238
+ "If you experience issues, please submit a bug report at this URL: %s",
239
+ issue_url,
240
+ )
241
+
219
242
  @staticmethod
220
243
  def _resolve_parameters(
221
244
  template: dict | None, parameters: dict | None, account_id: str, region_name: str
@@ -21,6 +21,7 @@ from localstack.aws.api.s3 import (
21
21
  Event,
22
22
  EventBridgeConfiguration,
23
23
  EventList,
24
+ InvalidArgument,
24
25
  LambdaFunctionArn,
25
26
  LambdaFunctionConfiguration,
26
27
  NotificationConfiguration,
@@ -34,8 +35,8 @@ from localstack.aws.api.s3 import (
34
35
  TopicConfiguration,
35
36
  )
36
37
  from localstack.aws.connect import connect_to
38
+ from localstack.services.s3.exceptions import MalformedXML
37
39
  from localstack.services.s3.models import S3Bucket, S3DeleteMarker, S3Object
38
- from localstack.services.s3.utils import _create_invalid_argument_exc
39
40
  from localstack.utils.aws import arns
40
41
  from localstack.utils.aws.arns import ARN_PARTITION_REGEX, get_partition, parse_arn, s3_bucket_arn
41
42
  from localstack.utils.aws.client_types import ServicePrincipal
@@ -272,26 +273,29 @@ class BaseNotifier:
272
273
  arn, argument_name = self._get_arn_value_and_name(configuration)
273
274
 
274
275
  if not re.match(f"{ARN_PARTITION_REGEX}:{self.service_name}:", arn):
275
- raise _create_invalid_argument_exc(
276
- "The ARN could not be parsed", name=argument_name, value=arn
276
+ raise InvalidArgument(
277
+ "The ARN could not be parsed",
278
+ ArgumentName=argument_name,
279
+ ArgumentValue=arn,
277
280
  )
281
+
278
282
  if not verification_ctx.skip_destination_validation:
279
283
  self._verify_target(arn, verification_ctx)
280
284
 
281
285
  if filter_rules := configuration.get("Filter", {}).get("Key", {}).get("FilterRules"):
282
286
  for rule in filter_rules:
283
- rule["Name"] = rule["Name"].capitalize()
284
- if rule["Name"] not in ["Suffix", "Prefix"]:
285
- raise _create_invalid_argument_exc(
287
+ if "Name" not in rule or "Value" not in rule:
288
+ raise MalformedXML()
289
+
290
+ if rule["Name"].lower() not in ["suffix", "prefix"]:
291
+ raise InvalidArgument(
286
292
  "filter rule name must be either prefix or suffix",
287
- rule["Name"],
288
- rule["Value"],
289
- )
290
- if not rule["Value"]:
291
- raise _create_invalid_argument_exc(
292
- "filter value cannot be empty", rule["Name"], rule["Value"]
293
+ ArgumentName="FilterRule.Name",
294
+ ArgumentValue=rule["Name"],
293
295
  )
294
296
 
297
+ rule["Name"] = rule["Name"].capitalize()
298
+
295
299
  @staticmethod
296
300
  def _get_test_payload(verification_ctx: BucketVerificationContext):
297
301
  return {
@@ -382,7 +386,7 @@ class SqsNotifier(BaseNotifier):
382
386
 
383
387
  @staticmethod
384
388
  def _get_arn_value_and_name(queue_configuration: QueueConfiguration) -> tuple[QueueArn, str]:
385
- return queue_configuration.get("QueueArn", ""), "QueueArn"
389
+ return queue_configuration.get("QueueArn", ""), "Queue"
386
390
 
387
391
  def _verify_target(self, target_arn: str, verification_ctx: BucketVerificationContext) -> None:
388
392
  if not is_api_enabled("sqs"):
@@ -410,11 +414,12 @@ class SqsNotifier(BaseNotifier):
410
414
  code,
411
415
  exc_info=LOG.isEnabledFor(logging.DEBUG),
412
416
  )
413
- raise _create_invalid_argument_exc(
417
+ raise InvalidArgument(
414
418
  "Unable to validate the following destination configurations",
415
- name=target_arn,
416
- value="The destination queue does not exist",
419
+ ArgumentName=target_arn,
420
+ ArgumentValue="The destination queue does not exist",
417
421
  )
422
+
418
423
  # send test event with the request metadata for permissions
419
424
  # https://docs.aws.amazon.com/AmazonS3/latest/userguide/notification-how-to-event-types-and-destinations.html#supported-notification-event-types
420
425
  sqs_client = connect_to(region_name=arn_data["region"]).sqs.request_metadata(
@@ -430,10 +435,10 @@ class SqsNotifier(BaseNotifier):
430
435
  verification_ctx.bucket_name,
431
436
  target_arn,
432
437
  )
433
- raise _create_invalid_argument_exc(
438
+ raise InvalidArgument(
434
439
  "Unable to validate the following destination configurations",
435
- name=target_arn,
436
- value="Permissions on the destination queue do not allow S3 to publish notifications from this bucket",
440
+ ArgumentName=target_arn,
441
+ ArgumentValue="Permissions on the destination queue do not allow S3 to publish notifications from this bucket",
437
442
  ) from e
438
443
 
439
444
  def notify(self, ctx: S3EventNotificationContext, config: QueueConfiguration):
@@ -490,10 +495,10 @@ class SnsNotifier(BaseNotifier):
490
495
  try:
491
496
  sns_client.get_topic_attributes(TopicArn=target_arn)
492
497
  except ClientError:
493
- raise _create_invalid_argument_exc(
498
+ raise InvalidArgument(
494
499
  "Unable to validate the following destination configurations",
495
- name=target_arn,
496
- value="The destination topic does not exist",
500
+ ArgumentName=target_arn,
501
+ ArgumentValue="The destination topic does not exist",
497
502
  )
498
503
 
499
504
  sns_client = connect_to(region_name=arn_data["region"]).sns.request_metadata(
@@ -513,10 +518,10 @@ class SnsNotifier(BaseNotifier):
513
518
  verification_ctx.bucket_name,
514
519
  target_arn,
515
520
  )
516
- raise _create_invalid_argument_exc(
521
+ raise InvalidArgument(
517
522
  "Unable to validate the following destination configurations",
518
- name=target_arn,
519
- value="Permissions on the destination topic do not allow S3 to publish notifications from this bucket",
523
+ ArgumentName=target_arn,
524
+ ArgumentValue="Permissions on the destination topic do not allow S3 to publish notifications from this bucket",
520
525
  ) from e
521
526
 
522
527
  def notify(self, ctx: S3EventNotificationContext, config: TopicConfiguration):
@@ -575,10 +580,10 @@ class LambdaNotifier(BaseNotifier):
575
580
  try:
576
581
  lambda_client.get_function(FunctionName=target_arn)
577
582
  except ClientError:
578
- raise _create_invalid_argument_exc(
583
+ raise InvalidArgument(
579
584
  "Unable to validate the following destination configurations",
580
- name=target_arn,
581
- value="The destination Lambda does not exist",
585
+ ArgumentName=target_arn,
586
+ ArgumentValue="The destination Lambda does not exist",
582
587
  )
583
588
  lambda_client = connect_to(region_name=arn_data["region"]).lambda_.request_metadata(
584
589
  source_arn=s3_bucket_arn(verification_ctx.bucket_name, region=verification_ctx.region),
@@ -587,10 +592,10 @@ class LambdaNotifier(BaseNotifier):
587
592
  try:
588
593
  lambda_client.invoke(FunctionName=target_arn, InvocationType=InvocationType.DryRun)
589
594
  except ClientError as e:
590
- raise _create_invalid_argument_exc(
595
+ raise InvalidArgument(
591
596
  "Unable to validate the following destination configurations",
592
- name=f"{target_arn}, null",
593
- value=f"Not authorized to invoke function [{target_arn}]",
597
+ ArgumentName=f"{target_arn}, null",
598
+ ArgumentValue=f"Not authorized to invoke function [{target_arn}]",
594
599
  ) from e
595
600
 
596
601
  def notify(self, ctx: S3EventNotificationContext, config: LambdaFunctionConfiguration):
@@ -45,7 +45,6 @@ from localstack.services.s3.constants import (
45
45
  )
46
46
  from localstack.services.s3.utils import (
47
47
  S3_VIRTUAL_HOST_FORWARDED_HEADER,
48
- _create_invalid_argument_exc,
49
48
  capitalize_header_name_from_snake_case,
50
49
  extract_bucket_name_and_key_from_headers_and_path,
51
50
  forwarded_from_virtual_host_addressed_request,
@@ -772,13 +771,12 @@ def validate_post_policy(
772
771
  :return: None
773
772
  """
774
773
  if not request_form.get("key"):
775
- ex: InvalidArgument = _create_invalid_argument_exc(
776
- message="Bucket POST must contain a field named 'key'. If it is specified, please check the order of the fields.",
777
- name="key",
778
- value="",
779
- host_id=FAKE_HOST_ID,
774
+ raise InvalidArgument(
775
+ "Bucket POST must contain a field named 'key'. If it is specified, please check the order of the fields.",
776
+ ArgumentName="key",
777
+ ArgumentValue="",
778
+ HostId=FAKE_HOST_ID,
780
779
  )
781
- raise ex
782
780
 
783
781
  form_dict = {k.lower(): v for k, v in request_form.items()}
784
782
 
@@ -932,13 +930,12 @@ def _is_match_with_signature_fields(
932
930
  if argument_name == "Awsaccesskeyid":
933
931
  argument_name = "AWSAccessKeyId"
934
932
 
935
- ex: InvalidArgument = _create_invalid_argument_exc(
936
- message=f"Bucket POST must contain a field named '{argument_name}'. If it is specified, please check the order of the fields.",
937
- name=argument_name,
938
- value="",
939
- host_id=FAKE_HOST_ID,
933
+ raise InvalidArgument(
934
+ f"Bucket POST must contain a field named '{argument_name}'. If it is specified, please check the order of the fields.",
935
+ ArgumentName=argument_name,
936
+ ArgumentValue="",
937
+ HostId=FAKE_HOST_ID,
940
938
  )
941
- raise ex
942
939
 
943
940
  return True
944
941
  return False
@@ -574,17 +574,6 @@ def get_bucket_and_key_from_presign_url(presign_url: str) -> tuple[str, str]:
574
574
  return bucket, key
575
575
 
576
576
 
577
- def _create_invalid_argument_exc(
578
- message: str | None, name: str, value: str, host_id: str = None
579
- ) -> InvalidArgument:
580
- ex = InvalidArgument(message)
581
- ex.ArgumentName = name
582
- ex.ArgumentValue = value
583
- if host_id:
584
- ex.HostId = host_id
585
- return ex
586
-
587
-
588
577
  def capitalize_header_name_from_snake_case(header_name: str) -> str:
589
578
  return "-".join([part.capitalize() for part in header_name.split("-")])
590
579
 
@@ -38,7 +38,6 @@ from localstack.aws.api.s3 import Type as GranteeType
38
38
  from localstack.services.s3 import constants as s3_constants
39
39
  from localstack.services.s3.exceptions import InvalidRequest, MalformedACLError, MalformedXML
40
40
  from localstack.services.s3.utils import (
41
- _create_invalid_argument_exc,
42
41
  get_class_attrs_from_spec_class,
43
42
  get_permission_header_name,
44
43
  is_bucket_name_valid,
@@ -87,8 +86,11 @@ def validate_canned_acl(canned_acl: str) -> None:
87
86
  Validate the canned ACL value, or raise an Exception
88
87
  """
89
88
  if canned_acl and canned_acl not in VALID_CANNED_ACLS:
90
- ex = _create_invalid_argument_exc(None, "x-amz-acl", canned_acl)
91
- raise ex
89
+ raise InvalidArgument(
90
+ None,
91
+ ArgumentName="x-amz-acl",
92
+ ArgumentValue=canned_acl,
93
+ )
92
94
 
93
95
 
94
96
  def parse_grants_in_headers(permission: Permission, grantees: str) -> Grants:
@@ -98,16 +100,18 @@ def parse_grants_in_headers(permission: Permission, grantees: str) -> Grants:
98
100
  grantee_type, grantee_id = seralized_grantee.split("=")
99
101
  grantee_id = grantee_id.strip('"')
100
102
  if grantee_type not in ("uri", "id", "emailAddress"):
101
- ex = _create_invalid_argument_exc(
103
+ raise InvalidArgument(
102
104
  "Argument format not recognized",
103
- get_permission_header_name(permission),
104
- seralized_grantee,
105
+ ArgumentName=get_permission_header_name(permission),
106
+ ArgumentValue=seralized_grantee,
105
107
  )
106
- raise ex
107
108
  elif grantee_type == "uri":
108
109
  if grantee_id not in s3_constants.VALID_ACL_PREDEFINED_GROUPS:
109
- ex = _create_invalid_argument_exc("Invalid group uri", "uri", grantee_id)
110
- raise ex
110
+ raise InvalidArgument(
111
+ "Invalid group uri",
112
+ ArgumentName="uri",
113
+ ArgumentValue=grantee_id,
114
+ )
111
115
  grantee = Grantee(
112
116
  Type=GranteeType.Group,
113
117
  URI=grantee_id,
@@ -115,8 +119,11 @@ def parse_grants_in_headers(permission: Permission, grantees: str) -> Grants:
115
119
 
116
120
  elif grantee_type == "id":
117
121
  if not is_valid_canonical_id(grantee_id):
118
- ex = _create_invalid_argument_exc("Invalid id", "id", grantee_id)
119
- raise ex
122
+ raise InvalidArgument(
123
+ "Invalid id",
124
+ ArgumentName="id",
125
+ ArgumentValue=grantee_id,
126
+ )
120
127
  grantee = Grantee(
121
128
  Type=GranteeType.CanonicalUser,
122
129
  ID=grantee_id,
@@ -141,8 +148,11 @@ def validate_acl_acp(acp: AccessControlPolicy) -> None:
141
148
  )
142
149
 
143
150
  if not is_valid_canonical_id(owner_id := acp["Owner"].get("ID", "")):
144
- ex = _create_invalid_argument_exc("Invalid id", "CanonicalUser/ID", owner_id)
145
- raise ex
151
+ raise InvalidArgument(
152
+ "Invalid id",
153
+ ArgumentName="CanonicalUser/ID",
154
+ ArgumentValue=owner_id,
155
+ )
146
156
 
147
157
  for grant in acp["Grants"]:
148
158
  if grant.get("Permission") not in s3_constants.VALID_GRANTEE_PERMISSIONS:
@@ -165,8 +175,11 @@ def validate_acl_acp(acp: AccessControlPolicy) -> None:
165
175
  and (grant_uri := grantee.get("URI", ""))
166
176
  not in s3_constants.VALID_ACL_PREDEFINED_GROUPS
167
177
  ):
168
- ex = _create_invalid_argument_exc("Invalid group uri", "Group/URI", grant_uri)
169
- raise ex
178
+ raise InvalidArgument(
179
+ "Invalid group uri",
180
+ ArgumentName="Group/URI",
181
+ ArgumentValue=grant_uri,
182
+ )
170
183
 
171
184
  elif grant_type == GranteeType.AmazonCustomerByEmail:
172
185
  # TODO: add validation here
@@ -175,8 +188,11 @@ def validate_acl_acp(acp: AccessControlPolicy) -> None:
175
188
  elif grant_type == GranteeType.CanonicalUser and not is_valid_canonical_id(
176
189
  grantee_id := grantee.get("ID", "")
177
190
  ):
178
- ex = _create_invalid_argument_exc("Invalid id", "CanonicalUser/ID", grantee_id)
179
- raise ex
191
+ raise InvalidArgument(
192
+ "Invalid id",
193
+ ArgumentName="CanonicalUser/ID",
194
+ ArgumentValue=grantee_id,
195
+ )
180
196
 
181
197
 
182
198
  def validate_lifecycle_configuration(lifecycle_conf: BucketLifecycleConfiguration) -> None:
@@ -242,12 +258,12 @@ def validate_website_configuration(website_config: WebsiteConfiguration) -> None
242
258
  """
243
259
  if redirect_all_req := website_config.get("RedirectAllRequestsTo", {}):
244
260
  if len(website_config) > 1:
245
- ex = _create_invalid_argument_exc(
246
- message="RedirectAllRequestsTo cannot be provided in conjunction with other Routing Rules.",
247
- name="RedirectAllRequestsTo",
248
- value="not null",
261
+ raise InvalidArgument(
262
+ "RedirectAllRequestsTo cannot be provided in conjunction with other Routing Rules.",
263
+ ArgumentName="RedirectAllRequestsTo",
264
+ ArgumentValue="not null",
249
265
  )
250
- raise ex
266
+
251
267
  if "HostName" not in redirect_all_req:
252
268
  raise MalformedXML()
253
269
 
@@ -261,20 +277,18 @@ def validate_website_configuration(website_config: WebsiteConfiguration) -> None
261
277
  # required
262
278
  # https://docs.aws.amazon.com/AmazonS3/latest/API/API_IndexDocument.html
263
279
  if not (index_configuration := website_config.get("IndexDocument")):
264
- ex = _create_invalid_argument_exc(
265
- message="A value for IndexDocument Suffix must be provided if RedirectAllRequestsTo is empty",
266
- name="IndexDocument",
267
- value="null",
280
+ raise InvalidArgument(
281
+ "A value for IndexDocument Suffix must be provided if RedirectAllRequestsTo is empty",
282
+ ArgumentName="IndexDocument",
283
+ ArgumentValue="null",
268
284
  )
269
- raise ex
270
285
 
271
286
  if not (index_suffix := index_configuration.get("Suffix")) or "/" in index_suffix:
272
- ex = _create_invalid_argument_exc(
273
- message="The IndexDocument Suffix is not well formed",
274
- name="IndexDocument",
275
- value=index_suffix or None,
287
+ raise InvalidArgument(
288
+ "The IndexDocument Suffix is not well formed",
289
+ ArgumentName="IndexDocument",
290
+ ArgumentValue=index_suffix or None,
276
291
  )
277
- raise ex
278
292
 
279
293
  if "ErrorDocument" in website_config and not website_config.get("ErrorDocument", {}).get("Key"):
280
294
  raise MalformedXML()
localstack/version.py CHANGED
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '4.7.1.dev122'
32
- __version_tuple__ = version_tuple = (4, 7, 1, 'dev122')
31
+ __version__ = version = '4.7.1.dev124'
32
+ __version_tuple__ = version_tuple = (4, 7, 1, 'dev124')
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localstack-core
3
- Version: 4.7.1.dev122
3
+ Version: 4.7.1.dev124
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=78Sf99fgH3ckJ20a9SMqsu01r1cm5GgcomkuY4yDMDo,15
4
4
  localstack/openapi.yaml,sha256=B803NmpwsxG8PHpHrdZYBrUYjnrRh7B_JX0XuNynuFs,30237
5
5
  localstack/plugins.py,sha256=BIJC9dlo0WbP7lLKkCiGtd_2q5oeqiHZohvoRTcejXM,2457
6
6
  localstack/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- localstack/version.py,sha256=nxiywcAkHZx-Uo7Ck1AkkpiYwmwVn1okigQt1_3Isog,721
7
+ localstack/version.py,sha256=M3Hhkbg-zVMvJd2HXp30qkpYPpAfCqPc3f5ybjnwFhk,721
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
@@ -337,7 +337,7 @@ localstack/services/cloudformation/scaffolding/__main__.py,sha256=W4qA6eMNejKWLE
337
337
  localstack/services/cloudformation/scaffolding/propgen.py,sha256=id7l43zsJsTgUyQ8F3jpfbpEoicc8GC6cB2ESEktDxc,7936
338
338
  localstack/services/cloudformation/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
339
339
  localstack/services/cloudformation/v2/entities.py,sha256=JLL9oX15cxzY_U23sa0zySyzx20rEXpIUl9CuQMnCGw,9023
340
- localstack/services/cloudformation/v2/provider.py,sha256=nuWIPAdpur2WUQJ1KB96LGBmAkO_xDAmNgY1sm10DiU,63651
340
+ localstack/services/cloudformation/v2/provider.py,sha256=toWWTLOM97HDRA1IHCxMwzL5PB9iq542gVOQGKSXk-o,64562
341
341
  localstack/services/cloudformation/v2/types.py,sha256=x_oDGQwxkViQ1fpcaSbBWiCODHZJAQgCej45EN-YZDs,957
342
342
  localstack/services/cloudformation/v2/utils.py,sha256=BWEgPy2FT6peowyVfZ5WhkzfBYYtrNRHgZrRNZ3LeP4,190
343
343
  localstack/services/cloudwatch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -688,11 +688,11 @@ localstack/services/s3/constants.py,sha256=8Pmp5K_EK4OUQ5GChIR7n9Rzf3iHRp2ecKSAP
688
688
  localstack/services/s3/cors.py,sha256=8t9Ghr8G05d0JHocIYCBvx-K_t-59zJ9KqIdrboZTY0,13530
689
689
  localstack/services/s3/exceptions.py,sha256=zQ6p5a1ROqI79gxTpTa-wktKu41d6cOdbgl24FAoN-A,1942
690
690
  localstack/services/s3/models.py,sha256=4pc_sm986jhRWP3puO6yuFoNfKzroZvCwR0rlnXg3Dg,30779
691
- localstack/services/s3/notifications.py,sha256=3N2pnxZyQqIB41c-VPHOwlus9w7bvM1RrjXtWs6FMco,32581
692
- localstack/services/s3/presigned_url.py,sha256=Tfb49Ze7wphO67kXig8tvJ0JjaBlASUPwe3uZbL5c7I,39529
691
+ localstack/services/s3/notifications.py,sha256=OS3fJ8-B62pFVcvFbK7MePRVz1ykGQbuvvaG6h8niS8,32575
692
+ localstack/services/s3/presigned_url.py,sha256=KlmfnZaGpv6fBh6xMA6E55xxxyxzwKyIy-HiIjWo8lA,39409
693
693
  localstack/services/s3/provider.py,sha256=4NZ-dM7NrPSQEszp6AYuUx_Q5jP6dH88h_8t023K8CM,198184
694
- localstack/services/s3/utils.py,sha256=GlLoLe2cIZtauCX2fwRDKVr1PVVavtvY7WrrftIFmAs,39138
695
- localstack/services/s3/validation.py,sha256=oj9Ezh4YuzMIgpboOG8yUKtFYQIIc2XwJqHF6cEsbu0,19966
694
+ localstack/services/s3/utils.py,sha256=vQPt5kJ0G79FFil0nisGoSIgAsBpk6ciO9bL_DsjWI0,38864
695
+ localstack/services/s3/validation.py,sha256=n4XdJLJdGddKd9JFBjtbRHaPzzTW8H1I_1uQS4N_w1s,20202
696
696
  localstack/services/s3/website_hosting.py,sha256=I4cE7omiN7EBQjdlvueSb_DaD8cwEZxeh7K-H_We30k,16672
697
697
  localstack/services/s3/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
698
698
  localstack/services/s3/resource_providers/aws_s3_bucket.py,sha256=usTd16U_pw5MG3DBCLNNFQfwWiW5iAPvsT-OGQRjm9k,22770
@@ -1291,13 +1291,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
1291
1291
  localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1292
1292
  localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
1293
1293
  localstack/utils/xray/traceid.py,sha256=GKO-R2sMMjlrH2UaLPXlQlZ6flbE7ZKb6IZMtMu_M5U,1110
1294
- localstack_core-4.7.1.dev122.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1295
- localstack_core-4.7.1.dev122.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1296
- localstack_core-4.7.1.dev122.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1297
- localstack_core-4.7.1.dev122.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1298
- localstack_core-4.7.1.dev122.dist-info/METADATA,sha256=AnquNMMdAlLByd0wQEfvqyW0HS2mTdK2kJ_X3sIww60,5538
1299
- localstack_core-4.7.1.dev122.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1300
- localstack_core-4.7.1.dev122.dist-info/entry_points.txt,sha256=BALZ7ZgTqj1hVImoXiSWJu7rTGsMnx3dAjIp6fDDAg8,20817
1301
- localstack_core-4.7.1.dev122.dist-info/plux.json,sha256=RNTRWmRoYjH0Ii9tHhwJ0HXvrdBuWS1SUWxXyQiRib8,21042
1302
- localstack_core-4.7.1.dev122.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1303
- localstack_core-4.7.1.dev122.dist-info/RECORD,,
1294
+ localstack_core-4.7.1.dev124.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1295
+ localstack_core-4.7.1.dev124.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1296
+ localstack_core-4.7.1.dev124.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1297
+ localstack_core-4.7.1.dev124.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1298
+ localstack_core-4.7.1.dev124.dist-info/METADATA,sha256=jn6AHiBb6OlUQxWePram9Qw0QEWPRiZ52TRVSX8mt7M,5538
1299
+ localstack_core-4.7.1.dev124.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1300
+ localstack_core-4.7.1.dev124.dist-info/entry_points.txt,sha256=BALZ7ZgTqj1hVImoXiSWJu7rTGsMnx3dAjIp6fDDAg8,20817
1301
+ localstack_core-4.7.1.dev124.dist-info/plux.json,sha256=9njST2dNjhqTFL-3F3lzsBXy6hght7GQE-VSLPg4UlE,21042
1302
+ localstack_core-4.7.1.dev124.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1303
+ localstack_core-4.7.1.dev124.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"localstack.init.runner": ["py=localstack.runtime.init:PythonScriptRunner", "sh=localstack.runtime.init:ShellScriptRunner"], "localstack.hooks.on_infra_ready": ["_run_init_scripts_on_ready=localstack.runtime.init:_run_init_scripts_on_ready", "publish_provider_assignment=localstack.utils.analytics.service_providers:publish_provider_assignment"], "localstack.hooks.on_infra_shutdown": ["_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "run_on_after_service_shutdown_handlers=localstack.runtime.shutdown:run_on_after_service_shutdown_handlers", "run_shutdown_handlers=localstack.runtime.shutdown:run_shutdown_handlers", "shutdown_services=localstack.runtime.shutdown:shutdown_services", "stop_server=localstack.dns.plugins:stop_server", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "publish_metrics=localstack.utils.analytics.metrics.publisher:publish_metrics"], "localstack.hooks.on_infra_start": ["_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "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", "_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", "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", "eager_load_services=localstack.services.plugins:eager_load_services", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "init_response_mutation_handler=localstack.aws.handlers.response:init_response_mutation_handler", "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_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui"], "localstack.cloudformation.resource_providers": ["AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "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::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "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::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "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::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin"], "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", "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", "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", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.aws.provider": ["acm:default=localstack.services.providers:acm", "apigateway:default=localstack.services.providers:apigateway", "apigateway:legacy=localstack.services.providers:apigateway_legacy", "apigateway:next_gen=localstack.services.providers:apigateway_next_gen", "config:default=localstack.services.providers:awsconfig", "cloudformation: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", "sns:v2=localstack.services.providers:sns_v2", "sqs:default=localstack.services.providers:sqs", "ssm:default=localstack.services.providers:ssm", "stepfunctions:default=localstack.services.providers:stepfunctions", "stepfunctions:v2=localstack.services.providers:stepfunctions_v2", "sts:default=localstack.services.providers:sts", "support:default=localstack.services.providers:support", "swf:default=localstack.services.providers:swf", "transcribe:default=localstack.services.providers:transcribe"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"], "localstack.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"]}
@@ -1 +0,0 @@
1
- {"localstack.cloudformation.resource_providers": ["AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "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::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "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::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "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::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "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"], "localstack.hooks.on_infra_start": ["register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "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", "_publish_config_as_analytics_event=localstack.runtime.analytics:_publish_config_as_analytics_event", "_publish_container_info=localstack.runtime.analytics:_publish_container_info", "_patch_botocore_endpoint_in_memory=localstack.aws.client:_patch_botocore_endpoint_in_memory", "_patch_botocore_json_parser=localstack.aws.client:_patch_botocore_json_parser", "_patch_cbor2=localstack.aws.client:_patch_cbor2", "init_response_mutation_handler=localstack.aws.handlers.response:init_response_mutation_handler", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "eager_load_services=localstack.services.plugins:eager_load_services", "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"], "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", "sns:v2=localstack.services.providers:sns_v2", "sqs:default=localstack.services.providers:sqs", "ssm:default=localstack.services.providers:ssm", "stepfunctions:default=localstack.services.providers:stepfunctions", "stepfunctions:v2=localstack.services.providers:stepfunctions_v2", "sts:default=localstack.services.providers:sts", "support:default=localstack.services.providers:support", "swf:default=localstack.services.providers:swf", "transcribe:default=localstack.services.providers:transcribe"], "localstack.packages": ["lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_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", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package"], "localstack.hooks.on_infra_shutdown": ["remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "run_on_after_service_shutdown_handlers=localstack.runtime.shutdown:run_on_after_service_shutdown_handlers", "run_shutdown_handlers=localstack.runtime.shutdown:run_shutdown_handlers", "shutdown_services=localstack.runtime.shutdown:shutdown_services", "publish_metrics=localstack.utils.analytics.metrics.publisher:publish_metrics", "stop_server=localstack.dns.plugins:stop_server"], "localstack.hooks.on_infra_ready": ["publish_provider_assignment=localstack.utils.analytics.service_providers:publish_provider_assignment", "_run_init_scripts_on_ready=localstack.runtime.init:_run_init_scripts_on_ready"], "localstack.init.runner": ["py=localstack.runtime.init:PythonScriptRunner", "sh=localstack.runtime.init:ShellScriptRunner"], "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.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"]}