localstack-core 4.4.1.dev21__py3-none-any.whl → 4.4.1.dev24__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.
Files changed (19) hide show
  1. localstack/aws/api/ec2/__init__.py +13 -2
  2. localstack/aws/api/logs/__init__.py +44 -0
  3. localstack/services/cloudformation/engine/v2/change_set_model_describer.py +3 -6
  4. localstack/services/cloudformation/engine/v2/change_set_model_executor.py +1 -6
  5. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +63 -5
  6. localstack/services/cloudformation/v2/entities.py +0 -37
  7. localstack/services/cloudformation/v2/provider.py +33 -3
  8. localstack/version.py +2 -2
  9. {localstack_core-4.4.1.dev21.dist-info → localstack_core-4.4.1.dev24.dist-info}/METADATA +3 -3
  10. {localstack_core-4.4.1.dev21.dist-info → localstack_core-4.4.1.dev24.dist-info}/RECORD +18 -18
  11. localstack_core-4.4.1.dev24.dist-info/plux.json +1 -0
  12. localstack_core-4.4.1.dev21.dist-info/plux.json +0 -1
  13. {localstack_core-4.4.1.dev21.data → localstack_core-4.4.1.dev24.data}/scripts/localstack +0 -0
  14. {localstack_core-4.4.1.dev21.data → localstack_core-4.4.1.dev24.data}/scripts/localstack-supervisor +0 -0
  15. {localstack_core-4.4.1.dev21.data → localstack_core-4.4.1.dev24.data}/scripts/localstack.bat +0 -0
  16. {localstack_core-4.4.1.dev21.dist-info → localstack_core-4.4.1.dev24.dist-info}/WHEEL +0 -0
  17. {localstack_core-4.4.1.dev21.dist-info → localstack_core-4.4.1.dev24.dist-info}/entry_points.txt +0 -0
  18. {localstack_core-4.4.1.dev21.dist-info → localstack_core-4.4.1.dev24.dist-info}/licenses/LICENSE.txt +0 -0
  19. {localstack_core-4.4.1.dev21.dist-info → localstack_core-4.4.1.dev24.dist-info}/top_level.txt +0 -0
@@ -4183,6 +4183,7 @@ StringList = List[String]
4183
4183
  class AnalysisLoadBalancerTarget(TypedDict, total=False):
4184
4184
  Address: Optional[IpAddress]
4185
4185
  AvailabilityZone: Optional[String]
4186
+ AvailabilityZoneId: Optional[String]
4186
4187
  Instance: Optional[AnalysisComponent]
4187
4188
  Port: Optional[Port]
4188
4189
 
@@ -4211,6 +4212,7 @@ class Explanation(TypedDict, total=False):
4211
4212
  Addresses: Optional[IpAddressList]
4212
4213
  AttachedTo: Optional[AnalysisComponent]
4213
4214
  AvailabilityZones: Optional[ValueStringList]
4215
+ AvailabilityZoneIds: Optional[ValueStringList]
4214
4216
  Cidrs: Optional[ValueStringList]
4215
4217
  Component: Optional[AnalysisComponent]
4216
4218
  CustomerGateway: Optional[AnalysisComponent]
@@ -4574,11 +4576,12 @@ class AllocateHostsRequest(ServiceRequest):
4574
4576
  OutpostArn: Optional[String]
4575
4577
  HostMaintenance: Optional[HostMaintenance]
4576
4578
  AssetIds: Optional[AssetIdList]
4579
+ AvailabilityZoneId: Optional[AvailabilityZoneId]
4577
4580
  AutoPlacement: Optional[AutoPlacement]
4578
4581
  ClientToken: Optional[String]
4579
4582
  InstanceType: Optional[String]
4580
4583
  Quantity: Optional[Integer]
4581
- AvailabilityZone: String
4584
+ AvailabilityZone: Optional[String]
4582
4585
 
4583
4586
 
4584
4587
  ResponseHostIdList = List[String]
@@ -5957,6 +5960,7 @@ class CapacityReservationInfo(TypedDict, total=False):
5957
5960
  InstanceType: Optional[String]
5958
5961
  AvailabilityZone: Optional[AvailabilityZoneName]
5959
5962
  Tenancy: Optional[CapacityReservationTenancy]
5963
+ AvailabilityZoneId: Optional[AvailabilityZoneId]
5960
5964
 
5961
5965
 
5962
5966
  class CapacityReservationBillingRequest(TypedDict, total=False):
@@ -14001,6 +14005,7 @@ class ReservedInstancesConfiguration(TypedDict, total=False):
14001
14005
  InstanceType: Optional[InstanceType]
14002
14006
  Platform: Optional[String]
14003
14007
  Scope: Optional[scope]
14008
+ AvailabilityZoneId: Optional[String]
14004
14009
 
14005
14010
 
14006
14011
  class ReservedInstancesModificationResult(TypedDict, total=False):
