localstack-core 4.10.1.dev7__py3-none-any.whl → 4.11.2.dev14__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/aws/api/acm/__init__.py +122 -122
- localstack/aws/api/apigateway/__init__.py +604 -561
- localstack/aws/api/cloudcontrol/__init__.py +63 -63
- localstack/aws/api/cloudformation/__init__.py +1201 -969
- localstack/aws/api/cloudwatch/__init__.py +375 -375
- localstack/aws/api/config/__init__.py +784 -786
- localstack/aws/api/dynamodb/__init__.py +753 -759
- localstack/aws/api/dynamodbstreams/__init__.py +74 -74
- localstack/aws/api/ec2/__init__.py +10062 -8826
- localstack/aws/api/es/__init__.py +453 -453
- localstack/aws/api/events/__init__.py +552 -552
- localstack/aws/api/firehose/__init__.py +541 -543
- localstack/aws/api/iam/__init__.py +866 -572
- localstack/aws/api/kinesis/__init__.py +235 -147
- localstack/aws/api/kms/__init__.py +341 -336
- localstack/aws/api/lambda_/__init__.py +974 -621
- localstack/aws/api/logs/__init__.py +988 -675
- localstack/aws/api/opensearch/__init__.py +903 -785
- localstack/aws/api/pipes/__init__.py +336 -336
- localstack/aws/api/redshift/__init__.py +1257 -1166
- localstack/aws/api/resource_groups/__init__.py +175 -175
- localstack/aws/api/resourcegroupstaggingapi/__init__.py +103 -67
- localstack/aws/api/route53/__init__.py +296 -254
- localstack/aws/api/route53resolver/__init__.py +397 -396
- localstack/aws/api/s3/__init__.py +1412 -1349
- localstack/aws/api/s3control/__init__.py +594 -594
- localstack/aws/api/scheduler/__init__.py +118 -118
- localstack/aws/api/secretsmanager/__init__.py +221 -216
- localstack/aws/api/ses/__init__.py +227 -227
- localstack/aws/api/sns/__init__.py +115 -115
- localstack/aws/api/sqs/__init__.py +100 -100
- localstack/aws/api/ssm/__init__.py +1977 -1971
- localstack/aws/api/stepfunctions/__init__.py +375 -333
- localstack/aws/api/sts/__init__.py +142 -66
- localstack/aws/api/support/__init__.py +112 -112
- localstack/aws/api/swf/__init__.py +378 -386
- localstack/aws/api/transcribe/__init__.py +425 -425
- localstack/aws/handlers/logging.py +8 -4
- localstack/aws/handlers/service.py +22 -3
- localstack/aws/protocol/parser.py +1 -1
- localstack/aws/protocol/serializer.py +1 -1
- localstack/aws/scaffold.py +15 -17
- localstack/cli/localstack.py +6 -1
- localstack/deprecations.py +0 -6
- localstack/dev/kubernetes/__main__.py +38 -3
- localstack/services/acm/provider.py +4 -0
- localstack/services/apigateway/helpers.py +5 -9
- localstack/services/apigateway/legacy/provider.py +60 -24
- localstack/services/apigateway/patches.py +0 -9
- localstack/services/cloudformation/engine/template_preparer.py +6 -2
- localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +12 -0
- localstack/services/cloudformation/provider.py +2 -2
- localstack/services/cloudformation/v2/provider.py +6 -6
- localstack/services/cloudwatch/provider.py +10 -3
- localstack/services/cloudwatch/provider_v2.py +6 -3
- localstack/services/configservice/provider.py +5 -1
- localstack/services/dynamodb/provider.py +1 -0
- localstack/services/dynamodb/v2/provider.py +1 -0
- localstack/services/dynamodbstreams/provider.py +6 -0
- localstack/services/dynamodbstreams/v2/provider.py +6 -0
- localstack/services/ec2/provider.py +6 -0
- localstack/services/es/provider.py +6 -0
- localstack/services/events/provider.py +4 -0
- localstack/services/events/v1/provider.py +9 -0
- localstack/services/firehose/provider.py +5 -0
- localstack/services/iam/provider.py +4 -0
- localstack/services/kinesis/packages.py +1 -1
- localstack/services/kms/models.py +44 -24
- localstack/services/kms/provider.py +97 -16
- localstack/services/lambda_/api_utils.py +40 -21
- localstack/services/lambda_/event_source_mapping/pollers/stream_poller.py +1 -1
- localstack/services/lambda_/invocation/assignment.py +4 -1
- localstack/services/lambda_/invocation/execution_environment.py +21 -2
- localstack/services/lambda_/invocation/lambda_models.py +27 -2
- localstack/services/lambda_/invocation/lambda_service.py +51 -3
- localstack/services/lambda_/invocation/models.py +9 -1
- localstack/services/lambda_/invocation/version_manager.py +18 -3
- localstack/services/lambda_/packages.py +1 -1
- localstack/services/lambda_/provider.py +240 -96
- localstack/services/lambda_/resource_providers/aws_lambda_function.py +33 -1
- localstack/services/lambda_/runtimes.py +10 -3
- localstack/services/logs/provider.py +45 -19
- localstack/services/opensearch/provider.py +53 -3
- localstack/services/resource_groups/provider.py +5 -1
- localstack/services/resourcegroupstaggingapi/provider.py +6 -1
- localstack/services/s3/provider.py +29 -16
- localstack/services/s3/utils.py +35 -14
- localstack/services/s3control/provider.py +101 -2
- localstack/services/s3control/validation.py +50 -0
- localstack/services/sns/constants.py +3 -1
- localstack/services/sns/publisher.py +15 -6
- localstack/services/sns/v2/models.py +30 -1
- localstack/services/sns/v2/provider.py +794 -31
- localstack/services/sns/v2/utils.py +20 -0
- localstack/services/sqs/models.py +37 -10
- localstack/services/stepfunctions/asl/component/common/path/result_path.py +1 -1
- localstack/services/stepfunctions/asl/component/state/state_execution/execute_state.py +0 -1
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py +0 -1
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/lambda_eval_utils.py +8 -8
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/{mock_eval_utils.py → local_mock_eval_utils.py} +13 -9
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service.py +6 -6
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_callback.py +1 -1
- localstack/services/stepfunctions/asl/component/state/state_fail/state_fail.py +4 -0
- localstack/services/stepfunctions/asl/component/test_state/state/base_mock.py +118 -0
- localstack/services/stepfunctions/asl/component/test_state/state/common.py +82 -0
- localstack/services/stepfunctions/asl/component/test_state/state/execution.py +139 -0
- localstack/services/stepfunctions/asl/component/test_state/state/map.py +77 -0
- localstack/services/stepfunctions/asl/component/test_state/state/task.py +44 -0
- localstack/services/stepfunctions/asl/eval/environment.py +30 -22
- localstack/services/stepfunctions/asl/eval/states.py +1 -1
- localstack/services/stepfunctions/asl/eval/test_state/environment.py +49 -9
- localstack/services/stepfunctions/asl/eval/test_state/program_state.py +22 -0
- localstack/services/stepfunctions/asl/jsonata/jsonata.py +5 -1
- localstack/services/stepfunctions/asl/parse/preprocessor.py +67 -24
- localstack/services/stepfunctions/asl/parse/test_state/asl_parser.py +5 -4
- localstack/services/stepfunctions/asl/parse/test_state/preprocessor.py +222 -31
- localstack/services/stepfunctions/asl/static_analyser/test_state/test_state_analyser.py +170 -22
- localstack/services/stepfunctions/backend/execution.py +6 -6
- localstack/services/stepfunctions/backend/execution_worker.py +5 -5
- localstack/services/stepfunctions/backend/test_state/execution.py +36 -0
- localstack/services/stepfunctions/backend/test_state/execution_worker.py +33 -1
- localstack/services/stepfunctions/backend/test_state/test_state_mock.py +127 -0
- localstack/services/stepfunctions/local_mocking/__init__.py +9 -0
- localstack/services/stepfunctions/{mocking → local_mocking}/mock_config.py +24 -17
- localstack/services/stepfunctions/provider.py +78 -27
- localstack/services/stepfunctions/test_state/mock_config.py +47 -0
- localstack/testing/pytest/fixtures.py +28 -0
- localstack/testing/snapshots/transformer_utility.py +7 -0
- localstack/testing/testselection/matching.py +0 -1
- localstack/utils/analytics/publisher.py +37 -155
- localstack/utils/analytics/service_request_aggregator.py +6 -4
- localstack/utils/aws/arns.py +7 -0
- localstack/utils/aws/client_types.py +0 -8
- localstack/utils/batching.py +258 -0
- localstack/utils/catalog/catalog_loader.py +111 -3
- localstack/utils/collections.py +23 -11
- localstack/utils/crypto.py +109 -0
- localstack/version.py +2 -2
- {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.dist-info}/METADATA +7 -6
- {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.dist-info}/RECORD +149 -141
- localstack_core-4.11.2.dev14.dist-info/plux.json +1 -0
- localstack/services/stepfunctions/mocking/__init__.py +0 -0
- localstack/utils/batch_policy.py +0 -124
- localstack_core-4.10.1.dev7.dist-info/plux.json +0 -1
- /localstack/services/stepfunctions/{mocking → local_mocking}/mock_config_file.py +0 -0
- {localstack_core-4.10.1.dev7.data → localstack_core-4.11.2.dev14.data}/scripts/localstack +0 -0
- {localstack_core-4.10.1.dev7.data → localstack_core-4.11.2.dev14.data}/scripts/localstack-supervisor +0 -0
- {localstack_core-4.10.1.dev7.data → localstack_core-4.11.2.dev14.data}/scripts/localstack.bat +0 -0
- {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.dist-info}/WHEEL +0 -0
- {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.dist-info}/entry_points.txt +0 -0
- {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.dist-info}/licenses/LICENSE.txt +0 -0
- {localstack_core-4.10.1.dev7.dist-info → localstack_core-4.11.2.dev14.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from datetime import datetime
|
|
2
2
|
from enum import StrEnum
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import TypedDict
|
|
4
4
|
|
|
5
5
|
from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
|
|
6
6
|
|
|
@@ -87,52 +87,52 @@ class TrimmedDataAccessException(ServiceException):
|
|
|
87
87
|
|
|
88
88
|
|
|
89
89
|
class AttributeValue(TypedDict, total=False):
|
|
90
|
-
S:
|
|
91
|
-
N:
|
|
92
|
-
B:
|
|
93
|
-
SS:
|
|
94
|
-
NS:
|
|
95
|
-
BS:
|
|
96
|
-
M:
|
|
97
|
-
L:
|
|
98
|
-
NULL:
|
|
99
|
-
BOOL:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
ListAttributeValue =
|
|
103
|
-
MapAttributeValue =
|
|
90
|
+
S: "StringAttributeValue | None"
|
|
91
|
+
N: "NumberAttributeValue | None"
|
|
92
|
+
B: "BinaryAttributeValue | None"
|
|
93
|
+
SS: "StringSetAttributeValue | None"
|
|
94
|
+
NS: "NumberSetAttributeValue | None"
|
|
95
|
+
BS: "BinarySetAttributeValue | None"
|
|
96
|
+
M: "MapAttributeValue | None"
|
|
97
|
+
L: "ListAttributeValue | None"
|
|
98
|
+
NULL: "NullAttributeValue | None"
|
|
99
|
+
BOOL: "BooleanAttributeValue | None"
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
ListAttributeValue = list[AttributeValue]
|
|
103
|
+
MapAttributeValue = dict[AttributeName, AttributeValue]
|
|
104
104
|
BinaryAttributeValue = bytes
|
|
105
|
-
BinarySetAttributeValue =
|
|
106
|
-
NumberSetAttributeValue =
|
|
107
|
-
StringSetAttributeValue =
|
|
108
|
-
AttributeMap =
|
|
105
|
+
BinarySetAttributeValue = list[BinaryAttributeValue]
|
|
106
|
+
NumberSetAttributeValue = list[NumberAttributeValue]
|
|
107
|
+
StringSetAttributeValue = list[StringAttributeValue]
|
|
108
|
+
AttributeMap = dict[AttributeName, AttributeValue]
|
|
109
109
|
Date = datetime
|
|
110
110
|
|
|
111
111
|
|
|
112
112
|
class ShardFilter(TypedDict, total=False):
|
|
113
|
-
Type:
|
|
114
|
-
ShardId:
|
|
113
|
+
Type: ShardFilterType | None
|
|
114
|
+
ShardId: ShardId | None
|
|
115
115
|
|
|
116
116
|
|
|
117
117
|
class DescribeStreamInput(ServiceRequest):
|
|
118
118
|
StreamArn: StreamArn
|
|
119
|
-
Limit:
|
|
120
|
-
ExclusiveStartShardId:
|
|
121
|
-
ShardFilter:
|
|
119
|
+
Limit: PositiveIntegerObject | None
|
|
120
|
+
ExclusiveStartShardId: ShardId | None
|
|
121
|
+
ShardFilter: ShardFilter | None
|
|
122
122
|
|
|
123
123
|
|
|
124
124
|
class SequenceNumberRange(TypedDict, total=False):
|
|
125
|
-
StartingSequenceNumber:
|
|
126
|
-
EndingSequenceNumber:
|
|
125
|
+
StartingSequenceNumber: SequenceNumber | None
|
|
126
|
+
EndingSequenceNumber: SequenceNumber | None
|
|
127
127
|
|
|
128
128
|
|
|
129
129
|
class Shard(TypedDict, total=False):
|
|
130
|
-
ShardId:
|
|
131
|
-
SequenceNumberRange:
|
|
132
|
-
ParentShardId:
|
|
130
|
+
ShardId: ShardId | None
|
|
131
|
+
SequenceNumberRange: SequenceNumberRange | None
|
|
132
|
+
ParentShardId: ShardId | None
|
|
133
133
|
|
|
134
134
|
|
|
135
|
-
ShardDescriptionList =
|
|
135
|
+
ShardDescriptionList = list[Shard]
|
|
136
136
|
|
|
137
137
|
|
|
138
138
|
class KeySchemaElement(TypedDict, total=False):
|
|
@@ -140,100 +140,100 @@ class KeySchemaElement(TypedDict, total=False):
|
|
|
140
140
|
KeyType: KeyType
|
|
141
141
|
|
|
142
142
|
|
|
143
|
-
KeySchema =
|
|
143
|
+
KeySchema = list[KeySchemaElement]
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
class StreamDescription(TypedDict, total=False):
|
|
147
|
-
StreamArn:
|
|
148
|
-
StreamLabel:
|
|
149
|
-
StreamStatus:
|
|
150
|
-
StreamViewType:
|
|
151
|
-
CreationRequestDateTime:
|
|
152
|
-
TableName:
|
|
153
|
-
KeySchema:
|
|
154
|
-
Shards:
|
|
155
|
-
LastEvaluatedShardId:
|
|
147
|
+
StreamArn: StreamArn | None
|
|
148
|
+
StreamLabel: String | None
|
|
149
|
+
StreamStatus: StreamStatus | None
|
|
150
|
+
StreamViewType: StreamViewType | None
|
|
151
|
+
CreationRequestDateTime: Date | None
|
|
152
|
+
TableName: TableName | None
|
|
153
|
+
KeySchema: KeySchema | None
|
|
154
|
+
Shards: ShardDescriptionList | None
|
|
155
|
+
LastEvaluatedShardId: ShardId | None
|
|
156
156
|
|
|
157
157
|
|
|
158
158
|
class DescribeStreamOutput(TypedDict, total=False):
|
|
159
|
-
StreamDescription:
|
|
159
|
+
StreamDescription: StreamDescription | None
|
|
160
160
|
|
|
161
161
|
|
|
162
162
|
class GetRecordsInput(ServiceRequest):
|
|
163
163
|
ShardIterator: ShardIterator
|
|
164
|
-
Limit:
|
|
164
|
+
Limit: PositiveIntegerObject | None
|
|
165
165
|
|
|
166
166
|
|
|
167
167
|
class Identity(TypedDict, total=False):
|
|
168
|
-
PrincipalId:
|
|
169
|
-
Type:
|
|
168
|
+
PrincipalId: String | None
|
|
169
|
+
Type: String | None
|
|
170
170
|
|
|
171
171
|
|
|
172
172
|
PositiveLongObject = int
|
|
173
173
|
|
|
174
174
|
|
|
175
175
|
class StreamRecord(TypedDict, total=False):
|
|
176
|
-
ApproximateCreationDateTime:
|
|
177
|
-
Keys:
|
|
178
|
-
NewImage:
|
|
179
|
-
OldImage:
|
|
180
|
-
SequenceNumber:
|
|
181
|
-
SizeBytes:
|
|
182
|
-
StreamViewType:
|
|
176
|
+
ApproximateCreationDateTime: Date | None
|
|
177
|
+
Keys: AttributeMap | None
|
|
178
|
+
NewImage: AttributeMap | None
|
|
179
|
+
OldImage: AttributeMap | None
|
|
180
|
+
SequenceNumber: SequenceNumber | None
|
|
181
|
+
SizeBytes: PositiveLongObject | None
|
|
182
|
+
StreamViewType: StreamViewType | None
|
|
183
183
|
|
|
184
184
|
|
|
185
185
|
class Record(TypedDict, total=False):
|
|
186
|
-
eventID:
|
|
187
|
-
eventName:
|
|
188
|
-
eventVersion:
|
|
189
|
-
eventSource:
|
|
190
|
-
awsRegion:
|
|
191
|
-
dynamodb:
|
|
192
|
-
userIdentity:
|
|
186
|
+
eventID: String | None
|
|
187
|
+
eventName: OperationType | None
|
|
188
|
+
eventVersion: String | None
|
|
189
|
+
eventSource: String | None
|
|
190
|
+
awsRegion: String | None
|
|
191
|
+
dynamodb: StreamRecord | None
|
|
192
|
+
userIdentity: Identity | None
|
|
193
193
|
|
|
194
194
|
|
|
195
|
-
RecordList =
|
|
195
|
+
RecordList = list[Record]
|
|
196
196
|
|
|
197
197
|
|
|
198
198
|
class GetRecordsOutput(TypedDict, total=False):
|
|
199
|
-
Records:
|
|
200
|
-
NextShardIterator:
|
|
199
|
+
Records: RecordList | None
|
|
200
|
+
NextShardIterator: ShardIterator | None
|
|
201
201
|
|
|
202
202
|
|
|
203
203
|
class GetShardIteratorInput(ServiceRequest):
|
|
204
204
|
StreamArn: StreamArn
|
|
205
205
|
ShardId: ShardId
|
|
206
206
|
ShardIteratorType: ShardIteratorType
|
|
207
|
-
SequenceNumber:
|
|
207
|
+
SequenceNumber: SequenceNumber | None
|
|
208
208
|
|
|
209
209
|
|
|
210
210
|
class GetShardIteratorOutput(TypedDict, total=False):
|
|
211
|
-
ShardIterator:
|
|
211
|
+
ShardIterator: ShardIterator | None
|
|
212
212
|
|
|
213
213
|
|
|
214
214
|
class ListStreamsInput(ServiceRequest):
|
|
215
|
-
TableName:
|
|
216
|
-
Limit:
|
|
217
|
-
ExclusiveStartStreamArn:
|
|
215
|
+
TableName: TableName | None
|
|
216
|
+
Limit: PositiveIntegerObject | None
|
|
217
|
+
ExclusiveStartStreamArn: StreamArn | None
|
|
218
218
|
|
|
219
219
|
|
|
220
220
|
class Stream(TypedDict, total=False):
|
|
221
|
-
StreamArn:
|
|
222
|
-
TableName:
|
|
223
|
-
StreamLabel:
|
|
221
|
+
StreamArn: StreamArn | None
|
|
222
|
+
TableName: TableName | None
|
|
223
|
+
StreamLabel: String | None
|
|
224
224
|
|
|
225
225
|
|
|
226
|
-
StreamList =
|
|
226
|
+
StreamList = list[Stream]
|
|
227
227
|
|
|
228
228
|
|
|
229
229
|
class ListStreamsOutput(TypedDict, total=False):
|
|
230
|
-
Streams:
|
|
231
|
-
LastEvaluatedStreamArn:
|
|
230
|
+
Streams: StreamList | None
|
|
231
|
+
LastEvaluatedStreamArn: StreamArn | None
|
|
232
232
|
|
|
233
233
|
|
|
234
234
|
class DynamodbstreamsApi:
|
|
235
|
-
service = "dynamodbstreams"
|
|
236
|
-
version = "2012-08-10"
|
|
235
|
+
service: str = "dynamodbstreams"
|
|
236
|
+
version: str = "2012-08-10"
|
|
237
237
|
|
|
238
238
|
@handler("DescribeStream")
|
|
239
239
|
def describe_stream(
|