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.

Files changed (208) hide show
  1. localstack/aws/api/acm/__init__.py +122 -122
  2. localstack/aws/api/apigateway/__init__.py +560 -559
  3. localstack/aws/api/cloudcontrol/__init__.py +63 -63
  4. localstack/aws/api/cloudformation/__init__.py +1041 -969
  5. localstack/aws/api/cloudwatch/__init__.py +408 -368
  6. localstack/aws/api/config/__init__.py +788 -786
  7. localstack/aws/api/core.py +4 -0
  8. localstack/aws/api/dynamodb/__init__.py +753 -759
  9. localstack/aws/api/dynamodbstreams/__init__.py +74 -74
  10. localstack/aws/api/ec2/__init__.py +9713 -8573
  11. localstack/aws/api/es/__init__.py +453 -453
  12. localstack/aws/api/events/__init__.py +552 -552
  13. localstack/aws/api/firehose/__init__.py +541 -543
  14. localstack/aws/api/iam/__init__.py +646 -572
  15. localstack/aws/api/kinesis/__init__.py +251 -144
  16. localstack/aws/api/kms/__init__.py +343 -333
  17. localstack/aws/api/lambda_/__init__.py +585 -571
  18. localstack/aws/api/logs/__init__.py +682 -666
  19. localstack/aws/api/opensearch/__init__.py +814 -785
  20. localstack/aws/api/pipes/__init__.py +336 -336
  21. localstack/aws/api/redshift/__init__.py +1192 -1164
  22. localstack/aws/api/resource_groups/__init__.py +175 -175
  23. localstack/aws/api/resourcegroupstaggingapi/__init__.py +67 -67
  24. localstack/aws/api/route53/__init__.py +256 -254
  25. localstack/aws/api/route53resolver/__init__.py +396 -396
  26. localstack/aws/api/s3/__init__.py +1358 -1345
  27. localstack/aws/api/s3control/__init__.py +616 -584
  28. localstack/aws/api/scheduler/__init__.py +118 -118
  29. localstack/aws/api/secretsmanager/__init__.py +193 -193
  30. localstack/aws/api/ses/__init__.py +227 -227
  31. localstack/aws/api/sns/__init__.py +115 -115
  32. localstack/aws/api/sqs/__init__.py +100 -100
  33. localstack/aws/api/ssm/__init__.py +1978 -1970
  34. localstack/aws/api/stepfunctions/__init__.py +323 -323
  35. localstack/aws/api/sts/__init__.py +90 -66
  36. localstack/aws/api/support/__init__.py +112 -112
  37. localstack/aws/api/swf/__init__.py +378 -386
  38. localstack/aws/api/transcribe/__init__.py +425 -425
  39. localstack/aws/client.py +7 -2
  40. localstack/aws/forwarder.py +52 -5
  41. localstack/aws/handlers/analytics.py +1 -1
  42. localstack/aws/handlers/logging.py +12 -2
  43. localstack/aws/handlers/metric_handler.py +41 -1
  44. localstack/aws/handlers/service.py +43 -10
  45. localstack/aws/protocol/parser.py +440 -21
  46. localstack/aws/protocol/serializer.py +684 -64
  47. localstack/aws/protocol/service_router.py +120 -20
  48. localstack/aws/scaffold.py +15 -17
  49. localstack/aws/skeleton.py +4 -2
  50. localstack/aws/spec-patches.json +58 -0
  51. localstack/aws/spec.py +33 -13
  52. localstack/cli/exceptions.py +1 -1
  53. localstack/cli/localstack.py +10 -5
  54. localstack/cli/lpm.py +3 -4
  55. localstack/cli/profiles.py +1 -2
  56. localstack/config.py +18 -12
  57. localstack/constants.py +4 -29
  58. localstack/dev/kubernetes/__main__.py +39 -4
  59. localstack/dev/run/paths.py +1 -1
  60. localstack/dns/plugins.py +5 -1
  61. localstack/dns/server.py +12 -3
  62. localstack/packages/api.py +9 -8
  63. localstack/packages/core.py +2 -2
  64. localstack/packages/plugins.py +0 -8
  65. localstack/runtime/init.py +1 -1
  66. localstack/services/apigateway/helpers.py +5 -9
  67. localstack/services/apigateway/legacy/provider.py +85 -12
  68. localstack/services/apigateway/next_gen/execute_api/integrations/aws.py +3 -0
  69. localstack/services/apigateway/next_gen/execute_api/integrations/http.py +3 -3
  70. localstack/services/apigateway/next_gen/execute_api/test_invoke.py +50 -6
  71. localstack/services/apigateway/next_gen/provider.py +5 -0
  72. localstack/services/apigateway/patches.py +0 -9
  73. localstack/services/cloudformation/engine/entities.py +12 -1
  74. localstack/services/cloudformation/engine/v2/change_set_model.py +0 -3
  75. localstack/services/cloudformation/engine/v2/change_set_model_describer.py +14 -0
  76. localstack/services/cloudformation/engine/v2/change_set_model_executor.py +13 -15
  77. localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +118 -24
  78. localstack/services/cloudformation/engine/v2/change_set_model_transform.py +4 -1
  79. localstack/services/cloudformation/engine/v2/change_set_model_validator.py +5 -14
  80. localstack/services/cloudformation/engine/v2/change_set_model_visitor.py +1 -0
  81. localstack/services/cloudformation/engine/v2/resolving.py +6 -4
  82. localstack/services/cloudformation/engine/yaml_parser.py +9 -2
  83. localstack/services/cloudformation/provider.py +2 -2
  84. localstack/services/cloudformation/resource_provider.py +5 -1
  85. localstack/services/cloudformation/resources.py +24149 -0
  86. localstack/services/cloudformation/v2/entities.py +6 -3
  87. localstack/services/cloudformation/v2/provider.py +178 -33
  88. localstack/services/cloudformation/v2/types.py +8 -4
  89. localstack/services/cloudwatch/provider_v2.py +25 -28
  90. localstack/services/dynamodb/packages.py +2 -1
  91. localstack/services/dynamodb/provider.py +42 -0
  92. localstack/services/dynamodb/v2/provider.py +42 -0
  93. localstack/services/ecr/resource_providers/aws_ecr_repository.py +5 -2
  94. localstack/services/es/provider.py +2 -2
  95. localstack/services/events/event_rule_engine.py +31 -13
  96. localstack/services/events/models.py +4 -5
  97. localstack/services/events/target.py +17 -9
  98. localstack/services/iam/provider.py +11 -116
  99. localstack/services/iam/resources/policy_simulator.py +133 -0
  100. localstack/services/kinesis/models.py +15 -2
  101. localstack/services/kinesis/packages.py +1 -1
  102. localstack/services/kinesis/provider.py +77 -0
  103. localstack/services/kms/models.py +34 -4
  104. localstack/services/kms/provider.py +107 -21
  105. localstack/services/lambda_/api_utils.py +3 -1
  106. localstack/services/lambda_/invocation/internal_sqs_queue.py +5 -9
  107. localstack/services/lambda_/packages.py +1 -1
  108. localstack/services/lambda_/provider.py +1 -1
  109. localstack/services/lambda_/runtimes.py +8 -3
  110. localstack/services/logs/provider.py +36 -19
  111. localstack/services/moto.py +2 -1
  112. localstack/services/opensearch/cluster.py +15 -7
  113. localstack/services/opensearch/packages.py +26 -7
  114. localstack/services/opensearch/provider.py +6 -1
  115. localstack/services/opensearch/versions.py +56 -7
  116. localstack/services/s3/constants.py +5 -2
  117. localstack/services/s3/cors.py +4 -4
  118. localstack/services/s3/notifications.py +1 -1
  119. localstack/services/s3/presigned_url.py +27 -43
  120. localstack/services/s3/provider.py +68 -12
  121. localstack/services/s3/utils.py +42 -11
  122. localstack/services/ses/provider.py +16 -7
  123. localstack/services/sns/constants.py +7 -1
  124. localstack/services/sns/v2/models.py +190 -0
  125. localstack/services/sns/v2/provider.py +992 -2
  126. localstack/services/sns/v2/utils.py +138 -0
  127. localstack/services/sqs/developer_api.py +205 -0
  128. localstack/services/sqs/models.py +79 -13
  129. localstack/services/sqs/provider.py +8 -309
  130. localstack/services/sqs/query_api.py +1 -1
  131. localstack/services/sqs/utils.py +121 -2
  132. localstack/services/stepfunctions/asl/jsonata/jsonata.py +1 -1
  133. localstack/testing/aws/cloudformation_utils.py +1 -1
  134. localstack/testing/pytest/cloudformation/fixtures.py +3 -3
  135. localstack/testing/pytest/container.py +4 -5
  136. localstack/testing/pytest/fixtures.py +20 -19
  137. localstack/testing/pytest/in_memory_localstack.py +0 -4
  138. localstack/testing/pytest/marking.py +13 -4
  139. localstack/testing/pytest/stepfunctions/utils.py +4 -3
  140. localstack/testing/pytest/util.py +1 -1
  141. localstack/testing/pytest/validation_tracking.py +1 -2
  142. localstack/testing/snapshots/transformer_utility.py +7 -0
  143. localstack/testing/testselection/matching.py +0 -1
  144. localstack/utils/analytics/events.py +2 -2
  145. localstack/utils/analytics/metadata.py +1 -2
  146. localstack/utils/analytics/metrics/counter.py +6 -8
  147. localstack/utils/analytics/publisher.py +1 -2
  148. localstack/utils/analytics/service_request_aggregator.py +2 -2
  149. localstack/utils/archives.py +11 -11
  150. localstack/utils/aws/arns.py +17 -9
  151. localstack/utils/aws/aws_responses.py +7 -7
  152. localstack/utils/aws/aws_stack.py +2 -3
  153. localstack/utils/aws/client_types.py +0 -8
  154. localstack/utils/aws/message_forwarding.py +1 -2
  155. localstack/utils/aws/request_context.py +4 -5
  156. localstack/utils/batch_policy.py +3 -3
  157. localstack/utils/bootstrap.py +7 -7
  158. localstack/utils/catalog/catalog.py +139 -0
  159. localstack/utils/catalog/catalog_loader.py +119 -0
  160. localstack/utils/catalog/common.py +58 -0
  161. localstack/utils/catalog/plugins.py +28 -0
  162. localstack/utils/cloudwatch/cloudwatch_util.py +5 -5
  163. localstack/utils/collections.py +7 -8
  164. localstack/utils/config_listener.py +1 -1
  165. localstack/utils/container_networking.py +2 -3
  166. localstack/utils/container_utils/container_client.py +115 -131
  167. localstack/utils/container_utils/docker_cmd_client.py +42 -42
  168. localstack/utils/container_utils/docker_sdk_client.py +63 -62
  169. localstack/utils/crypto.py +109 -0
  170. localstack/utils/diagnose.py +2 -3
  171. localstack/utils/docker_utils.py +3 -4
  172. localstack/utils/files.py +31 -7
  173. localstack/utils/functions.py +3 -2
  174. localstack/utils/http.py +4 -5
  175. localstack/utils/json.py +19 -5
  176. localstack/utils/kinesis/kinesis_connector.py +2 -1
  177. localstack/utils/net.py +6 -6
  178. localstack/utils/no_exit_argument_parser.py +2 -2
  179. localstack/utils/numbers.py +9 -2
  180. localstack/utils/objects.py +6 -5
  181. localstack/utils/patch.py +2 -1
  182. localstack/utils/run.py +10 -9
  183. localstack/utils/scheduler.py +11 -11
  184. localstack/utils/server/tcp_proxy.py +2 -2
  185. localstack/utils/serving.py +2 -3
  186. localstack/utils/strings.py +10 -11
  187. localstack/utils/sync.py +126 -1
  188. localstack/utils/tagging.py +1 -4
  189. localstack/utils/testutil.py +5 -4
  190. localstack/utils/threads.py +2 -2
  191. localstack/utils/time.py +11 -3
  192. localstack/utils/urls.py +1 -3
  193. localstack/version.py +2 -2
  194. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/METADATA +19 -13
  195. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/RECORD +203 -199
  196. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/entry_points.txt +4 -2
  197. localstack_core-4.10.1.dev42.dist-info/plux.json +1 -0
  198. localstack/packages/terraform.py +0 -46
  199. localstack/services/cloudformation/deploy.html +0 -144
  200. localstack/services/cloudformation/deploy_ui.py +0 -47
  201. localstack/services/cloudformation/plugins.py +0 -12
  202. localstack_core-4.7.1.dev139.dist-info/plux.json +0 -1
  203. {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack +0 -0
  204. {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack-supervisor +0 -0
  205. {localstack_core-4.7.1.dev139.data → localstack_core-4.10.1.dev42.data}/scripts/localstack.bat +0 -0
  206. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/WHEEL +0 -0
  207. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/licenses/LICENSE.txt +0 -0
  208. {localstack_core-4.7.1.dev139.dist-info → localstack_core-4.10.1.dev42.dist-info}/top_level.txt +0 -0
@@ -1,5 +1,5 @@
1
1
  from enum import StrEnum
2
- from typing import Dict, List, Optional, TypedDict
2
+ from typing import TypedDict
3
3
 
4
4
  from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
5
5
 
@@ -78,13 +78,13 @@ class ThrottledException(ServiceException):
78
78
  status_code: int = 400
79
79
 
80
80
 
81
- TagKeyList = List[TagKey]
81
+ TagKeyList = list[TagKey]
82
82
 
83
83
 
84
84
  class ComplianceDetails(TypedDict, total=False):
85
- NoncompliantKeys: Optional[TagKeyList]
86
- KeysWithNoncompliantValues: Optional[TagKeyList]
87
- ComplianceStatus: Optional[ComplianceStatus]
85
+ NoncompliantKeys: TagKeyList | None
86
+ KeysWithNoncompliantValues: TagKeyList | None
87
+ ComplianceStatus: ComplianceStatus | None
88
88
 
89
89
 
90
90
  class DescribeReportCreationInput(ServiceRequest):
@@ -92,76 +92,76 @@ class DescribeReportCreationInput(ServiceRequest):
92
92
 
93
93
 
94
94
  class DescribeReportCreationOutput(TypedDict, total=False):
95
- Status: Optional[Status]
96
- S3Location: Optional[S3Location]
97
- ErrorMessage: Optional[ErrorMessage]
95
+ Status: Status | None
96
+ S3Location: S3Location | None
97
+ ErrorMessage: ErrorMessage | None
98
98
 
99
99
 
100
100
  class FailureInfo(TypedDict, total=False):
101
- StatusCode: Optional[StatusCode]
102
- ErrorCode: Optional[ErrorCode]
103
- ErrorMessage: Optional[ErrorMessage]
101
+ StatusCode: StatusCode | None
102
+ ErrorCode: ErrorCode | None
103
+ ErrorMessage: ErrorMessage | None
104
104
 
105
105
 
106
- FailedResourcesMap = Dict[ResourceARN, FailureInfo]
107
- GroupBy = List[GroupByAttribute]
108
- TagKeyFilterList = List[TagKey]
109
- ResourceTypeFilterList = List[AmazonResourceType]
110
- RegionFilterList = List[Region]
111
- TargetIdFilterList = List[TargetId]
106
+ FailedResourcesMap = dict[ResourceARN, FailureInfo]
107
+ GroupBy = list[GroupByAttribute]
108
+ TagKeyFilterList = list[TagKey]
109
+ ResourceTypeFilterList = list[AmazonResourceType]
110
+ RegionFilterList = list[Region]
111
+ TargetIdFilterList = list[TargetId]
112
112
 
113
113
 
114
114
  class GetComplianceSummaryInput(ServiceRequest):
115
- TargetIdFilters: Optional[TargetIdFilterList]
116
- RegionFilters: Optional[RegionFilterList]
117
- ResourceTypeFilters: Optional[ResourceTypeFilterList]
118
- TagKeyFilters: Optional[TagKeyFilterList]
119
- GroupBy: Optional[GroupBy]
120
- MaxResults: Optional[MaxResultsGetComplianceSummary]
121
- PaginationToken: Optional[PaginationToken]
115
+ TargetIdFilters: TargetIdFilterList | None
116
+ RegionFilters: RegionFilterList | None
117
+ ResourceTypeFilters: ResourceTypeFilterList | None
118
+ TagKeyFilters: TagKeyFilterList | None
119
+ GroupBy: GroupBy | None
120
+ MaxResults: MaxResultsGetComplianceSummary | None
121
+ PaginationToken: PaginationToken | None
122
122
 
123
123
 
124
124
  NonCompliantResources = int
125
125
 
126
126
 
127
127
  class Summary(TypedDict, total=False):
128
- LastUpdated: Optional[LastUpdated]
129
- TargetId: Optional[TargetId]
130
- TargetIdType: Optional[TargetIdType]
131
- Region: Optional[Region]
132
- ResourceType: Optional[AmazonResourceType]
133
- NonCompliantResources: Optional[NonCompliantResources]
128
+ LastUpdated: LastUpdated | None
129
+ TargetId: TargetId | None
130
+ TargetIdType: TargetIdType | None
131
+ Region: Region | None
132
+ ResourceType: AmazonResourceType | None
133
+ NonCompliantResources: NonCompliantResources | None
134
134
 
135
135
 
136
- SummaryList = List[Summary]
136
+ SummaryList = list[Summary]
137
137
 
138
138
 
139
139
  class GetComplianceSummaryOutput(TypedDict, total=False):
140
- SummaryList: Optional[SummaryList]
141
- PaginationToken: Optional[PaginationToken]
140
+ SummaryList: SummaryList | None
141
+ PaginationToken: PaginationToken | None
142
142
 
143
143
 
144
- ResourceARNListForGet = List[ResourceARN]
145
- TagValueList = List[TagValue]
144
+ ResourceARNListForGet = list[ResourceARN]
145
+ TagValueList = list[TagValue]
146
146
 
147
147
 
148
148
  class TagFilter(TypedDict, total=False):
149
- Key: Optional[TagKey]
150
- Values: Optional[TagValueList]
149
+ Key: TagKey | None
150
+ Values: TagValueList | None
151
151
 
152
152
 
153
- TagFilterList = List[TagFilter]
153
+ TagFilterList = list[TagFilter]
154
154
 
155
155
 
156
156
  class GetResourcesInput(ServiceRequest):
157
- PaginationToken: Optional[PaginationToken]
158
- TagFilters: Optional[TagFilterList]
159
- ResourcesPerPage: Optional[ResourcesPerPage]
160
- TagsPerPage: Optional[TagsPerPage]
161
- ResourceTypeFilters: Optional[ResourceTypeFilterList]
162
- IncludeComplianceDetails: Optional[IncludeComplianceDetails]
163
- ExcludeCompliantResources: Optional[ExcludeCompliantResources]
164
- ResourceARNList: Optional[ResourceARNListForGet]
157
+ PaginationToken: PaginationToken | None
158
+ TagFilters: TagFilterList | None
159
+ ResourcesPerPage: ResourcesPerPage | None
160
+ TagsPerPage: TagsPerPage | None
161
+ ResourceTypeFilters: ResourceTypeFilterList | None
162
+ IncludeComplianceDetails: IncludeComplianceDetails | None
163
+ ExcludeCompliantResources: ExcludeCompliantResources | None
164
+ ResourceARNList: ResourceARNListForGet | None
165
165
 
166
166
 
167
167
  class Tag(TypedDict, total=False):
@@ -169,46 +169,46 @@ class Tag(TypedDict, total=False):
169
169
  Value: TagValue
170
170
 
171
171
 
172
- TagList = List[Tag]
172
+ TagList = list[Tag]
173
173
 
174
174
 
175
175
  class ResourceTagMapping(TypedDict, total=False):
176
- ResourceARN: Optional[ResourceARN]
177
- Tags: Optional[TagList]
178
- ComplianceDetails: Optional[ComplianceDetails]
176
+ ResourceARN: ResourceARN | None
177
+ Tags: TagList | None
178
+ ComplianceDetails: ComplianceDetails | None
179
179
 
180
180
 
181
- ResourceTagMappingList = List[ResourceTagMapping]
181
+ ResourceTagMappingList = list[ResourceTagMapping]
182
182
 
183
183
 
184
184
  class GetResourcesOutput(TypedDict, total=False):
185
- PaginationToken: Optional[PaginationToken]
186
- ResourceTagMappingList: Optional[ResourceTagMappingList]
185
+ PaginationToken: PaginationToken | None
186
+ ResourceTagMappingList: ResourceTagMappingList | None
187
187
 
188
188
 
189
189
  class GetTagKeysInput(ServiceRequest):
190
- PaginationToken: Optional[PaginationToken]
190
+ PaginationToken: PaginationToken | None
191
191
 
192
192
 
193
193
  class GetTagKeysOutput(TypedDict, total=False):
194
- PaginationToken: Optional[PaginationToken]
195
- TagKeys: Optional[TagKeyList]
194
+ PaginationToken: PaginationToken | None
195
+ TagKeys: TagKeyList | None
196
196
 
197
197
 
198
198
  class GetTagValuesInput(ServiceRequest):
199
- PaginationToken: Optional[PaginationToken]
199
+ PaginationToken: PaginationToken | None
200
200
  Key: TagKey
201
201
 
202
202
 
203
- TagValuesOutputList = List[TagValue]
203
+ TagValuesOutputList = list[TagValue]
204
204
 
205
205
 
206
206
  class GetTagValuesOutput(TypedDict, total=False):
207
- PaginationToken: Optional[PaginationToken]
208
- TagValues: Optional[TagValuesOutputList]
207
+ PaginationToken: PaginationToken | None
208
+ TagValues: TagValuesOutputList | None
209
209
 
210
210
 
211
- ResourceARNListForTagUntag = List[ResourceARN]
211
+ ResourceARNListForTagUntag = list[ResourceARN]
212
212
 
213
213
 
214
214
  class StartReportCreationInput(ServiceRequest):
@@ -219,8 +219,8 @@ class StartReportCreationOutput(TypedDict, total=False):
219
219
  pass
220
220
 
221
221
 
222
- TagKeyListForUntag = List[TagKey]
223
- TagMap = Dict[TagKey, TagValue]
222
+ TagKeyListForUntag = list[TagKey]
223
+ TagMap = dict[TagKey, TagValue]
224
224
 
225
225
 
226
226
  class TagResourcesInput(ServiceRequest):
@@ -229,7 +229,7 @@ class TagResourcesInput(ServiceRequest):
229
229
 
230
230
 
231
231
  class TagResourcesOutput(TypedDict, total=False):
232
- FailedResourcesMap: Optional[FailedResourcesMap]
232
+ FailedResourcesMap: FailedResourcesMap | None
233
233
 
234
234
 
235
235
  class UntagResourcesInput(ServiceRequest):
@@ -238,12 +238,12 @@ class UntagResourcesInput(ServiceRequest):
238
238
 
239
239
 
240
240
  class UntagResourcesOutput(TypedDict, total=False):
241
- FailedResourcesMap: Optional[FailedResourcesMap]
241
+ FailedResourcesMap: FailedResourcesMap | None
242
242
 
243
243
 
244
244
  class ResourcegroupstaggingapiApi:
245
- service = "resourcegroupstaggingapi"
246
- version = "2017-01-26"
245
+ service: str = "resourcegroupstaggingapi"
246
+ version: str = "2017-01-26"
247
247
 
248
248
  @handler("DescribeReportCreation")
249
249
  def describe_report_creation(