@@ -14044,6 +14049,7 @@ class DescribeReservedInstancesOfferingsRequest(ServiceRequest):
14044
14049
  OfferingClass: Optional[OfferingClassType]
14045
14050
  ProductDescription: Optional[RIProductDescription]
14046
14051
  ReservedInstancesOfferingIds: Optional[ReservedInstancesOfferingIdStringList]
14052
+ AvailabilityZoneId: Optional[AvailabilityZoneId]
14047
14053
  DryRun: Optional[Boolean]
14048
14054
  Filters: Optional[FilterList]
14049
14055
  InstanceTenancy: Optional[Tenancy]
@@ -14077,6 +14083,7 @@ class ReservedInstancesOffering(TypedDict, total=False):
14077
14083
  PricingDetails: Optional[PricingDetailsList]
14078
14084
  RecurringCharges: Optional[RecurringChargesList]
14079
14085
  Scope: Optional[scope]
14086
+ AvailabilityZoneId: Optional[AvailabilityZoneId]
14080
14087
  ReservedInstancesOfferingId: Optional[String]
14081
14088
  InstanceType: Optional[InstanceType]
14082
14089
  AvailabilityZone: Optional[String]
@@ -14113,6 +14120,7 @@ class ReservedInstances(TypedDict, total=False):
14113
14120
  RecurringCharges: Optional[RecurringChargesList]
14114
14121
  Scope: Optional[scope]
14115
14122
  Tags: Optional[TagList]
14123
+ AvailabilityZoneId: Optional[String]
14116
14124
  ReservedInstancesId: Optional[String]
14117
14125
  InstanceType: Optional[InstanceType]
14118
14126
  AvailabilityZone: Optional[String]
@@ -15455,6 +15463,7 @@ class VolumeStatusItem(TypedDict, total=False):
15455
15463
  VolumeId: Optional[String]
15456
15464
  VolumeStatus: Optional[VolumeStatusInfo]
15457
15465
  AttachmentStatuses: Optional[VolumeStatusAttachmentStatusList]
15466
+ AvailabilityZoneId: Optional[String]
15458
15467
 
15459
15468
 
15460
15469
  VolumeStatusList = List[VolumeStatusItem]
@@ -20490,17 +20499,18 @@ class Ec2Api:
20490
20499
  def allocate_hosts(
20491
20500
  self,
20492
20501
  context: RequestContext,
20493
- availability_zone: String,
20494
20502
  instance_family: String | None = None,
20495
20503
  tag_specifications: TagSpecificationList | None = None,
20496
20504
  host_recovery: HostRecovery | None = None,
20497
20505
  outpost_arn: String | None = None,
20498
20506
  host_maintenance: HostMaintenance | None = None,
20499
20507
  asset_ids: AssetIdList | None = None,
20508
+ availability_zone_id: AvailabilityZoneId | None = None,
20500
20509
  auto_placement: AutoPlacement | None = None,
20501
20510
  client_token: String | None = None,
20502
20511
  instance_type: String | None = None,
20503
20512
  quantity: Integer | None = None,
20513
+ availability_zone: String | None = None,
20504
20514
  **kwargs,
20505
20515
  ) -> AllocateHostsResult:
20506
20516
  raise NotImplementedError
@@ -24601,6 +24611,7 @@ class Ec2Api:
24601
24611
  offering_class: OfferingClassType | None = None,
24602
24612
  product_description: RIProductDescription | None = None,
24603
24613
  reserved_instances_offering_ids: ReservedInstancesOfferingIdStringList | None = None,
24614
+ availability_zone_id: AvailabilityZoneId | None = None,
24604
24615
  dry_run: Boolean | None = None,
24605
24616
  filters: FilterList | None = None,
24606
24617
  instance_tenancy: Tenancy | None = None,
@@ -77,6 +77,7 @@ KeyPrefix = str
77
77
  KeyValueDelimiter = str
78
78
  KmsKeyId = str
79
79
  ListAnomaliesLimit = int
80
+ ListLimit = int
80
81
  ListLogAnomalyDetectorsLimit = int
81
82
  ListLogGroupsForQueryMaxResults = int
82
83
  Locale = str
@@ -85,6 +86,7 @@ LogGroupArn = str
85
86
  LogGroupIdentifier = str
86
87
  LogGroupName = str
87
88
  LogGroupNamePattern = str
89
+ LogGroupNameRegexPattern = str
88
90
  LogRecordPointer = str
89
91
  LogStreamName = str
90
92
  LogStreamSearchedCompletely = bool
@@ -1029,6 +1031,9 @@ class DescribeIndexPoliciesResponse(TypedDict, total=False):
1029
1031
  nextToken: Optional[NextToken]
1030
1032
 
1031
1033
 
1034
+ DescribeLogGroupsLogGroupIdentifiers = List[LogGroupIdentifier]
1035
+
1036
+
1032
1037
  class DescribeLogGroupsRequest(ServiceRequest):
