localstack-core 4.2.1.dev19__py3-none-any.whl → 4.2.1.dev21__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/distributed_iteration_component.py +25 -65
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/inline_iteration_component.py +16 -18
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/distributed_item_processor.py +12 -11
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/inline_item_processor.py +10 -8
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_component.py +3 -0
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/distributed_iterator.py +11 -10
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/inline_iterator.py +10 -5
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py +28 -19
- localstack/version.py +2 -2
- {localstack_core-4.2.1.dev19.dist-info → localstack_core-4.2.1.dev21.dist-info}/METADATA +1 -1
- {localstack_core-4.2.1.dev19.dist-info → localstack_core-4.2.1.dev21.dist-info}/RECORD +19 -19
- localstack_core-4.2.1.dev21.dist-info/plux.json +1 -0
- localstack_core-4.2.1.dev19.dist-info/plux.json +0 -1
- {localstack_core-4.2.1.dev19.data → localstack_core-4.2.1.dev21.data}/scripts/localstack +0 -0
- {localstack_core-4.2.1.dev19.data → localstack_core-4.2.1.dev21.data}/scripts/localstack-supervisor +0 -0
- {localstack_core-4.2.1.dev19.data → localstack_core-4.2.1.dev21.data}/scripts/localstack.bat +0 -0
- {localstack_core-4.2.1.dev19.dist-info → localstack_core-4.2.1.dev21.dist-info}/LICENSE.txt +0 -0
- {localstack_core-4.2.1.dev19.dist-info → localstack_core-4.2.1.dev21.dist-info}/WHEEL +0 -0
- {localstack_core-4.2.1.dev19.dist-info → localstack_core-4.2.1.dev21.dist-info}/entry_points.txt +0 -0
- {localstack_core-4.2.1.dev19.dist-info → localstack_core-4.2.1.dev21.dist-info}/top_level.txt +0 -0
|
@@ -2,7 +2,6 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import abc
|
|
4
4
|
import json
|
|
5
|
-
import threading
|
|
6
5
|
from typing import Any, Final, Optional
|
|
7
6
|
|
|
8
7
|
from localstack.aws.api.stepfunctions import (
|
|
@@ -36,9 +35,6 @@ from localstack.services.stepfunctions.asl.component.state.state_execution.state
|
|
|
36
35
|
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.itemprocessor.processor_config import (
|
|
37
36
|
ProcessorConfig,
|
|
38
37
|
)
|
|
39
|
-
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.iteration_worker import (
|
|
40
|
-
IterationWorker,
|
|
41
|
-
)
|
|
42
38
|
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.job import (
|
|
43
39
|
JobClosed,
|
|
44
40
|
JobPool,
|
|
@@ -56,6 +52,7 @@ from localstack.services.stepfunctions.asl.eval.event.event_manager import (
|
|
|
56
52
|
class DistributedIterationComponentEvalInput(InlineIterationComponentEvalInput):
|
|
57
53
|
item_reader: Final[Optional[ItemReader]]
|
|
58
54
|
label: Final[Optional[str]]
|
|
55
|
+
map_run_record: Final[MapRunRecord]
|
|
59
56
|
|
|
60
57
|
def __init__(
|
|
61
58
|
self,
|
|
@@ -68,6 +65,7 @@ class DistributedIterationComponentEvalInput(InlineIterationComponentEvalInput):
|
|
|
68
65
|
tolerated_failure_count: int,
|
|
69
66
|
tolerated_failure_percentage: float,
|
|
70
67
|
label: Optional[str],
|
|
68
|
+
map_run_record: MapRunRecord,
|
|
71
69
|
):
|
|
72
70
|
super().__init__(
|
|
73
71
|
state_name=state_name,
|
|
@@ -80,14 +78,10 @@ class DistributedIterationComponentEvalInput(InlineIterationComponentEvalInput):
|
|
|
80
78
|
self.tolerated_failure_count = tolerated_failure_count
|
|
81
79
|
self.tolerated_failure_percentage = tolerated_failure_percentage
|
|
82
80
|
self.label = label
|
|
81
|
+
self.map_run_record = map_run_record
|
|
83
82
|
|
|
84
83
|
|
|
85
84
|
class DistributedIterationComponent(InlineIterationComponent, abc.ABC):
|
|
86
|
-
_eval_input: Optional[DistributedIterationComponentEvalInput]
|
|
87
|
-
_mutex: Final[threading.Lock]
|
|
88
|
-
_map_run_record: Optional[MapRunRecord]
|
|
89
|
-
_workers: list[IterationWorker]
|
|
90
|
-
|
|
91
85
|
def __init__(
|
|
92
86
|
self,
|
|
93
87
|
query_language: QueryLanguage,
|
|
@@ -103,89 +97,59 @@ class DistributedIterationComponent(InlineIterationComponent, abc.ABC):
|
|
|
103
97
|
comment=comment,
|
|
104
98
|
processor_config=processor_config,
|
|
105
99
|
)
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
self
|
|
109
|
-
|
|
110
|
-
@abc.abstractmethod
|
|
111
|
-
def _create_worker(self, env: Environment) -> IterationWorker: ...
|
|
112
|
-
|
|
113
|
-
def _launch_worker(self, env: Environment) -> IterationWorker:
|
|
114
|
-
worker = super()._launch_worker(env=env)
|
|
115
|
-
self._workers.append(worker)
|
|
116
|
-
return worker
|
|
117
|
-
|
|
118
|
-
def _set_active_workers(self, workers_number: int, env: Environment) -> None:
|
|
119
|
-
with self._mutex:
|
|
120
|
-
current_workers_number = len(self._workers)
|
|
121
|
-
workers_diff = workers_number - current_workers_number
|
|
122
|
-
if workers_diff > 0:
|
|
123
|
-
for _ in range(workers_diff):
|
|
124
|
-
self._launch_worker(env=env)
|
|
125
|
-
elif workers_diff < 0:
|
|
126
|
-
deletion_workers = list(self._workers)[workers_diff:]
|
|
127
|
-
for worker in deletion_workers:
|
|
128
|
-
worker.sig_stop()
|
|
129
|
-
self._workers.remove(worker)
|
|
130
|
-
|
|
131
|
-
def _map_run(self, env: Environment) -> None:
|
|
100
|
+
|
|
101
|
+
def _map_run(
|
|
102
|
+
self, env: Environment, eval_input: DistributedIterationComponentEvalInput
|
|
103
|
+
) -> None:
|
|
132
104
|
input_items: list[json] = env.stack.pop()
|
|
133
105
|
|
|
134
106
|
input_item_program: Final[Program] = self._get_iteration_program()
|
|
135
|
-
|
|
107
|
+
job_pool = JobPool(job_program=input_item_program, job_inputs=input_items)
|
|
136
108
|
|
|
137
109
|
# TODO: add watch on map_run_record update event and adjust the number of running workers accordingly.
|
|
138
|
-
max_concurrency =
|
|
110
|
+
max_concurrency = eval_input.map_run_record.max_concurrency
|
|
139
111
|
workers_number = (
|
|
140
112
|
len(input_items)
|
|
141
113
|
if max_concurrency == DEFAULT_MAX_CONCURRENCY_VALUE
|
|
142
114
|
else max_concurrency
|
|
143
115
|
)
|
|
144
|
-
|
|
116
|
+
for _ in range(workers_number):
|
|
117
|
+
self._launch_worker(env=env, eval_input=eval_input, job_pool=job_pool)
|
|
145
118
|
|
|
146
|
-
|
|
119
|
+
job_pool.await_jobs()
|
|
147
120
|
|
|
148
|
-
worker_exception: Optional[Exception] =
|
|
121
|
+
worker_exception: Optional[Exception] = job_pool.get_worker_exception()
|
|
149
122
|
if worker_exception is not None:
|
|
150
123
|
raise worker_exception
|
|
151
124
|
|
|
152
|
-
closed_jobs: list[JobClosed] =
|
|
125
|
+
closed_jobs: list[JobClosed] = job_pool.get_closed_jobs()
|
|
153
126
|
outputs: list[Any] = [closed_job.job_output for closed_job in closed_jobs]
|
|
154
127
|
|
|
155
128
|
env.stack.append(outputs)
|
|
156
129
|
|
|
157
130
|
def _eval_body(self, env: Environment) -> None:
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
self._map_run_record = MapRunRecord(
|
|
161
|
-
state_machine_arn=env.states.context_object.context_object_data["StateMachine"]["Id"],
|
|
162
|
-
execution_arn=env.states.context_object.context_object_data["Execution"]["Id"],
|
|
163
|
-
max_concurrency=self._eval_input.max_concurrency,
|
|
164
|
-
tolerated_failure_count=self._eval_input.tolerated_failure_count,
|
|
165
|
-
tolerated_failure_percentage=self._eval_input.tolerated_failure_percentage,
|
|
166
|
-
label=self._eval_input.label,
|
|
167
|
-
)
|
|
168
|
-
env.map_run_record_pool_manager.add(self._map_run_record)
|
|
131
|
+
eval_input: DistributedIterationComponentEvalInput = env.stack.pop()
|
|
132
|
+
map_run_record = eval_input.map_run_record
|
|
169
133
|
|
|
170
134
|
env.event_manager.add_event(
|
|
171
135
|
context=env.event_history_context,
|
|
172
136
|
event_type=HistoryEventType.MapRunStarted,
|
|
173
137
|
event_details=EventDetails(
|
|
174
138
|
mapRunStartedEventDetails=MapRunStartedEventDetails(
|
|
175
|
-
mapRunArn=
|
|
139
|
+
mapRunArn=map_run_record.map_run_arn
|
|
176
140
|
)
|
|
177
141
|
),
|
|
178
142
|
)
|
|
179
143
|
|
|
180
144
|
parent_event_manager = env.event_manager
|
|
181
145
|
try:
|
|
182
|
-
if
|
|
183
|
-
|
|
146
|
+
if eval_input.item_reader:
|
|
147
|
+
eval_input.item_reader.eval(env=env)
|
|
184
148
|
else:
|
|
185
|
-
env.stack.append(
|
|
149
|
+
env.stack.append(eval_input.input_items)
|
|
186
150
|
|
|
187
151
|
env.event_manager = EventManager()
|
|
188
|
-
self._map_run(env=env)
|
|
152
|
+
self._map_run(env=env, eval_input=eval_input)
|
|
189
153
|
|
|
190
154
|
except FailureEventException as failure_event_ex:
|
|
191
155
|
map_run_fail_event_detail = MapRunFailedEventDetails()
|
|
@@ -204,7 +168,7 @@ class DistributedIterationComponent(InlineIterationComponent, abc.ABC):
|
|
|
204
168
|
event_type=HistoryEventType.MapRunFailed,
|
|
205
169
|
event_details=EventDetails(mapRunFailedEventDetails=map_run_fail_event_detail),
|
|
206
170
|
)
|
|
207
|
-
|
|
171
|
+
map_run_record.set_stop(status=MapRunStatus.FAILED)
|
|
208
172
|
raise failure_event_ex
|
|
209
173
|
|
|
210
174
|
except Exception as ex:
|
|
@@ -214,17 +178,13 @@ class DistributedIterationComponent(InlineIterationComponent, abc.ABC):
|
|
|
214
178
|
event_type=HistoryEventType.MapRunFailed,
|
|
215
179
|
event_details=EventDetails(mapRunFailedEventDetails=MapRunFailedEventDetails()),
|
|
216
180
|
)
|
|
217
|
-
|
|
181
|
+
map_run_record.set_stop(status=MapRunStatus.FAILED)
|
|
218
182
|
raise ex
|
|
219
183
|
finally:
|
|
220
184
|
env.event_manager = parent_event_manager
|
|
221
|
-
self._eval_input = None
|
|
222
|
-
self._workers.clear()
|
|
223
185
|
|
|
224
|
-
# TODO: review workflow of program stops and
|
|
225
|
-
# program_state = env.program_state()
|
|
226
|
-
# if isinstance(program_state, ProgramSucceeded)
|
|
186
|
+
# TODO: review workflow of program stops and map run stops
|
|
227
187
|
env.event_manager.add_event(
|
|
228
188
|
context=env.event_history_context, event_type=HistoryEventType.MapRunSucceeded
|
|
229
189
|
)
|
|
230
|
-
|
|
190
|
+
map_run_record.set_stop(status=MapRunStatus.SUCCEEDED)
|
|
@@ -58,8 +58,6 @@ class InlineIterationComponentEvalInput:
|
|
|
58
58
|
|
|
59
59
|
class InlineIterationComponent(IterationComponent, abc.ABC):
|
|
60
60
|
_processor_config: Final[ProcessorConfig]
|
|
61
|
-
_eval_input: Optional[InlineIterationComponentEvalInput]
|
|
62
|
-
_job_pool: Optional[JobPool]
|
|
63
61
|
|
|
64
62
|
def __init__(
|
|
65
63
|
self,
|
|
@@ -73,29 +71,29 @@ class InlineIterationComponent(IterationComponent, abc.ABC):
|
|
|
73
71
|
query_language=query_language, start_at=start_at, states=states, comment=comment
|
|
74
72
|
)
|
|
75
73
|
self._processor_config = processor_config
|
|
76
|
-
self._eval_input = None
|
|
77
|
-
self._job_pool = None
|
|
78
74
|
|
|
79
75
|
@abc.abstractmethod
|
|
80
|
-
def _create_worker(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
def _create_worker(
|
|
77
|
+
self, env: Environment, eval_input: InlineIterationComponentEvalInput, job_pool: JobPool
|
|
78
|
+
) -> IterationWorker: ...
|
|
79
|
+
|
|
80
|
+
def _launch_worker(
|
|
81
|
+
self, env: Environment, eval_input: InlineIterationComponentEvalInput, job_pool: JobPool
|
|
82
|
+
) -> IterationWorker:
|
|
83
|
+
worker = self._create_worker(env=env, eval_input=eval_input, job_pool=job_pool)
|
|
84
84
|
worker_thread = threading.Thread(target=worker.eval, daemon=True)
|
|
85
85
|
TMP_THREADS.append(worker_thread)
|
|
86
86
|
worker_thread.start()
|
|
87
87
|
return worker
|
|
88
88
|
|
|
89
89
|
def _eval_body(self, env: Environment) -> None:
|
|
90
|
-
|
|
90
|
+
eval_input = env.stack.pop()
|
|
91
91
|
|
|
92
|
-
max_concurrency: int =
|
|
93
|
-
input_items: list[json] =
|
|
92
|
+
max_concurrency: int = eval_input.max_concurrency
|
|
93
|
+
input_items: list[json] = eval_input.input_items
|
|
94
94
|
|
|
95
95
|
input_item_program: Final[Program] = self._get_iteration_program()
|
|
96
|
-
|
|
97
|
-
job_program=input_item_program, job_inputs=self._eval_input.input_items
|
|
98
|
-
)
|
|
96
|
+
job_pool = JobPool(job_program=input_item_program, job_inputs=eval_input.input_items)
|
|
99
97
|
|
|
100
98
|
number_of_workers = (
|
|
101
99
|
len(input_items)
|
|
@@ -103,15 +101,15 @@ class InlineIterationComponent(IterationComponent, abc.ABC):
|
|
|
103
101
|
else max_concurrency
|
|
104
102
|
)
|
|
105
103
|
for _ in range(number_of_workers):
|
|
106
|
-
self._launch_worker(env=env)
|
|
104
|
+
self._launch_worker(env=env, eval_input=eval_input, job_pool=job_pool)
|
|
107
105
|
|
|
108
|
-
|
|
106
|
+
job_pool.await_jobs()
|
|
109
107
|
|
|
110
|
-
worker_exception: Optional[Exception] =
|
|
108
|
+
worker_exception: Optional[Exception] = job_pool.get_worker_exception()
|
|
111
109
|
if worker_exception is not None:
|
|
112
110
|
raise worker_exception
|
|
113
111
|
|
|
114
|
-
closed_jobs: list[JobClosed] =
|
|
112
|
+
closed_jobs: list[JobClosed] = job_pool.get_closed_jobs()
|
|
115
113
|
outputs: list[Any] = [closed_job.job_output for closed_job in closed_jobs]
|
|
116
114
|
|
|
117
115
|
env.stack.append(outputs)
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from typing import Optional
|
|
4
|
-
|
|
5
3
|
from localstack.services.stepfunctions.asl.component.common.comment import Comment
|
|
6
4
|
from localstack.services.stepfunctions.asl.component.common.flow.start_at import StartAt
|
|
7
5
|
from localstack.services.stepfunctions.asl.component.common.query_language import QueryLanguage
|
|
@@ -16,6 +14,9 @@ from localstack.services.stepfunctions.asl.component.state.state_execution.state
|
|
|
16
14
|
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.itemprocessor.processor_config import (
|
|
17
15
|
ProcessorConfig,
|
|
18
16
|
)
|
|
17
|
+
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.job import (
|
|
18
|
+
JobPool,
|
|
19
|
+
)
|
|
19
20
|
from localstack.services.stepfunctions.asl.eval.environment import Environment
|
|
20
21
|
from localstack.services.stepfunctions.asl.parse.typed_props import TypedProps
|
|
21
22
|
|
|
@@ -25,8 +26,6 @@ class DistributedItemProcessorEvalInput(DistributedIterationComponentEvalInput):
|
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
class DistributedItemProcessor(DistributedIterationComponent):
|
|
28
|
-
_eval_input: Optional[DistributedItemProcessorEvalInput]
|
|
29
|
-
|
|
30
29
|
@classmethod
|
|
31
30
|
def from_props(cls, props: TypedProps) -> DistributedItemProcessor:
|
|
32
31
|
item_processor = cls(
|
|
@@ -44,13 +43,15 @@ class DistributedItemProcessor(DistributedIterationComponent):
|
|
|
44
43
|
)
|
|
45
44
|
return item_processor
|
|
46
45
|
|
|
47
|
-
def _create_worker(
|
|
46
|
+
def _create_worker(
|
|
47
|
+
self, env: Environment, eval_input: DistributedItemProcessorEvalInput, job_pool: JobPool
|
|
48
|
+
) -> DistributedItemProcessorWorker:
|
|
48
49
|
return DistributedItemProcessorWorker(
|
|
49
|
-
work_name=
|
|
50
|
-
job_pool=
|
|
50
|
+
work_name=eval_input.state_name,
|
|
51
|
+
job_pool=job_pool,
|
|
51
52
|
env=env,
|
|
52
|
-
item_reader=
|
|
53
|
-
parameters=
|
|
54
|
-
item_selector=
|
|
55
|
-
map_run_record=
|
|
53
|
+
item_reader=eval_input.item_reader,
|
|
54
|
+
parameters=eval_input.parameters,
|
|
55
|
+
item_selector=eval_input.item_selector,
|
|
56
|
+
map_run_record=eval_input.map_run_record,
|
|
56
57
|
)
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
|
-
from typing import Optional
|
|
5
4
|
|
|
6
5
|
from localstack.services.stepfunctions.asl.component.common.comment import Comment
|
|
7
6
|
from localstack.services.stepfunctions.asl.component.common.flow.start_at import StartAt
|
|
@@ -17,6 +16,9 @@ from localstack.services.stepfunctions.asl.component.state.state_execution.state
|
|
|
17
16
|
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.itemprocessor.processor_config import (
|
|
18
17
|
ProcessorConfig,
|
|
19
18
|
)
|
|
19
|
+
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.job import (
|
|
20
|
+
JobPool,
|
|
21
|
+
)
|
|
20
22
|
from localstack.services.stepfunctions.asl.eval.environment import Environment
|
|
21
23
|
from localstack.services.stepfunctions.asl.parse.typed_props import TypedProps
|
|
22
24
|
|
|
@@ -28,8 +30,6 @@ class InlineItemProcessorEvalInput(InlineIterationComponentEvalInput):
|
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
class InlineItemProcessor(InlineIterationComponent):
|
|
31
|
-
_eval_input: Optional[InlineItemProcessorEvalInput]
|
|
32
|
-
|
|
33
33
|
@classmethod
|
|
34
34
|
def from_props(cls, props: TypedProps) -> InlineItemProcessor:
|
|
35
35
|
if not props.get(States):
|
|
@@ -45,11 +45,13 @@ class InlineItemProcessor(InlineIterationComponent):
|
|
|
45
45
|
)
|
|
46
46
|
return item_processor
|
|
47
47
|
|
|
48
|
-
def _create_worker(
|
|
48
|
+
def _create_worker(
|
|
49
|
+
self, env: Environment, eval_input: InlineItemProcessorEvalInput, job_pool: JobPool
|
|
50
|
+
) -> InlineItemProcessorWorker:
|
|
49
51
|
return InlineItemProcessorWorker(
|
|
50
|
-
work_name=
|
|
51
|
-
job_pool=
|
|
52
|
+
work_name=eval_input.state_name,
|
|
53
|
+
job_pool=job_pool,
|
|
52
54
|
env=env,
|
|
53
|
-
item_selector=
|
|
54
|
-
parameters=
|
|
55
|
+
item_selector=eval_input.item_selector,
|
|
56
|
+
parameters=eval_input.parameters,
|
|
55
57
|
)
|
|
@@ -12,6 +12,9 @@ from localstack.services.stepfunctions.asl.component.program.states import State
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class IterationComponent(EvalComponent, abc.ABC):
|
|
15
|
+
# Ensure no member variables are used to keep track of the state of
|
|
16
|
+
# iteration components: the evaluation must be stateless as for all
|
|
17
|
+
# EvalComponents to ensure they can be reused or used concurrently.
|
|
15
18
|
_query_language: Final[QueryLanguage]
|
|
16
19
|
_start_at: Final[StartAt]
|
|
17
20
|
_states: Final[States]
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from typing import Optional
|
|
4
|
-
|
|
5
3
|
from localstack.services.stepfunctions.asl.component.common.comment import Comment
|
|
6
4
|
from localstack.services.stepfunctions.asl.component.common.flow.start_at import StartAt
|
|
7
5
|
from localstack.services.stepfunctions.asl.component.common.query_language import QueryLanguage
|
|
@@ -16,6 +14,9 @@ from localstack.services.stepfunctions.asl.component.state.state_execution.state
|
|
|
16
14
|
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.iterator.distributed_iterator_worker import (
|
|
17
15
|
DistributedIteratorWorker,
|
|
18
16
|
)
|
|
17
|
+
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.job import (
|
|
18
|
+
JobPool,
|
|
19
|
+
)
|
|
19
20
|
from localstack.services.stepfunctions.asl.eval.environment import Environment
|
|
20
21
|
from localstack.services.stepfunctions.asl.parse.typed_props import TypedProps
|
|
21
22
|
|
|
@@ -25,8 +26,6 @@ class DistributedIteratorEvalInput(DistributedIterationComponentEvalInput):
|
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
class DistributedIterator(DistributedIterationComponent):
|
|
28
|
-
_eval_input: Optional[DistributedIteratorEvalInput]
|
|
29
|
-
|
|
30
29
|
@classmethod
|
|
31
30
|
def from_props(cls, props: TypedProps) -> DistributedIterator:
|
|
32
31
|
item_processor = cls(
|
|
@@ -44,12 +43,14 @@ class DistributedIterator(DistributedIterationComponent):
|
|
|
44
43
|
)
|
|
45
44
|
return item_processor
|
|
46
45
|
|
|
47
|
-
def _create_worker(
|
|
46
|
+
def _create_worker(
|
|
47
|
+
self, env: Environment, eval_input: DistributedIteratorEvalInput, job_pool: JobPool
|
|
48
|
+
) -> DistributedIteratorWorker:
|
|
48
49
|
return DistributedIteratorWorker(
|
|
49
|
-
work_name=
|
|
50
|
-
job_pool=
|
|
50
|
+
work_name=eval_input.state_name,
|
|
51
|
+
job_pool=job_pool,
|
|
51
52
|
env=env,
|
|
52
|
-
parameters=
|
|
53
|
-
map_run_record=
|
|
54
|
-
item_selector=
|
|
53
|
+
parameters=eval_input.parameters,
|
|
54
|
+
map_run_record=eval_input.map_run_record,
|
|
55
|
+
item_selector=eval_input.item_selector,
|
|
55
56
|
)
|
|
@@ -13,6 +13,9 @@ from localstack.services.stepfunctions.asl.component.state.state_execution.state
|
|
|
13
13
|
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.iterator.iterator_decl import (
|
|
14
14
|
IteratorDecl,
|
|
15
15
|
)
|
|
16
|
+
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.job import (
|
|
17
|
+
JobPool,
|
|
18
|
+
)
|
|
16
19
|
from localstack.services.stepfunctions.asl.eval.environment import Environment
|
|
17
20
|
|
|
18
21
|
LOG = logging.getLogger(__name__)
|
|
@@ -25,13 +28,15 @@ class InlineIteratorEvalInput(InlineIterationComponentEvalInput):
|
|
|
25
28
|
class InlineIterator(InlineIterationComponent):
|
|
26
29
|
_eval_input: Optional[InlineIteratorEvalInput]
|
|
27
30
|
|
|
28
|
-
def _create_worker(
|
|
31
|
+
def _create_worker(
|
|
32
|
+
self, env: Environment, eval_input: InlineIteratorEvalInput, job_pool: JobPool
|
|
33
|
+
) -> InlineIteratorWorker:
|
|
29
34
|
return InlineIteratorWorker(
|
|
30
|
-
work_name=
|
|
31
|
-
job_pool=
|
|
35
|
+
work_name=eval_input.state_name,
|
|
36
|
+
job_pool=job_pool,
|
|
32
37
|
env=env,
|
|
33
|
-
parameters=
|
|
34
|
-
item_selector=
|
|
38
|
+
parameters=eval_input.parameters,
|
|
39
|
+
item_selector=eval_input.item_selector,
|
|
35
40
|
)
|
|
36
41
|
|
|
37
42
|
@classmethod
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py
CHANGED
|
@@ -57,6 +57,9 @@ from localstack.services.stepfunctions.asl.component.state.state_execution.state
|
|
|
57
57
|
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.itemprocessor.item_processor_factory import (
|
|
58
58
|
from_item_processor_decl,
|
|
59
59
|
)
|
|
60
|
+
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.itemprocessor.map_run_record import (
|
|
61
|
+
MapRunRecord,
|
|
62
|
+
)
|
|
60
63
|
from localstack.services.stepfunctions.asl.component.state.state_execution.state_map.iteration.iteration_component import (
|
|
61
64
|
IterationComponent,
|
|
62
65
|
)
|
|
@@ -241,41 +244,47 @@ class StateMap(ExecutionState):
|
|
|
241
244
|
parameters=self.parameters,
|
|
242
245
|
item_selector=self.item_selector,
|
|
243
246
|
)
|
|
244
|
-
elif isinstance(self.iteration_component,
|
|
245
|
-
eval_input =
|
|
247
|
+
elif isinstance(self.iteration_component, InlineItemProcessor):
|
|
248
|
+
eval_input = InlineItemProcessorEvalInput(
|
|
246
249
|
state_name=self.name,
|
|
247
250
|
max_concurrency=max_concurrency_num,
|
|
248
251
|
input_items=input_items,
|
|
249
|
-
parameters=self.parameters,
|
|
250
252
|
item_selector=self.item_selector,
|
|
251
|
-
|
|
253
|
+
parameters=self.parameters,
|
|
254
|
+
)
|
|
255
|
+
else:
|
|
256
|
+
map_run_record = MapRunRecord(
|
|
257
|
+
state_machine_arn=env.states.context_object.context_object_data["StateMachine"][
|
|
258
|
+
"Id"
|
|
259
|
+
],
|
|
260
|
+
execution_arn=env.states.context_object.context_object_data["Execution"]["Id"],
|
|
261
|
+
max_concurrency=max_concurrency_num,
|
|
252
262
|
tolerated_failure_count=tolerated_failure_count,
|
|
253
263
|
tolerated_failure_percentage=tolerated_failure_percentage,
|
|
254
264
|
label=label,
|
|
255
265
|
)
|
|
256
|
-
|
|
257
|
-
|
|
266
|
+
env.map_run_record_pool_manager.add(map_run_record)
|
|
267
|
+
# Choose the distributed input type depending on whether the definition
|
|
268
|
+
# asks for the legacy Iterator component or an ItemProcessor
|
|
269
|
+
if isinstance(self.iteration_component, DistributedIterator):
|
|
270
|
+
distributed_eval_input_class = DistributedIteratorEvalInput
|
|
271
|
+
elif isinstance(self.iteration_component, DistributedItemProcessor):
|
|
272
|
+
distributed_eval_input_class = DistributedItemProcessorEvalInput
|
|
273
|
+
else:
|
|
274
|
+
raise RuntimeError(
|
|
275
|
+
f"Unknown iteration component of type '{type(self.iteration_component)}' '{self.iteration_component}'."
|
|
276
|
+
)
|
|
277
|
+
eval_input = distributed_eval_input_class(
|
|
258
278
|
state_name=self.name,
|
|
259
279
|
max_concurrency=max_concurrency_num,
|
|
260
280
|
input_items=input_items,
|
|
261
|
-
item_selector=self.item_selector,
|
|
262
281
|
parameters=self.parameters,
|
|
263
|
-
)
|
|
264
|
-
elif isinstance(self.iteration_component, DistributedItemProcessor):
|
|
265
|
-
eval_input = DistributedItemProcessorEvalInput(
|
|
266
|
-
state_name=self.name,
|
|
267
|
-
max_concurrency=max_concurrency_num,
|
|
268
|
-
input_items=input_items,
|
|
269
|
-
item_reader=self.item_reader,
|
|
270
282
|
item_selector=self.item_selector,
|
|
271
|
-
|
|
283
|
+
item_reader=self.item_reader,
|
|
272
284
|
tolerated_failure_count=tolerated_failure_count,
|
|
273
285
|
tolerated_failure_percentage=tolerated_failure_percentage,
|
|
274
286
|
label=label,
|
|
275
|
-
|
|
276
|
-
else:
|
|
277
|
-
raise RuntimeError(
|
|
278
|
-
f"Unknown iteration component of type '{type(self.iteration_component)}' '{self.iteration_component}'."
|
|
287
|
+
map_run_record=map_run_record,
|
|
279
288
|
)
|
|
280
289
|
|
|
281
290
|
env.stack.append(eval_input)
|
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.2.1.
|
|
21
|
-
__version_tuple__ = version_tuple = (4, 2, 1, '
|
|
20
|
+
__version__ = version = '4.2.1.dev21'
|
|
21
|
+
__version_tuple__ = version_tuple = (4, 2, 1, 'dev21')
|
|
@@ -3,7 +3,7 @@ localstack/constants.py,sha256=tWRSYsqdPahvbDAV864wsumkOuXrc58gb0HdQhB00WQ,6767
|
|
|
3
3
|
localstack/deprecations.py,sha256=t3zeaZaHhKYM8snP1wRZhpvAy6MbB12Vqv5hK78bwJ0,15162
|
|
4
4
|
localstack/openapi.yaml,sha256=B803NmpwsxG8PHpHrdZYBrUYjnrRh7B_JX0XuNynuFs,30237
|
|
5
5
|
localstack/plugins.py,sha256=BIJC9dlo0WbP7lLKkCiGtd_2q5oeqiHZohvoRTcejXM,2457
|
|
6
|
-
localstack/version.py,sha256=
|
|
6
|
+
localstack/version.py,sha256=Qc1pU9GRVFnBTi57jFlCd2-Am3YbW4EG15b7tasnn1M,526
|
|
7
7
|
localstack/aws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
8
|
localstack/aws/accounts.py,sha256=102zpGowOxo0S6UGMpfjw14QW7WCLVAGsnFK5xFMLoo,3043
|
|
9
9
|
localstack/aws/app.py,sha256=3IrwF_53sThRChWjmlFyhHDZtuoq40ZmY8YEh-l67UA,5156
|
|
@@ -958,7 +958,7 @@ localstack/services/stepfunctions/asl/component/state/state_execution/state_map/
|
|
|
958
958
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/label.py,sha256=xQtlJEk7x-JJB4yFkIltCEVrTsv4nYTQiQUAp_VEyC0,825
|
|
959
959
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/max_concurrency.py,sha256=tYqDuhammY5GiIIOg1fZW1iK_WmxfcHSnmEvmvSxe5g,3996
|
|
960
960
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/mode.py,sha256=CZ-CxaQjnYKZrb93E7QXSjTOg2w41fzB2JGcesJA6Ug,193
|
|
961
|
-
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py,sha256=
|
|
961
|
+
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py,sha256=3SWTyIyIahPStCKG1X9dIFIehTVGLndcQKm9AXlQldY,16486
|
|
962
962
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/tolerated_failure.py,sha256=NBzw8JM8ye0M5zEPTT-42FvQ97zYHkoGyhqBrHFWzSg,7948
|
|
963
963
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
964
964
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/item_reader/item_reader_decl.py,sha256=N4XsnjRZ6Gnwg7VbeH34taaHavHZq-TY-N65K2gGS40,2904
|
|
@@ -981,25 +981,25 @@ localstack/services/stepfunctions/asl/component/state/state_execution/state_map/
|
|
|
981
981
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/items/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
982
982
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/items/items.py,sha256=iCiPt5WfoYToDbvJJvwUSPQyuTAc0lPVeX1CrxDAV-4,3828
|
|
983
983
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
984
|
-
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/distributed_iteration_component.py,sha256=
|
|
985
|
-
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/inline_iteration_component.py,sha256=
|
|
986
|
-
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_component.py,sha256=
|
|
984
|
+
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/distributed_iteration_component.py,sha256=Jm3VQNjHPPORutit04SAwlR7w2rCycV0jhpbG_5MOsU,7489
|
|
985
|
+
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/inline_iteration_component.py,sha256=ga2bXPrLtDpfnXR9E7Odp3KPEOdNxG5U3rMajwFwVg4,4399
|
|
986
|
+
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_component.py,sha256=VtJSo0NcHjBD-tUgBJZqm2Tner3_9ftXCf0ZqYJIyXo,1592
|
|
987
987
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_declaration.py,sha256=kF_RBD2VCFiQA1C5ZoJSprLUf7nXkV2s7Iix1dfhxGw,1233
|
|
988
988
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iteration_worker.py,sha256=DR1t5VXQaLbDg8ZCJv3NgMQKRushOtMTNwK3LPbSRz4,8465
|
|
989
989
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/job.py,sha256=i7T4Sf13Mu7VM0erXhs8lQwU9pHyyyjtpOe9RdfrYac,3276
|
|
990
990
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
991
|
-
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/distributed_item_processor.py,sha256=
|
|
991
|
+
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/distributed_item_processor.py,sha256=uGIajokSe4cOWqQmS9-ArpiSQUlxC6AovfQvDU0ZFoU,2597
|
|
992
992
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/distributed_item_processor_worker.py,sha256=wgYKn-3GttbiJqtiOG07s9blGCIKMNEdHs12ODKZXbE,6182
|
|
993
|
-
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/inline_item_processor.py,sha256=
|
|
993
|
+
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/inline_item_processor.py,sha256=LLTjdQZj9ZGqV6BJCh59T4qHKpA_UdKKwTQlz3Tx88U,2448
|
|
994
994
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/inline_item_processor_worker.py,sha256=AfXjdBCort1RSkSkatVlLDI1_zKRvdFwF4kKmDQLOUU,1708
|
|
995
995
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/item_processor_decl.py,sha256=T09nEEVRtUktT4zxW0R9U_KNHwRmosoKjr1skSFiQMI,198
|
|
996
996
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/item_processor_factory.py,sha256=JDpN3twDpMRdWcxq4cdpaZjgOrlf2suu-osGaYKuhWE,1782
|
|
997
997
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/map_run_record.py,sha256=rYXD1wzPE2XbzkGuWG9tDaW0KXvOxrUZXB97YzeyFyI,6906
|
|
998
998
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/itemprocessor/processor_config.py,sha256=2ZCjApsgK1ces_0ceBS7dAvArr26DGUnRvIRY4tD-SY,820
|
|
999
999
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1000
|
-
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/distributed_iterator.py,sha256=
|
|
1000
|
+
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/distributed_iterator.py,sha256=KJH7QcIAyno6Cw_Xp2BEr67EBdjHIzRa6-4doL6LtKQ,2482
|
|
1001
1001
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/distributed_iterator_worker.py,sha256=QJpuilG8srN65Go316eMrYiubQuxurmr0z-asES4UNE,5166
|
|
1002
|
-
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/inline_iterator.py,sha256=
|
|
1002
|
+
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/inline_iterator.py,sha256=hgvyBldI8zTHc0r0PIJFwGhAaOabeeqz0MlQi2ujIek,1748
|
|
1003
1003
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/inline_iterator_worker.py,sha256=HNcJUP-SmLJS9iiGMbL7Ceetfa5FwNw86b_zmoJ330w,1680
|
|
1004
1004
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/iterator_decl.py,sha256=LeNtYWFYw2uBAI66HhZw0pj4-iIH6UB3VyxrxFjqF8k,193
|
|
1005
1005
|
localstack/services/stepfunctions/asl/component/state/state_execution/state_map/iteration/iterator/iterator_factory.py,sha256=oyE34D1Tuj1e8NCWtBJFi4rAZZ1PxIsALbdd8FPjPg8,1641
|
|
@@ -1259,13 +1259,13 @@ localstack/utils/server/tcp_proxy.py,sha256=rR6d5jR0ozDvIlpHiqW0cfyY9a2fRGdOzyA8
|
|
|
1259
1259
|
localstack/utils/xray/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1260
1260
|
localstack/utils/xray/trace_header.py,sha256=ahXk9eonq7LpeENwlqUEPj3jDOCiVRixhntQuxNor-Q,6209
|
|
1261
1261
|
localstack/utils/xray/traceid.py,sha256=SQSsMV2rhbTNK6ceIoozZYuGU7Fg687EXcgqxoDl1Fw,1106
|
|
1262
|
-
localstack_core-4.2.1.
|
|
1263
|
-
localstack_core-4.2.1.
|
|
1264
|
-
localstack_core-4.2.1.
|
|
1265
|
-
localstack_core-4.2.1.
|
|
1266
|
-
localstack_core-4.2.1.
|
|
1267
|
-
localstack_core-4.2.1.
|
|
1268
|
-
localstack_core-4.2.1.
|
|
1269
|
-
localstack_core-4.2.1.
|
|
1270
|
-
localstack_core-4.2.1.
|
|
1271
|
-
localstack_core-4.2.1.
|
|
1262
|
+
localstack_core-4.2.1.dev21.data/scripts/localstack,sha256=WyL11vp5CkuP79iIR-L8XT7Cj8nvmxX7XRAgxhbmXNE,529
|
|
1263
|
+
localstack_core-4.2.1.dev21.data/scripts/localstack-supervisor,sha256=nm1Il2d6ASyOB6Vo4CRHd90w7TK9FdRl9VPp0NN6hUk,6378
|
|
1264
|
+
localstack_core-4.2.1.dev21.data/scripts/localstack.bat,sha256=tlzZTXtveHkMX_s_fa7VDfvdNdS8iVpEz2ER3uk9B_c,29
|
|
1265
|
+
localstack_core-4.2.1.dev21.dist-info/LICENSE.txt,sha256=3PC-9Z69UsNARuQ980gNR_JsLx8uvMjdG6C7cc4LBYs,606
|
|
1266
|
+
localstack_core-4.2.1.dev21.dist-info/METADATA,sha256=3oef2QBUXPUg1EoQvP4ZncA43NBVDlxHsImC2U5v384,5481
|
|
1267
|
+
localstack_core-4.2.1.dev21.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
|
1268
|
+
localstack_core-4.2.1.dev21.dist-info/entry_points.txt,sha256=JSxo5YPv4XEemz1lJfLl6xIDDPhN9cSwEDywSfPTrTc,20489
|
|
1269
|
+
localstack_core-4.2.1.dev21.dist-info/plux.json,sha256=FpvnU9Zj9NtaT0AlZGXVjRxq-fJoqW-tgrID6T8N09A,20710
|
|
1270
|
+
localstack_core-4.2.1.dev21.dist-info/top_level.txt,sha256=3sqmK2lGac8nCy8nwsbS5SpIY_izmtWtgaTFKHYVHbI,11
|
|
1271
|
+
localstack_core-4.2.1.dev21.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"localstack.cloudformation.resource_providers": ["AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::Logs::SubscriptionFilter=localstack.services.logs.resource_providers.aws_logs_subscriptionfilter_plugin:LogsSubscriptionFilterProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "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::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::ResourceGroups::Group=localstack.services.resource_groups.resource_providers.aws_resourcegroups_group_plugin:ResourceGroupsGroupProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "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::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::Lambda::Url=localstack.services.lambda_.resource_providers.aws_lambda_url_plugin:LambdaUrlProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::Elasticsearch::Domain=localstack.services.opensearch.resource_providers.aws_elasticsearch_domain_plugin:ElasticsearchDomainProviderPlugin", "AWS::SecretsManager::ResourcePolicy=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_resourcepolicy_plugin:SecretsManagerResourcePolicyProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::EC2::VPCEndpoint=localstack.services.ec2.resource_providers.aws_ec2_vpcendpoint_plugin:EC2VPCEndpointProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "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::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::CloudFormation::WaitCondition=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitcondition_plugin:CloudFormationWaitConditionProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::CDK::Metadata=localstack.services.cdk.resource_providers.cdk_metadata_plugin:LambdaAliasProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "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::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::SNS::Subscription=localstack.services.sns.resource_providers.aws_sns_subscription_plugin:SNSSubscriptionProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::SSM::PatchBaseline=localstack.services.ssm.resource_providers.aws_ssm_patchbaseline_plugin:SSMPatchBaselineProviderPlugin", "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::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin"], "localstack.packages": ["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", "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", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package"], "localstack.hooks.on_infra_shutdown": ["aggregate_and_send=localstack.utils.analytics.usage:aggregate_and_send", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "run_on_after_service_shutdown_handlers=localstack.runtime.shutdown:run_on_after_service_shutdown_handlers", "run_shutdown_handlers=localstack.runtime.shutdown:run_shutdown_handlers", "shutdown_services=localstack.runtime.shutdown:shutdown_services", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "stop_server=localstack.dns.plugins:stop_server", "publish_metrics=localstack.utils.analytics.metrics:publish_metrics"], "localstack.hooks.on_infra_start": ["apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "register_custom_endpoints=localstack.services.lambda_.plugins:register_custom_endpoints", "validate_configuration=localstack.services.lambda_.plugins:validate_configuration", "apply_runtime_patches=localstack.runtime.patches:apply_runtime_patches", "_patch_botocore_endpoint_in_memory=localstack.aws.client:_patch_botocore_endpoint_in_memory", "_patch_botocore_json_parser=localstack.aws.client:_patch_botocore_json_parser", "_patch_cbor2=localstack.aws.client:_patch_cbor2", "conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "_run_init_scripts_on_start=localstack.runtime.init:_run_init_scripts_on_start", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "_publish_config_as_analytics_event=localstack.runtime.analytics:_publish_config_as_analytics_event", "_publish_container_info=localstack.runtime.analytics:_publish_container_info"], "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", "cloudwatch:default=localstack.services.providers:cloudwatch", "cloudwatch:v1=localstack.services.providers:cloudwatch_v1", "cloudwatch:v2=localstack.services.providers:cloudwatch_v2", "dynamodb:default=localstack.services.providers:dynamodb", "dynamodb:v2=localstack.services.providers:dynamodb_v2", "dynamodbstreams:default=localstack.services.providers:dynamodbstreams", "dynamodbstreams:v2=localstack.services.providers:dynamodbstreams_v2", "ec2:default=localstack.services.providers:ec2", "es:default=localstack.services.providers:es", "events:default=localstack.services.providers:events", "events:legacy=localstack.services.providers:events_legacy", "events:v1=localstack.services.providers:events_v1", "events:v2=localstack.services.providers:events_v2", "firehose:default=localstack.services.providers:firehose", "iam:default=localstack.services.providers:iam", "kinesis:default=localstack.services.providers:kinesis", "kms:default=localstack.services.providers:kms", "lambda:default=localstack.services.providers:lambda_", "lambda:asf=localstack.services.providers:lambda_asf", "lambda:v2=localstack.services.providers:lambda_v2", "logs:default=localstack.services.providers:logs", "opensearch:default=localstack.services.providers:opensearch", "redshift:default=localstack.services.providers:redshift", "resource-groups:default=localstack.services.providers:resource_groups", "resourcegroupstaggingapi:default=localstack.services.providers:resourcegroupstaggingapi", "route53:default=localstack.services.providers:route53", "route53resolver:default=localstack.services.providers:route53resolver", "s3:default=localstack.services.providers:s3", "s3control:default=localstack.services.providers:s3control", "scheduler:default=localstack.services.providers:scheduler", "secretsmanager:default=localstack.services.providers:secretsmanager", "ses:default=localstack.services.providers:ses", "sns:default=localstack.services.providers:sns", "sqs:default=localstack.services.providers:sqs", "ssm:default=localstack.services.providers:ssm", "stepfunctions:default=localstack.services.providers:stepfunctions", "stepfunctions:v2=localstack.services.providers:stepfunctions_v2", "sts:default=localstack.services.providers:sts", "support:default=localstack.services.providers:support", "swf:default=localstack.services.providers:swf", "transcribe:default=localstack.services.providers:transcribe"], "localstack.hooks.configure_localstack_container": ["_mount_machine_file=localstack.utils.analytics.metadata:_mount_machine_file"], "localstack.hooks.prepare_host": ["prepare_host_machine_id=localstack.utils.analytics.metadata:prepare_host_machine_id"], "localstack.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"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "localstack.runtime.server": ["hypercorn=localstack.runtime.server.plugins:HypercornRuntimeServerPlugin", "twisted=localstack.runtime.server.plugins:TwistedRuntimeServerPlugin"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"localstack.cloudformation.resource_providers": ["AWS::EC2::TransitGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_transitgatewayattachment_plugin:EC2TransitGatewayAttachmentProviderPlugin", "AWS::S3::Bucket=localstack.services.s3.resource_providers.aws_s3_bucket_plugin:S3BucketProviderPlugin", "AWS::EC2::NatGateway=localstack.services.ec2.resource_providers.aws_ec2_natgateway_plugin:EC2NatGatewayProviderPlugin", "AWS::EC2::VPCGatewayAttachment=localstack.services.ec2.resource_providers.aws_ec2_vpcgatewayattachment_plugin:EC2VPCGatewayAttachmentProviderPlugin", "AWS::CloudWatch::CompositeAlarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_compositealarm_plugin:CloudWatchCompositeAlarmProviderPlugin", "AWS::Events::ApiDestination=localstack.services.events.resource_providers.aws_events_apidestination_plugin:EventsApiDestinationProviderPlugin", "AWS::Lambda::CodeSigningConfig=localstack.services.lambda_.resource_providers.aws_lambda_codesigningconfig_plugin:LambdaCodeSigningConfigProviderPlugin", "AWS::Route53::RecordSet=localstack.services.route53.resource_providers.aws_route53_recordset_plugin:Route53RecordSetProviderPlugin", "AWS::EC2::Subnet=localstack.services.ec2.resource_providers.aws_ec2_subnet_plugin:EC2SubnetProviderPlugin", "AWS::Lambda::Function=localstack.services.lambda_.resource_providers.aws_lambda_function_plugin:LambdaFunctionProviderPlugin", "AWS::IAM::ManagedPolicy=localstack.services.iam.resource_providers.aws_iam_managedpolicy_plugin:IAMManagedPolicyProviderPlugin", "AWS::EC2::KeyPair=localstack.services.ec2.resource_providers.aws_ec2_keypair_plugin:EC2KeyPairProviderPlugin", "AWS::SecretsManager::SecretTargetAttachment=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secrettargetattachment_plugin:SecretsManagerSecretTargetAttachmentProviderPlugin", "AWS::Logs::LogStream=localstack.services.logs.resource_providers.aws_logs_logstream_plugin:LogsLogStreamProviderPlugin", "AWS::CertificateManager::Certificate=localstack.services.certificatemanager.resource_providers.aws_certificatemanager_certificate_plugin:CertificateManagerCertificateProviderPlugin", "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::Lambda::LayerVersion=localstack.services.lambda_.resource_providers.aws_lambda_layerversion_plugin:LambdaLayerVersionProviderPlugin", "AWS::ApiGateway::Deployment=localstack.services.apigateway.resource_providers.aws_apigateway_deployment_plugin:ApiGatewayDeploymentProviderPlugin", "AWS::Redshift::Cluster=localstack.services.redshift.resource_providers.aws_redshift_cluster_plugin:RedshiftClusterProviderPlugin", "AWS::SNS::TopicPolicy=localstack.services.sns.resource_providers.aws_sns_topicpolicy_plugin:SNSTopicPolicyProviderPlugin", "AWS::EC2::NetworkAcl=localstack.services.ec2.resource_providers.aws_ec2_networkacl_plugin:EC2NetworkAclProviderPlugin", "AWS::ApiGateway::BasePathMapping=localstack.services.apigateway.resource_providers.aws_apigateway_basepathmapping_plugin:ApiGatewayBasePathMappingProviderPlugin", "AWS::ApiGateway::Resource=localstack.services.apigateway.resource_providers.aws_apigateway_resource_plugin:ApiGatewayResourceProviderPlugin", "AWS::EC2::TransitGateway=localstack.services.ec2.resource_providers.aws_ec2_transitgateway_plugin:EC2TransitGatewayProviderPlugin", "AWS::SNS::Topic=localstack.services.sns.resource_providers.aws_sns_topic_plugin:SNSTopicProviderPlugin", "AWS::ApiGateway::Stage=localstack.services.apigateway.resource_providers.aws_apigateway_stage_plugin:ApiGatewayStageProviderPlugin", "AWS::Events::EventBus=localstack.services.events.resource_providers.aws_events_eventbus_plugin:EventsEventBusProviderPlugin", "AWS::EC2::SubnetRouteTableAssociation=localstack.services.ec2.resource_providers.aws_ec2_subnetroutetableassociation_plugin:EC2SubnetRouteTableAssociationProviderPlugin", "AWS::OpenSearchService::Domain=localstack.services.opensearch.resource_providers.aws_opensearchservice_domain_plugin:OpenSearchServiceDomainProviderPlugin", "AWS::EC2::SecurityGroup=localstack.services.ec2.resource_providers.aws_ec2_securitygroup_plugin:EC2SecurityGroupProviderPlugin", "AWS::ApiGateway::Model=localstack.services.apigateway.resource_providers.aws_apigateway_model_plugin:ApiGatewayModelProviderPlugin", "AWS::Lambda::EventSourceMapping=localstack.services.lambda_.resource_providers.aws_lambda_eventsourcemapping_plugin:LambdaEventSourceMappingProviderPlugin", "AWS::Lambda::Permission=localstack.services.lambda_.resource_providers.aws_lambda_permission_plugin:LambdaPermissionProviderPlugin", "AWS::KinesisFirehose::DeliveryStream=localstack.services.kinesisfirehose.resource_providers.aws_kinesisfirehose_deliverystream_plugin:KinesisFirehoseDeliveryStreamProviderPlugin", "AWS::CloudFormation::WaitConditionHandle=localstack.services.cloudformation.resource_providers.aws_cloudformation_waitconditionhandle_plugin:CloudFormationWaitConditionHandleProviderPlugin", "AWS::SSM::MaintenanceWindowTarget=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtarget_plugin:SSMMaintenanceWindowTargetProviderPlugin", "AWS::SES::EmailIdentity=localstack.services.ses.resource_providers.aws_ses_emailidentity_plugin:SESEmailIdentityProviderPlugin", "AWS::CloudFormation::Macro=localstack.services.cloudformation.resource_providers.aws_cloudformation_macro_plugin:CloudFormationMacroProviderPlugin", "AWS::SQS::Queue=localstack.services.sqs.resource_providers.aws_sqs_queue_plugin:SQSQueueProviderPlugin", "AWS::ApiGateway::ApiKey=localstack.services.apigateway.resource_providers.aws_apigateway_apikey_plugin:ApiGatewayApiKeyProviderPlugin", "AWS::DynamoDB::Table=localstack.services.dynamodb.resource_providers.aws_dynamodb_table_plugin:DynamoDBTableProviderPlugin", "AWS::EC2::PrefixList=localstack.services.ec2.resource_providers.aws_ec2_prefixlist_plugin:EC2PrefixListProviderPlugin", "AWS::ApiGateway::UsagePlanKey=localstack.services.apigateway.resource_providers.aws_apigateway_usageplankey_plugin:ApiGatewayUsagePlanKeyProviderPlugin", "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::Events::Rule=localstack.services.events.resource_providers.aws_events_rule_plugin:EventsRuleProviderPlugin", "AWS::CloudFormation::Stack=localstack.services.cloudformation.resource_providers.aws_cloudformation_stack_plugin:CloudFormationStackProviderPlugin", "AWS::Lambda::EventInvokeConfig=localstack.services.lambda_.resource_providers.aws_lambda_eventinvokeconfig_plugin:LambdaEventInvokeConfigProviderPlugin", "AWS::ECR::Repository=localstack.services.ecr.resource_providers.aws_ecr_repository_plugin:ECRRepositoryProviderPlugin", "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::EC2::Instance=localstack.services.ec2.resource_providers.aws_ec2_instance_plugin:EC2InstanceProviderPlugin", "AWS::EC2::RouteTable=localstack.services.ec2.resource_providers.aws_ec2_routetable_plugin:EC2RouteTableProviderPlugin", "AWS::IAM::Role=localstack.services.iam.resource_providers.aws_iam_role_plugin:IAMRoleProviderPlugin", "AWS::IAM::Policy=localstack.services.iam.resource_providers.aws_iam_policy_plugin:IAMPolicyProviderPlugin", "AWS::EC2::DHCPOptions=localstack.services.ec2.resource_providers.aws_ec2_dhcpoptions_plugin:EC2DHCPOptionsProviderPlugin", "AWS::Route53::HealthCheck=localstack.services.route53.resource_providers.aws_route53_healthcheck_plugin:Route53HealthCheckProviderPlugin", "AWS::Kinesis::Stream=localstack.services.kinesis.resource_providers.aws_kinesis_stream_plugin:KinesisStreamProviderPlugin", "AWS::DynamoDB::GlobalTable=localstack.services.dynamodb.resource_providers.aws_dynamodb_globaltable_plugin:DynamoDBGlobalTableProviderPlugin", "AWS::Lambda::Version=localstack.services.lambda_.resource_providers.aws_lambda_version_plugin:LambdaVersionProviderPlugin", "AWS::Events::Connection=localstack.services.events.resource_providers.aws_events_connection_plugin:EventsConnectionProviderPlugin", "AWS::StepFunctions::Activity=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_activity_plugin:StepFunctionsActivityProviderPlugin", "AWS::Lambda::LayerVersionPermission=localstack.services.lambda_.resource_providers.aws_lambda_layerversionpermission_plugin:LambdaLayerVersionPermissionProviderPlugin", "AWS::IAM::ServerCertificate=localstack.services.iam.resource_providers.aws_iam_servercertificate_plugin:IAMServerCertificateProviderPlugin", "AWS::Scheduler::ScheduleGroup=localstack.services.scheduler.resource_providers.aws_scheduler_schedulegroup_plugin:SchedulerScheduleGroupProviderPlugin", "AWS::SQS::QueuePolicy=localstack.services.sqs.resource_providers.aws_sqs_queuepolicy_plugin:SQSQueuePolicyProviderPlugin", "AWS::SecretsManager::Secret=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_secret_plugin:SecretsManagerSecretProviderPlugin", "AWS::IAM::InstanceProfile=localstack.services.iam.resource_providers.aws_iam_instanceprofile_plugin:IAMInstanceProfileProviderPlugin", "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::Logs::LogGroup=localstack.services.logs.resource_providers.aws_logs_loggroup_plugin:LogsLogGroupProviderPlugin", "AWS::ApiGateway::UsagePlan=localstack.services.apigateway.resource_providers.aws_apigateway_usageplan_plugin:ApiGatewayUsagePlanProviderPlugin", "AWS::SecretsManager::RotationSchedule=localstack.services.secretsmanager.resource_providers.aws_secretsmanager_rotationschedule_plugin:SecretsManagerRotationScheduleProviderPlugin", "AWS::StepFunctions::StateMachine=localstack.services.stepfunctions.resource_providers.aws_stepfunctions_statemachine_plugin:StepFunctionsStateMachineProviderPlugin", "AWS::IAM::ServiceLinkedRole=localstack.services.iam.resource_providers.aws_iam_servicelinkedrole_plugin:IAMServiceLinkedRoleProviderPlugin", "AWS::SSM::MaintenanceWindowTask=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindowtask_plugin:SSMMaintenanceWindowTaskProviderPlugin", "AWS::S3::BucketPolicy=localstack.services.s3.resource_providers.aws_s3_bucketpolicy_plugin:S3BucketPolicyProviderPlugin", "AWS::IAM::AccessKey=localstack.services.iam.resource_providers.aws_iam_accesskey_plugin:IAMAccessKeyProviderPlugin", "AWS::ApiGateway::GatewayResponse=localstack.services.apigateway.resource_providers.aws_apigateway_gatewayresponse_plugin:ApiGatewayGatewayResponseProviderPlugin", "AWS::SSM::MaintenanceWindow=localstack.services.ssm.resource_providers.aws_ssm_maintenancewindow_plugin:SSMMaintenanceWindowProviderPlugin", "AWS::Events::EventBusPolicy=localstack.services.events.resource_providers.aws_events_eventbuspolicy_plugin:EventsEventBusPolicyProviderPlugin", "AWS::IAM::Group=localstack.services.iam.resource_providers.aws_iam_group_plugin:IAMGroupProviderPlugin", "AWS::ApiGateway::Account=localstack.services.apigateway.resource_providers.aws_apigateway_account_plugin:ApiGatewayAccountProviderPlugin", "AWS::KMS::Key=localstack.services.kms.resource_providers.aws_kms_key_plugin:KMSKeyProviderPlugin", "AWS::ApiGateway::RequestValidator=localstack.services.apigateway.resource_providers.aws_apigateway_requestvalidator_plugin:ApiGatewayRequestValidatorProviderPlugin", "AWS::SSM::Parameter=localstack.services.ssm.resource_providers.aws_ssm_parameter_plugin:SSMParameterProviderPlugin", "AWS::EC2::Route=localstack.services.ec2.resource_providers.aws_ec2_route_plugin:EC2RouteProviderPlugin", "AWS::Lambda::Alias=localstack.services.lambda_.resource_providers.lambda_alias_plugin:LambdaAliasProviderPlugin", "AWS::EC2::InternetGateway=localstack.services.ec2.resource_providers.aws_ec2_internetgateway_plugin:EC2InternetGatewayProviderPlugin", "AWS::ApiGateway::Method=localstack.services.apigateway.resource_providers.aws_apigateway_method_plugin:ApiGatewayMethodProviderPlugin", "AWS::EC2::VPC=localstack.services.ec2.resource_providers.aws_ec2_vpc_plugin:EC2VPCProviderPlugin", "AWS::ApiGateway::RestApi=localstack.services.apigateway.resource_providers.aws_apigateway_restapi_plugin:ApiGatewayRestApiProviderPlugin", "AWS::Kinesis::StreamConsumer=localstack.services.kinesis.resource_providers.aws_kinesis_streamconsumer_plugin:KinesisStreamConsumerProviderPlugin", "AWS::ApiGateway::DomainName=localstack.services.apigateway.resource_providers.aws_apigateway_domainname_plugin:ApiGatewayDomainNameProviderPlugin", "AWS::CloudWatch::Alarm=localstack.services.cloudwatch.resource_providers.aws_cloudwatch_alarm_plugin:CloudWatchAlarmProviderPlugin", "AWS::IAM::User=localstack.services.iam.resource_providers.aws_iam_user_plugin:IAMUserProviderPlugin", "AWS::Scheduler::Schedule=localstack.services.scheduler.resource_providers.aws_scheduler_schedule_plugin:SchedulerScheduleProviderPlugin", "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::KMS::Alias=localstack.services.kms.resource_providers.aws_kms_alias_plugin:KMSAliasProviderPlugin"], "localstack.hooks.on_infra_start": ["conditionally_enable_debugger=localstack.dev.debugger.plugins:conditionally_enable_debugger", "register_swagger_endpoints=localstack.http.resources.swagger.plugins:register_swagger_endpoints", "_patch_botocore_endpoint_in_memory=localstack.aws.client:_patch_botocore_endpoint_in_memory", "_patch_botocore_json_parser=localstack.aws.client:_patch_botocore_json_parser", "_patch_cbor2=localstack.aws.client:_patch_cbor2", "register_cloudformation_deploy_ui=localstack.services.cloudformation.plugins:register_cloudformation_deploy_ui", "delete_cached_certificate=localstack.plugins:delete_cached_certificate", "deprecation_warnings=localstack.plugins:deprecation_warnings", "_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", "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", "setup_dns_configuration_on_host=localstack.dns.plugins:setup_dns_configuration_on_host", "start_dns_server=localstack.dns.plugins:start_dns_server", "apply_aws_runtime_patches=localstack.aws.patches:apply_aws_runtime_patches"], "localstack.packages": ["jpype-jsonata/community=localstack.services.stepfunctions.plugins:jpype_jsonata_package", "dynamodb-local/community=localstack.services.dynamodb.plugins:dynamodb_local_package", "ffmpeg/community=localstack.packages.plugins:ffmpeg_package", "java/community=localstack.packages.plugins:java_package", "terraform/community=localstack.packages.plugins:terraform_package", "kinesis-mock/community=localstack.services.kinesis.plugins:kinesismock_package", "lambda-java-libs/community=localstack.services.lambda_.plugins:lambda_java_libs", "lambda-runtime/community=localstack.services.lambda_.plugins:lambda_runtime_package", "vosk/community=localstack.services.transcribe.plugins:vosk_package", "opensearch/community=localstack.services.opensearch.plugins:opensearch_package", "elasticsearch/community=localstack.services.es.plugins:elasticsearch_package"], "localstack.hooks.on_infra_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:publish_metrics", "aggregate_and_send=localstack.utils.analytics.usage:aggregate_and_send", "_run_init_scripts_on_shutdown=localstack.runtime.init:_run_init_scripts_on_shutdown", "remove_custom_endpoints=localstack.services.lambda_.plugins:remove_custom_endpoints", "stop_server=localstack.dns.plugins:stop_server"], "localstack.openapi.spec": ["localstack=localstack.plugins:CoreOASPlugin"], "localstack.runtime.components": ["aws=localstack.aws.components:AwsComponents"], "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", "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.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.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"]}
|
|
File without changes
|
{localstack_core-4.2.1.dev19.data → localstack_core-4.2.1.dev21.data}/scripts/localstack-supervisor
RENAMED
|
File without changes
|
{localstack_core-4.2.1.dev19.data → localstack_core-4.2.1.dev21.data}/scripts/localstack.bat
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{localstack_core-4.2.1.dev19.dist-info → localstack_core-4.2.1.dev21.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{localstack_core-4.2.1.dev19.dist-info → localstack_core-4.2.1.dev21.dist-info}/top_level.txt
RENAMED
|
File without changes
|