localstack-core 4.7.1.dev139__py3-none-any.whl → 4.10.1.dev42__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.
Potentially problematic release.
This version of localstack-core might be problematic. Click here for more details.
- localstack/aws/api/acm/__init__.py +122 -122
- localstack/aws/api/apigateway/__init__.py +560 -559
- localstack/aws/api/cloudcontrol/__init__.py +63 -63
- localstack/aws/api/cloudformation/__init__.py +1041 -969
- localstack/aws/api/cloudwatch/__init__.py +408 -368
- localstack/aws/api/config/__init__.py +788 -786
- localstack/aws/api/core.py +4 -0
- localstack/aws/api/dynamodb/__init__.py +753 -759
- localstack/aws/api/dynamodbstreams/__init__.py +74 -74
- localstack/aws/api/ec2/__init__.py +9713 -8573
- 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 +646 -572
- localstack/aws/api/kinesis/__init__.py +251 -144
- localstack/aws/api/kms/__init__.py +343 -333
- localstack/aws/api/lambda_/__init__.py +585 -571
- localstack/aws/api/logs/__init__.py +682 -666
- localstack/aws/api/opensearch/__init__.py +814 -785
- localstack/aws/api/pipes/__init__.py +336 -336
- localstack/aws/api/redshift/__init__.py +1192 -1164
- localstack/aws/api/resource_groups/__init__.py +175 -175
- localstack/aws/api/resourcegroupstaggingapi/__init__.py +67 -67
- localstack/aws/api/route53/__init__.py +256 -254
- localstack/aws/api/route53resolver/__init__.py +396 -396
- localstack/aws/api/s3/__init__.py +1358 -1345
- localstack/aws/api/s3control/__init__.py +616 -584
- localstack/aws/api/scheduler/__init__.py +118 -118
- localstack/aws/api/secretsmanager/__init__.py +193 -193
- 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 +1978 -1970
- localstack/aws/api/stepfunctions/__init__.py +323 -323
- localstack/aws/api/sts/__init__.py +90 -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/client.py +7 -2
- localstack/aws/forwarder.py +52 -5
- localstack/aws/handlers/analytics.py +1 -1
- localstack/aws/handlers/logging.py +12 -2
- localstack/aws/handlers/metric_handler.py +41 -1
- localstack/aws/handlers/service.py +43 -10
- localstack/aws/protocol/parser.py +440 -21
- localstack/aws/protocol/serializer.py +684 -64
- localstack/aws/protocol/service_router.py +120 -20
- localstack/aws/scaffold.py +15 -17
- localstack/aws/skeleton.py +4 -2
- localstack/aws/spec-patches.json +58 -0
- localstack/aws/spec.py +33 -13
- localstack/cli/exceptions.py +1 -1
- localstack/cli/localstack.py +10 -5
- localstack/cli/lpm.py +3 -4
- localstack/cli/profiles.py +1 -2
- localstack/config.py +18 -12
- localstack/constants.py +4 -29
- localstack/dev/kubernetes/__main__.py +39 -4
- localstack/dev/run/paths.py +1 -1
- localstack/dns/plugins.py +5 -1
- localstack/dns/server.py +12 -3
- localstack/packages/api.py +9 -8
- localstack/packages/core.py +2 -2
- localstack/packages/plugins.py +0 -8
- localstack/runtime/init.py +1 -1
- localstack/services/apigateway/helpers.py +5 -9
- localstack/services/apigateway/legacy/provider.py +85 -12
- localstack/services/apigateway/next_gen/execute_api/integrations/aws.py +3 -0
- localstack/services/apigateway/next_gen/execute_api/integrations/http.py +3 -3
- localstack/services/apigateway/next_gen/execute_api/test_invoke.py +50 -6
- localstack/services/apigateway/next_gen/provider.py +5 -0
- localstack/services/apigateway/patches.py +0 -9
- localstack/services/cloudformation/engine/entities.py +12 -1
- localstack/services/cloudformation/engine/v2/change_set_model.py +0 -3
- localstack/services/cloudformation/engine/v2/change_set_model_describer.py +14 -0
- localstack/services/cloudformation/engine/v2/change_set_model_executor.py +13 -15
- localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +118 -24
- localstack/services/cloudformation/engine/v2/change_set_model_transform.py +4 -1
- localstack/services/cloudformation/engine/v2/change_set_model_validator.py +5 -14
- localstack/services/cloudformation/engine/v2/change_set_model_visitor.py +1 -0
- localstack/services/cloudformation/engine/v2/resolving.py +6 -4
- localstack/services/cloudformation/engine/yaml_parser.py +9 -2
- localstack/services/cloudformation/provider.py +2 -2
- localstack/services/cloudformation/resource_provider.py +5 -1
- localstack/services/cloudformation/resources.py +24149 -0
- localstack/services/cloudformation/v2/entities.py +6 -3
- localstack/services/cloudformation/v2/provider.py +178 -33
- localstack/services/cloudformation/v2/types.py +8 -4
- localstack/services/cloudwatch/provider_v2.py +25 -28
- localstack/services/dynamodb/packages.py +2 -1
- localstack/services/dynamodb/provider.py +42 -0
- localstack/services/dynamodb/v2/provider.py +42 -0
- localstack/services/ecr/resource_providers/aws_ecr_repository.py +5 -2
- localstack/services/es/provider.py +2 -2
- localstack/services/events/event_rule_engine.py +31 -13
- localstack/services/events/models.py +4 -5
- localstack/services/events/target.py +17 -9
- localstack/services/iam/provider.py +11 -116
- localstack/services/iam/resources/policy_simulator.py +133 -0
- localstack/services/kinesis/models.py +15 -2
- localstack/services/kinesis/packages.py +1 -1
- localstack/services/kinesis/provider.py +77 -0
- localstack/services/kms/models.py +34 -4
- localstack/services/kms/provider.py +107 -21
- localstack/services/lambda_/api_utils.py +3 -1
- localstack/services/lambda_/invocation/internal_sqs_queue.py +5 -9
- localstack/services/lambda_/packages.py +1 -1
- localstack/services/lambda_/provider.py +1 -1
- localstack/services/lambda_/runtimes.py +8 -3
- localstack/services/logs/provider.py +36 -19
- localstack/services/moto.py +2 -1
- localstack/services/opensearch/cluster.py +15 -7
- localstack/services/opensearch/packages.py +26 -7
- localstack/services/opensearch/provider.py +6 -1
- localstack/services/opensearch/versions.py +56 -7
- localstack/services/s3/constants.py +5 -2
- localstack/services/s3/cors.py +4 -4
- localstack/services/s3/notifications.py +1 -1
- localstack/services/s3/presigned_url.py +27 -43
- localstack/services/s3/provider.py +68 -12
- localstack/services/s3/utils.py +42 -11
- localstack/services/ses/provider.py +16 -7
- localstack/services/sns/constants.py +7 -1
- localstack/services/sns/v2/models.py +190 -0
- localstack/services/sns/v2/provider.py +992 -2
- localstack/services/sns/v2/utils.py +138 -0
- localstack/services/sqs/developer_api.py +205 -0
- localstack/services/sqs/models.py +79 -13
- localstack/services/sqs/provider.py +8 -309
- localstack/services/sqs/query_api.py +1 -1
- localstack/services/sqs/utils.py +121 -2
- localstack/services/stepfunctions/asl/jsonata/jsonata.py +1 -1
- localstack/testing/aws/cloudformation_utils.py +1 -1
- localstack/testing/pytest/cloudformation/fixtures.py +3 -3
- localstack/testing/pytest/container.py +4 -5
- localstack/testing/pytest/fixtures.py +20 -19
- localstack/testing/pytest/in_memory_localstack.py +0 -4
- localstack/testing/pytest/marking.py +13 -4
- localstack/testing/pytest/stepfunctions/utils.py +4 -3
- localstack/testing/pytest/util.py +1 -1
- localstack/testing/pytest/validation_tracking.py +1 -2
- localstack/testing/snapshots/transformer_utility.py +7 -0
- localstack/testing/testselection/matching.py +0 -1
- localstack/utils/analytics/events.py +2 -2
- localstack/utils/analytics/metadata.py +1 -2
- localstack/utils/analytics/metrics/counter.py +6 -8
- localstack/utils/analytics/publisher.py +1 -2
- localstack/utils/analytics/service_request_aggregator.py +2 -2
- localstack/utils/archives.py +11 -11
- localstack/utils/aws/arns.py +17 -9
- localstack/utils/aws/aws_responses.py +7 -7
- localstack/utils/aws/aws_stack.py +2 -3
- localstack/utils/aws/client_types.py +0 -8
- localstack/utils/aws/message_forwarding.py +1 -2
- localstack/utils/aws/request_context.py +4 -5
- localstack/utils/batch_policy.py +3 -3
- localstack/utils/bootstrap.py +7 -7
- localstack/utils/catalog/catalog.py +139 -0
- localstack/utils/catalog/catalog_loader.py +119 -0
- localstack/utils/catalog/common.py +58 -0
- localstack/utils/catalog/plugins.py +28 -0
- localstack/utils/cloudwatch/cloudwatch_util.py +5 -5
- localstack/utils/collections.py +7 -8
- localstack/utils/config_listener.py +1 -1
- localstack/utils/container_networking.py +2 -3
- localstack/utils/container_utils/container_client.py +115 -131
- localstack/utils/container_utils/docker_cmd_client.py +42 -42
- localstack/utils/container_utils/docker_sdk_client.py +63 -62
- localstack/utils/crypto.py +109 -0
- localstack/utils/diagnose.py +2 -3
- localstack/utils/docker_utils.py +3 -4
- localstack/utils/files.py +31 -7
- localstack/utils/functions.py +3 -2
- localstack/utils/http.py +4 -5
- localstack/utils/json.py +19 -5
- localstack/utils/kinesis/kinesis_connector.py +2 -1
- localstack/utils/net.py +6 -6
- localstack/utils/no_exit_argument_parser.py +2 -2
- localstack/utils/numbers.py +9 -2
- localstack/utils/objects.py +6 -5
- localstack/utils/patch.py +2 -1
- localstack/utils/run.py +10 -9
- localstack/utils/scheduler.py +11 -11
- localstack/utils/server/tcp_proxy.py +2 -2
- localstack/utils/serving.py +2 -3
- localstack/utils/strings.py +10 -11
- localstack/utils/sync.py +126 -1
- localstack/utils/tagging.py +1 -4
- localstack/utils/testutil.py +5 -4
- localstack/utils/threads.py +2 -2
- localstack/utils/time.py +11 -3
- localstack/utils/urls.py +1 -3
- localstack/version.py +2 -2
- {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/METADATA +19 -13
- {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/RECORD +203 -199
- {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/entry_points.txt +4 -2
- localstack_core-4.10.1.dev42.dist-info/plux.json +1 -0
- localstack/packages/terraform.py +0 -46
- localstack/services/cloudformation/deploy.html +0 -144
- localstack/services/cloudformation/deploy_ui.py +0 -47
- localstack/services/cloudformation/plugins.py +0 -12
- localstack_core-4.7.1.dev139.dist-info/plux.json +0 -1
- {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack +0 -0
- {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack-supervisor +0 -0
- {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack.bat +0 -0
- {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/WHEEL +0 -0
- {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/licenses/LICENSE.txt +0 -0
- {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.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(
|