1033
1038
  accountIdentifiers: Optional[AccountIds]
1034
1039
  logGroupNamePrefix: Optional[LogGroupName]
@@ -1037,6 +1042,7 @@ class DescribeLogGroupsRequest(ServiceRequest):
1037
1042
  limit: Optional[DescribeLimit]
1038
1043
  includeLinkedAccounts: Optional[IncludeLinkedAccounts]
1039
1044
  logGroupClass: Optional[LogGroupClass]
1045
+ logGroupIdentifiers: Optional[DescribeLogGroupsLogGroupIdentifiers]
1040
1046
 
1041
1047
 
1042
1048
  InheritedProperties = List[InheritedProperty]
@@ -1755,6 +1761,29 @@ class ListLogGroupsForQueryResponse(TypedDict, total=False):
1755
1761
  nextToken: Optional[NextToken]
1756
1762
 
1757
1763
 
1764
+ class ListLogGroupsRequest(ServiceRequest):
1765
+ logGroupNamePattern: Optional[LogGroupNameRegexPattern]
1766
+ logGroupClass: Optional[LogGroupClass]
1767
+ includeLinkedAccounts: Optional[IncludeLinkedAccounts]
1768
+ accountIdentifiers: Optional[AccountIds]
1769
+ nextToken: Optional[NextToken]
1770
+ limit: Optional[ListLimit]
1771
+
1772
+
1773
+ class LogGroupSummary(TypedDict, total=False):
1774
+ logGroupName: Optional[LogGroupName]
1775
+ logGroupArn: Optional[Arn]
1776
+ logGroupClass: Optional[LogGroupClass]
1777
+
1778
+
1779
+ LogGroupSummaries = List[LogGroupSummary]
1780
+
1781
+
1782
+ class ListLogGroupsResponse(TypedDict, total=False):
1783
+ logGroups: Optional[LogGroupSummaries]
1784
+ nextToken: Optional[NextToken]
1785
+
1786
+
1758
1787
  class ListTagsForResourceRequest(ServiceRequest):
1759
1788
  resourceArn: AmazonResourceName
1760
1789
 
@@ -2423,6 +2452,7 @@ class LogsApi:
2423
2452
  limit: DescribeLimit | None = None,
2424
2453
  include_linked_accounts: IncludeLinkedAccounts | None = None,
2425
2454
  log_group_class: LogGroupClass | None = None,
2455
+ log_group_identifiers: DescribeLogGroupsLogGroupIdentifiers | None = None,
2426
2456
  **kwargs,
2427
2457
  ) -> DescribeLogGroupsResponse:
2428
2458
  raise NotImplementedError
@@ -2658,6 +2688,20 @@ class LogsApi:
2658
2688
  ) -> ListLogAnomalyDetectorsResponse:
2659
2689
  raise NotImplementedError
2660
2690
 
2691
+ @handler("ListLogGroups")
2692
+ def list_log_groups(
2693
+ self,
2694
+ context: RequestContext,
2695
+ log_group_name_pattern: LogGroupNameRegexPattern | None = None,
2696
+ log_group_class: LogGroupClass | None = None,
2697
+ include_linked_accounts: IncludeLinkedAccounts | None = None,
2698
+ account_identifiers: AccountIds | None = None,
2699
+ next_token: NextToken | None = None,
2700
+ limit: ListLimit | None = None,
2701
+ **kwargs,
2702
+ ) -> ListLogGroupsResponse:
2703
+ raise NotImplementedError
2704
+
2661
2705
  @handler("ListLogGroupsForQuery")
2662
2706
  def list_log_groups_for_query(
2663
2707
  self,
@@ -7,7 +7,6 @@ import localstack.aws.api.cloudformation as cfn_api
7
7
  from localstack.services.cloudformation.engine.v2.change_set_model import (
8
8
  NodeIntrinsicFunction,
9
9
  NodeResource,
10
- NodeTemplate,
11
10
  PropertiesKey,
12
11
  )
13
12
  from localstack.services.cloudformation.engine.v2.change_set_model_preproc import (
@@ -16,6 +15,7 @@ from localstack.services.cloudformation.engine.v2.change_set_model_preproc impor
16
15
  PreprocProperties,
17
16
  PreprocResource,
18
17
  )
18
+ from localstack.services.cloudformation.v2.entities import ChangeSet
19
19
 
20
20
  CHANGESET_KNOWN_AFTER_APPLY: Final[str] = "{{changeSet:KNOWN_AFTER_APPLY}}"
21
21
 
@@ -26,13 +26,10 @@ class ChangeSetModelDescriber(ChangeSetModelPreproc):
26
26
 
27
27
  def __init__(
28
28
  self,
29
- node_template: NodeTemplate,
30
- before_resolved_resources: dict,
29
+ change_set: ChangeSet,
31
30
  include_property_values: bool,
32
31
  ):
33
- super().__init__(
34
- node_template=node_template, before_resolved_resources=before_resolved_resources
35
- )
32
+ super().__init__(change_set=change_set)
36
33
  self._include_property_values = include_property_values
37
34
  self._changes = list()
38
35
 
@@ -38,18 +38,13 @@ class ChangeSetModelExecutorResult:
38
38
 
39
39
 
40
40
  class ChangeSetModelExecutor(ChangeSetModelPreproc):
41
- _change_set: Final[ChangeSet]
42
41
  # TODO: add typing for resolved resources and parameters.
43
42
  resources: Final[dict]
44
43
  outputs: Final[dict]
45
44
  resolved_parameters: Final[dict]
46
45
 
47
46
  def __init__(self, change_set: ChangeSet):
48
- super().__init__(
49
- node_template=change_set.update_graph,
50
- before_resolved_resources=change_set.stack.resolved_resources,
51
- )
52
- self._change_set = change_set
47
+ super().__init__(change_set=change_set)
53
48
  self.resources = dict()
54
49
  self.outputs = dict()
55
50
  self.resolved_parameters = dict()
@@ -28,6 +28,22 @@ from localstack.services.cloudformation.engine.v2.change_set_model import (
28
28
  from localstack.services.cloudformation.engine.v2.change_set_model_visitor import (
29
29
  ChangeSetModelVisitor,
30
30
  )
31
+ from localstack.services.cloudformation.v2.entities import ChangeSet
32
+ from localstack.utils.aws.arns import get_partition
33
+ from localstack.utils.urls import localstack_host
34
+
35
+ _AWS_URL_SUFFIX = localstack_host().host # The value in AWS is "amazonaws.com"
36
+
37
+ _PSEUDO_PARAMETERS: Final[set[str]] = {
38
+ "AWS::Partition",
39
+ "AWS::AccountId",
40
+ "AWS::Region",
41
+ "AWS::StackName",
42
+ "AWS::StackId",
43
+ "AWS::URLSuffix",
44
+ "AWS::NoValue",
45
+ "AWS::NotificationARNs",
46
+ }
31
47
 
32
48
  TBefore = TypeVar("TBefore")
33
49
  TAfter = TypeVar("TAfter")
@@ -126,13 +142,15 @@ class PreprocOutput:
126
142
 
127
143
 
128
144
  class ChangeSetModelPreproc(ChangeSetModelVisitor):
145
+ _change_set: Final[ChangeSet]
129
146
  _node_template: Final[NodeTemplate]
130
147
  _before_resolved_resources: Final[dict]
131
148
  _processed: dict[Scope, Any]
132
149
 
133
- def __init__(self, node_template: NodeTemplate, before_resolved_resources: dict):
134
- self._node_template = node_template
135
- self._before_resolved_resources = before_resolved_resources
150
+ def __init__(self, change_set: ChangeSet):
151
+ self._change_set = change_set
152
+ self._node_template = change_set.update_graph
153
+ self._before_resolved_resources = change_set.stack.resolved_resources
136
154
  self._processed = dict()
137
155
 
138
156
  def process(self) -> None:
@@ -157,11 +175,20 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
157
175
  return node_property
158
176
  return None
159
177
 
160
- @staticmethod
161
178
  def _deployed_property_value_of(
162
- resource_logical_id: str, property_name: str, resolved_resources: dict
179
+ self, resource_logical_id: str, property_name: str, resolved_resources: dict
163
180
  ) -> Any:
164
181
  # TODO: typing around resolved resources is needed and should be reflected here.
182
+
183
+ # Before we can obtain deployed value for a resource, we need to first ensure to
184
+ # process the resource if this wasn't processed already. Ideally, values should only
185
+ # be accessible through delta objects, to ensure computation is always complete at
186
+ # every level.
187
+ node_resource = self._get_node_resource_for(
188
+ resource_name=resource_logical_id, node_template=self._node_template
189
+ )
190
+ self.visit(node_resource)
191
+
165
192
  resolved_resource = resolved_resources.get(resource_logical_id)
166
193
  if resolved_resource is None:
167
194
  raise RuntimeError(
@@ -223,7 +250,38 @@ class ChangeSetModelPreproc(ChangeSetModelVisitor):
223
250
  return condition_delta
224
251
  raise RuntimeError(f"No condition '{logical_id}' was found.")
225
252
 
253
+ def _resolve_pseudo_parameter(self, pseudo_parameter_name: str) -> PreprocEntityDelta:
254
+ match pseudo_parameter_name:
255
+ case "AWS::Partition":
256
+ after = get_partition(self._change_set.region_name)
257
+ case "AWS::AccountId":
258
+ after = self._change_set.stack.account_id
259
+ case "AWS::Region":
260
+ after = self._change_set.stack.region_name
261
+ case "AWS::StackName":
262
+ after = self._change_set.stack.stack_name
263
+ case "AWS::StackId":
264
+ after = self._change_set.stack.stack_id
265
+ case "AWS::URLSuffix":
266
+ after = _AWS_URL_SUFFIX
267
+ case "AWS::NoValue":
268
+ # TODO: add support for NoValue, None cannot be used to communicate a Null value in preproc classes.
269
+ raise NotImplementedError("The use of AWS:NoValue is currently unsupported")
270
+ case "AWS::NotificationARNs":
271
+ raise NotImplementedError(
272
+ "The use of AWS::NotificationARNs is currently unsupported"
273
+ )
274
+ case _:
275
+ raise RuntimeError(f"Unknown pseudo parameter value '{pseudo_parameter_name}'")
276
+ return PreprocEntityDelta(before=after, after=after)
277
+
226
278
  def _resolve_reference(self, logical_id: str) -> PreprocEntityDelta:
279
+ if logical_id in _PSEUDO_PARAMETERS:
280
+ pseudo_parameter_delta = self._resolve_pseudo_parameter(
281
+ pseudo_parameter_name=logical_id
282
+ )
283
+ return pseudo_parameter_delta
284
+
227
285
  node_parameter = self._get_node_parameter_if_exists(parameter_name=logical_id)
228
286
  if isinstance(node_parameter, NodeParameter):
229
287
  parameter_delta = self.visit(node_parameter)
@@ -2,11 +2,9 @@ from datetime import datetime, timezone
2
2
  from typing import TypedDict
3
3
 
4
4
  from localstack.aws.api.cloudformation import (
5
- Changes,
6
5
  ChangeSetStatus,
7
6
  ChangeSetType,
8
7
  CreateChangeSetInput,
9
- DescribeChangeSetOutput,
10
8
  ExecutionStatus,
11
9
  Output,
12
10
  Parameter,
@@ -26,9 +24,6 @@ from localstack.services.cloudformation.engine.v2.change_set_model import (
26
24
  ChangeSetModel,
27
25
  NodeTemplate,
28
26
  )
29
- from localstack.services.cloudformation.engine.v2.change_set_model_describer import (
30
- ChangeSetModelDescriber,
31
- )
32
27
  from localstack.utils.aws import arns
33
28
  from localstack.utils.strings import short_uid
34
29
 
@@ -187,35 +182,3 @@ class ChangeSet:
187
182
  after_parameters=after_parameters,
188
183
  )
189
184
  self.update_graph = change_set_model.get_update_model()
190
-
191
- def describe_details(self, include_property_values: bool) -> DescribeChangeSetOutput:
192
- change_set_describer = ChangeSetModelDescriber(
193
- node_template=self.update_graph,
194
- before_resolved_resources=self.stack.resolved_resources,
195
- include_property_values=include_property_values,
196
- )
197
- changes: Changes = change_set_describer.get_changes()
198
-
199
- result = {
200
- "Status": self.status,
201
- "ChangeSetType": self.change_set_type,
202
- "ChangeSetId": self.change_set_id,
203
- "ChangeSetName": self.change_set_name,
204
- "ExecutionStatus": self.execution_status,
205
- "RollbackConfiguration": {},
206
- "StackId": self.stack.stack_id,
207
- "StackName": self.stack.stack_name,
208
- "StackStatus": self.stack.status,
209
- "CreationTime": self.creation_time,
210
- "LastUpdatedTime": "",
211
- "DisableRollback": "",
212
- "EnableTerminationProtection": "",
213
- "Transform": "",
214
- # TODO: mask no echo
215
- "Parameters": [
216
- Parameter(ParameterKey=key, ParameterValue=value)
217
- for (key, value) in self.stack.resolved_parameters.items()
218
- ],
219
- "Changes": changes,
220
- }
221
- return result
@@ -3,6 +3,7 @@ from typing import Any
3
3
 
4
4
  from localstack.aws.api import RequestContext, handler
5
5
  from localstack.aws.api.cloudformation import (
6
+ Changes,
6
7
  ChangeSetNameOrId,
7
8
  ChangeSetNotFoundException,
8
9
  ChangeSetStatus,
@@ -24,12 +25,16 @@ from localstack.aws.api.cloudformation import (
24
25
  RetainExceptOnCreate,
25
26
  RetainResources,
26
27
  RoleARN,
28
+ RollbackConfiguration,
27
29
  StackName,
28
30
  StackNameOrId,
29
31
  StackStatus,
30
32
  )
31
33
  from localstack.services.cloudformation import api_utils
32
34
  from localstack.services.cloudformation.engine import template_preparer
35
+ from localstack.services.cloudformation.engine.v2.change_set_model_describer import (
36
+ ChangeSetModelDescriber,
37
+ )
33
38
  from localstack.services.cloudformation.engine.v2.change_set_model_executor import (
34
39
  ChangeSetModelExecutor,
35
40
  )
@@ -296,6 +301,32 @@ class CloudformationProviderV2(CloudformationProvider):
296
301
 
297
302
  return ExecuteChangeSetOutput()
298
303
 
304
+ def _describe_change_set(
305
+ self, change_set: ChangeSet, include_property_values: bool
306
+ ) -> DescribeChangeSetOutput:
307
+ change_set_describer = ChangeSetModelDescriber(
308
+ change_set=change_set, include_property_values=include_property_values
309
+ )
310
+ changes: Changes = change_set_describer.get_changes()
311
+
312
+ result = DescribeChangeSetOutput(
313
+ Status=change_set.status,
314
+ ChangeSetId=change_set.change_set_id,
315
+ ChangeSetName=change_set.change_set_name,
316
+ ExecutionStatus=change_set.execution_status,
317
+ RollbackConfiguration=RollbackConfiguration(),
318
+ StackId=change_set.stack.stack_id,
319
+ StackName=change_set.stack.stack_name,
320
+ CreationTime=change_set.creation_time,
321
+ Parameters=[
322
+ # TODO: add masking support.
323
+ Parameter(ParameterKey=key, ParameterValue=value)
324
+ for (key, value) in change_set.stack.resolved_parameters.items()
325
+ ],
326
+ Changes=changes,
327
+ )
328
+ return result
329
+
299
330
  @handler("DescribeChangeSet")
300
331
  def describe_change_set(
301
332
  self,
@@ -312,9 +343,8 @@ class CloudformationProviderV2(CloudformationProvider):
312
343
  change_set = find_change_set_v2(state, change_set_name, stack_name)
313
344
  if not change_set:
314
345
  raise ChangeSetNotFoundException(f"ChangeSet [{change_set_name}] does not exist")
315
-
316
- result = change_set.describe_details(
317
- include_property_values=include_property_values or False
346
+ result = self._describe_change_set(
347
+ change_set=change_set, include_property_values=include_property_values or False
318
348
  )
319
349
  return result
320
350
 
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.4.1.dev21'
21
- __version_tuple__ = version_tuple = (4, 4, 1, 'dev21')
20
+ __version__ = version = '4.4.1.dev24'
21
+ __version_tuple__ = version_tuple = (4, 4, 1, 'dev24')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localstack-core
3
- Version: 4.4.1.dev21
3
+ Version: 4.4.1.dev24
4
4
  Summary: The core library and runtime of LocalStack
5
5
  Author-email: LocalStack Contributors <info@localstack.cloud>
6
6
  License-Expression: Apache-2.0
@@ -31,8 +31,8 @@ Requires-Dist: requests>=2.20.0
31
31
  Requires-Dist: semver>=2.10
32
32
  Requires-Dist: tailer>=0.4.1
33
33
  Provides-Extra: base-runtime
34
- Requires-Dist: boto3==1.38.13; extra == "base-runtime"
35
- Requires-Dist: botocore==1.38.13; extra == "base-runtime"
34
+ Requires-Dist: boto3==1.38.18; extra == "base-runtime"
35
+ Requires-Dist: botocore==1.38.18; extra == "base-runtime"
36
36
  Requires-Dist: awscrt!=0.27.1,>=0.13.14; extra == "base-runtime"
37
37
  Requires-Dist: cbor2>=5.5.0; extra == "base-runtime"
38
38
  Requires-Dist: dnspython>=1.16.0; extra == "base-runtime"
@@ -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=rjq1V5W0DDbBjkaTY4u-biiS8eugTxf9fVv7ZPSrZXw,526
7
+ localstack/version.py,sha256=qSZPEFCCLrC7gjuZuxV_N9Xuh3u83PbkcFgEmRxFcmY,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
@@ -30,7 +30,7 @@ localstack/aws/api/cloudwatch/__init__.py,sha256=3i9Y8FF5d8JUmOGB2XzbtonsjtNF_nS
30
30
  localstack/aws/api/config/__init__.py,sha256=71NsyAtwz4bDS1xqosqJweFsmTSYrCtsnFhlN7FqZMM,142633
31
31
  localstack/aws/api/dynamodb/__init__.py,sha256=rBUZmiGFFtR1Gi_tdkfapmW0AGi0XSzXuXPpfo8O6JY,92382
32
32
  localstack/aws/api/dynamodbstreams/__init__.py,sha256=-ndrIPJHzSYSBPnEILaB_WJaLXPsQuAXmISvUuzuL0A,7048
33
- localstack/aws/api/ec2/__init__.py,sha256=9o-moK4hqcb84P_GEOlscWAqowzs6nZtBLNTJmpBlck,925578
33
+ localstack/aws/api/ec2/__init__.py,sha256=GcQOD0XH9v27LThrBREuw9VDbS6l4O_QLAZQuAyuqS4,926157
34
34
  localstack/aws/api/es/__init__.py,sha256=QQiin0n_ug9gl_tI6noSFBjdmaL4GVv4EOkvoQyOxrk,64252
35
35
  localstack/aws/api/events/__init__.py,sha256=Z_nd6g4pwrZtwq-0-4p8SZoJPSnaWSEq3kuIhuGFauQ,61432
36
36
  localstack/aws/api/firehose/__init__.py,sha256=_lCSkVCQ4Y25EHtAAAmbfOjdVK1PlCkH5XeTGtCZPzk,58579
@@ -38,7 +38,7 @@ localstack/aws/api/iam/__init__.py,sha256=gY96Ck1kViM4TbBBgoWPSIL2Q3_yODfvNWs0XN
38
38
  localstack/aws/api/kinesis/__init__.py,sha256=1--vaNpflWcrrjwoQC5CzoFkWgUvHiKcuy4l4krMzgY,28847
39
39
  localstack/aws/api/kms/__init__.py,sha256=sC_AACxJsOZCvqefb6RCGaFgLKiLA1KAXqXw8wMUA44,55215
40
40
  localstack/aws/api/lambda_/__init__.py,sha256=egGpJJ4BCuisNMtuqpt3VtlDw8Tc0p6MCSfTcBZxpxo,79166
41
- localstack/aws/api/logs/__init__.py,sha256=0uZF-_vc_QojpBfnz1IAeMvb-k1X6fZEOECvgTMo-gk,83908
41
+ localstack/aws/api/logs/__init__.py,sha256=tZwwhlijGXeXzlUv-1UCXO9sRYAKHNcvRtRw-79jZmc,85359
42
42
  localstack/aws/api/opensearch/__init__.py,sha256=QDC4xcanYjar-q-KwsonDIvarR4WJrFDCBYhsiwpJgo,98532
43
43
  localstack/aws/api/pipes/__init__.py,sha256=hbykvQZGigcbVtT-3LGFwVye28aPLVyFAW_DDVFMPhY,33283
44
44
  localstack/aws/api/redshift/__init__.py,sha256=TqzLdaVsKzpfL2sFDXZMiMw8PnplXcQdJO24L-IQZP4,158552
@@ -311,9 +311,9 @@ localstack/services/cloudformation/engine/validations.py,sha256=brq7s8O8exA5kvnf
311
311
  localstack/services/cloudformation/engine/yaml_parser.py,sha256=LQpAVq9Syze9jXUGen9Mz8SjosBuodpV5XvsCSn9bDg,2164
312
312
  localstack/services/cloudformation/engine/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
313
313
  localstack/services/cloudformation/engine/v2/change_set_model.py,sha256=T4Gtah3UcRjN4U4rYlI7PucF6yTZHgQf2b-vtfa6gv8,48825
314
- localstack/services/cloudformation/engine/v2/change_set_model_describer.py,sha256=Ws-NUXebjTD6lPScMv0-iqYi8hq_gZgKteUuVIQ5MgM,8406
315
- localstack/services/cloudformation/engine/v2/change_set_model_executor.py,sha256=VgRWpKsOIuOZX7qsv_nKIr_AQat2AEkGq3mVPntR810,13735
316
- localstack/services/cloudformation/engine/v2/change_set_model_preproc.py,sha256=Sq0m27Kc4OQaznD5_WjjsKz9v1Q5nU6IvRGw289jP_w,28164
314
+ localstack/services/cloudformation/engine/v2/change_set_model_describer.py,sha256=7o59mpZKvh5QdTKuI9dqzmWJglCh-p96gx3BCmRt1u8,8329
315
+ localstack/services/cloudformation/engine/v2/change_set_model_executor.py,sha256=qDRIG69PRFlMrLReSdOaEZZwXwXVc-qWDhKH5v6nDYw,13549
316
+ localstack/services/cloudformation/engine/v2/change_set_model_preproc.py,sha256=4OMSpBBpVh4xIpSAXL8sMcBWD5BRq66Wp7z9YcrpqDQ,30648
317
317
  localstack/services/cloudformation/engine/v2/change_set_model_visitor.py,sha256=2tggKZ74ShtKOgZjzczeEibB7WUFamf5nfS1tRGDkss,5318
318
318
  localstack/services/cloudformation/models/__init__.py,sha256=da1PTClDMl-IBkrSvq6JC1lnS-K_BASzCvxVhNxN5Ls,13
319
319
  localstack/services/cloudformation/resource_providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -332,8 +332,8 @@ localstack/services/cloudformation/resource_providers/aws_cloudformation_waitcon
332
332
  localstack/services/cloudformation/scaffolding/__main__.py,sha256=zjedOdqvnfN99WzQ43gxtGZxLDitSnbFGA-zpWbyMQ0,30960
333
333
  localstack/services/cloudformation/scaffolding/propgen.py,sha256=9YsSCkDegcU_Yp8Sfw8eNV26N5ibOlLC6Hg6lxPeBBM,7949
334
334
  localstack/services/cloudformation/v2/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
335
- localstack/services/cloudformation/v2/entities.py,sha256=mALRrlMBPgE8jp3ekKpnHx1YR733SyraFvZhGXDT_R8,7479
336
- localstack/services/cloudformation/v2/provider.py,sha256=vQv2sRra2OFu4YfDJzwK4ZZOVB9cGiVEpnJ5NQJL0xk,16200
335
+ localstack/services/cloudformation/v2/entities.py,sha256=KGNmHm6QVgjuewUbTocjTB0_lXXKOcb_r1WGppFgqog,6014
336
+ localstack/services/cloudformation/v2/provider.py,sha256=alq7N6Dy6jXA8MY_rLWT5YlIJW2s7aRCdi4lzs-loGU,17463
337
337
  localstack/services/cloudformation/v2/utils.py,sha256=xy4Lcp4X8XGJ0OKfnsE7pnfMcFrtIH0Chw35qwjhZuw,148
338
338
  localstack/services/cloudwatch/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
339
339
  localstack/services/cloudwatch/alarm_scheduler.py,sha256=XFllg0gI_WNV7cNxOcgXifzmbNA07OPpuEUuf37keP4,15663
@@ -1279,13 +1279,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
1279
1279
  localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1280
1280
  localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
1281
1281
  localstack/utils/xray/traceid.py,sha256=SQSsMV2rhbTNK6ceIoozZYuGU7Fg687EXcgqxoDl1Fw,1106
1282
- localstack_core-4.4.1.dev21.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1283
- localstack_core-4.4.1.dev21.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1284
- localstack_core-4.4.1.dev21.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1285
- localstack_core-4.4.1.dev21.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1286
- localstack_core-4.4.1.dev21.dist-info/METADATA,sha256=Fc2Ak4nKqVyirndfzZQywcGY84hrI9BDAxIAtyDJwyk,5539
1287
- localstack_core-4.4.1.dev21.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
1288
- localstack_core-4.4.1.dev21.dist-info/entry_points.txt,sha256=K5M7il9Vwev64SlQiOaZVUhYpVNIE6IFHiWJ0znpbHQ,20491
1289
- localstack_core-4.4.1.dev21.dist-info/plux.json,sha256=59BR7LNlJmtHDJLKmVR0_0RHNsyg081WwIDEW0nqV_M,20712
1290
- localstack_core-4.4.1.dev21.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1291
- localstack_core-4.4.1.dev21.dist-info/RECORD,,
1282
+ localstack_core-4.4.1.dev24.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
1283
+ localstack_core-4.4.1.dev24.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
1284
+ localstack_core-4.4.1.dev24.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
1285
+ localstack_core-4.4.1.dev24.dist-info/licenses/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
1286
+ localstack_core-4.4.1.dev24.dist-info/METADATA,sha256=Z88PPy_o_B-2UXw9TtlWtPx_66VCXGVv37tX9EhR2pI,5539
1287
+ localstack_core-4.4.1.dev24.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
1288
+ localstack_core-4.4.1.dev24.dist-info/entry_points.txt,sha256=K5M7il9Vwev64SlQiOaZVUhYpVNIE6IFHiWJ0znpbHQ,20491
1289
+ localstack_core-4.4.1.dev24.dist-info/plux.json,sha256=KuaVvbB99CNc3eUDQF5bnRyCxx5owyIHI-quzA9J6g8,20712
1290
+ localstack_core-4.4.1.dev24.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
1291
+ localstack_core-4.4.1.dev24.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ {"localstack.cloudformation.resource_providers": ["AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "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::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "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::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "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::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "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::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin"], "localstack.packages": ["lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package"], "localstack.hooks.on_infra_start": ["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", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "_patch_botocore_endpoint_in_memory=localstack.aws.client:_patch_botocore_endpoint_in_memory", "_patch_botocore_json_parser=localstack.aws.client:_patch_botocore_json_parser", "_patch_cbor2=localstack.aws.client:_patch_cbor2", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "_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", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints"], "localstack.hooks.on_infra_shutdown": ["remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "publish_metrics=localstack.utils.analytics.metrics:publish_metrics", "stop_server=localstack.dns.plugins:stop_server", "_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"], "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.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.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "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.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"]}
@@ -1 +0,0 @@
1
- {"localstack.cloudformation.resource_providers": ["AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "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::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "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::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "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::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "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::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "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::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin"], "localstack.hooks.on_infra_start": ["register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "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", "_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.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.packages": ["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", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package", "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_shutdown": ["stop_server=localstack.dns.plugins:stop_server", "publish_metrics=localstack.utils.analytics.metrics:publish_metrics", "run_on_after_service_shutdown_handlers=localstack.runtime.shutdown:run_on_after_service_shutdown_handlers", "run_shutdown_handlers=localstack.runtime.shutdown:run_shutdown_handlers", "shutdown_services=localstack.runtime.shutdown:shutdown_services", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown"], "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.lambda.runtime_executor": ["docker=localstack.services.lambda_.invocation.plugins:DockerRuntimeExecutorPlugin"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "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"]}