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,6 +1,6 @@
1
1
  from datetime import datetime
2
2
  from enum import StrEnum
3
- from typing import Dict, List, Optional, TypedDict
3
+ from typing import TypedDict
4
4
 
5
5
  from localstack.aws.api import RequestContext, ServiceException, ServiceRequest, handler
6
6
 
@@ -149,36 +149,36 @@ class UnauthorizedException(ServiceException):
149
149
 
150
150
 
151
151
  class AccountSettings(TypedDict, total=False):
152
- GroupLifecycleEventsDesiredStatus: Optional[GroupLifecycleEventsDesiredStatus]
153
- GroupLifecycleEventsStatus: Optional[GroupLifecycleEventsStatus]
154
- GroupLifecycleEventsStatusMessage: Optional[GroupLifecycleEventsStatusMessage]
152
+ GroupLifecycleEventsDesiredStatus: GroupLifecycleEventsDesiredStatus | None
153
+ GroupLifecycleEventsStatus: GroupLifecycleEventsStatus | None
154
+ GroupLifecycleEventsStatusMessage: GroupLifecycleEventsStatusMessage | None
155
155
 
156
156
 
157
- ApplicationTag = Dict[ApplicationTagKey, ApplicationArn]
157
+ ApplicationTag = dict[ApplicationTagKey, ApplicationArn]
158
158
 
159
159
 
160
160
  class CancelTagSyncTaskInput(ServiceRequest):
161
161
  TaskArn: TagSyncTaskArn
162
162
 
163
163
 
164
- GroupConfigurationParameterValueList = List[GroupConfigurationParameterValue]
164
+ GroupConfigurationParameterValueList = list[GroupConfigurationParameterValue]
165
165
 
166
166
 
167
167
  class GroupConfigurationParameter(TypedDict, total=False):
168
168
  Name: GroupConfigurationParameterName
169
- Values: Optional[GroupConfigurationParameterValueList]
169
+ Values: GroupConfigurationParameterValueList | None
170
170
 
171
171
 
172
- GroupParameterList = List[GroupConfigurationParameter]
172
+ GroupParameterList = list[GroupConfigurationParameter]
173
173
 
174
174
 
175
175
  class GroupConfigurationItem(TypedDict, total=False):
176
176
  Type: GroupConfigurationType
177
- Parameters: Optional[GroupParameterList]
177
+ Parameters: GroupParameterList | None
178
178
 
179
179
 
180
- GroupConfigurationList = List[GroupConfigurationItem]
181
- Tags = Dict[TagKey, TagValue]
180
+ GroupConfigurationList = list[GroupConfigurationItem]
181
+ Tags = dict[TagKey, TagValue]
182
182
 
183
183
 
184
184
  class ResourceQuery(TypedDict, total=False):
@@ -188,81 +188,81 @@ class ResourceQuery(TypedDict, total=False):
188
188
 
189
189
  class CreateGroupInput(ServiceRequest):
190
190
  Name: CreateGroupName
191
- Description: Optional[Description]
192
- ResourceQuery: Optional[ResourceQuery]
193
- Tags: Optional[Tags]
194
- Configuration: Optional[GroupConfigurationList]
195
- Criticality: Optional[Criticality]
196
- Owner: Optional[Owner]
197
- DisplayName: Optional[DisplayName]
191
+ Description: Description | None
192
+ ResourceQuery: ResourceQuery | None
193
+ Tags: Tags | None
194
+ Configuration: GroupConfigurationList | None
195
+ Criticality: Criticality | None
196
+ Owner: Owner | None
197
+ DisplayName: DisplayName | None
198
198
 
199
199
 
200
200
  class GroupConfiguration(TypedDict, total=False):
201
- Configuration: Optional[GroupConfigurationList]
202
- ProposedConfiguration: Optional[GroupConfigurationList]
203
- Status: Optional[GroupConfigurationStatus]
204
- FailureReason: Optional[GroupConfigurationFailureReason]
201
+ Configuration: GroupConfigurationList | None
202
+ ProposedConfiguration: GroupConfigurationList | None
203
+ Status: GroupConfigurationStatus | None
204
+ FailureReason: GroupConfigurationFailureReason | None
205
205
 
206
206
 
207
207
  class Group(TypedDict, total=False):
208
208
  GroupArn: GroupArnV2
209
209
  Name: GroupName
210
- Description: Optional[Description]
211
- Criticality: Optional[Criticality]
212
- Owner: Optional[Owner]
213
- DisplayName: Optional[DisplayName]
214
- ApplicationTag: Optional[ApplicationTag]
210
+ Description: Description | None
211
+ Criticality: Criticality | None
212
+ Owner: Owner | None
213
+ DisplayName: DisplayName | None
214
+ ApplicationTag: ApplicationTag | None
215
215
 
216
216
 
217
217
  class CreateGroupOutput(TypedDict, total=False):
218
- Group: Optional[Group]
219
- ResourceQuery: Optional[ResourceQuery]
220
- Tags: Optional[Tags]
221
- GroupConfiguration: Optional[GroupConfiguration]
218
+ Group: Group | None
219
+ ResourceQuery: ResourceQuery | None
220
+ Tags: Tags | None
221
+ GroupConfiguration: GroupConfiguration | None
222
222
 
223
223
 
224
224
  class DeleteGroupInput(ServiceRequest):
225
- GroupName: Optional[GroupName]
226
- Group: Optional[GroupStringV2]
225
+ GroupName: GroupName | None
226
+ Group: GroupStringV2 | None
227
227
 
228
228
 
229
229
  class DeleteGroupOutput(TypedDict, total=False):
230
- Group: Optional[Group]
230
+ Group: Group | None
231
231
 
232
232
 
233
233
  class FailedResource(TypedDict, total=False):
234
- ResourceArn: Optional[ResourceArn]
235
- ErrorMessage: Optional[ErrorMessage]
236
- ErrorCode: Optional[ErrorCode]
234
+ ResourceArn: ResourceArn | None
235
+ ErrorMessage: ErrorMessage | None
236
+ ErrorCode: ErrorCode | None
237
237
 
238
238
 
239
- FailedResourceList = List[FailedResource]
239
+ FailedResourceList = list[FailedResource]
240
240
 
241
241
 
242
242
  class GetAccountSettingsOutput(TypedDict, total=False):
243
- AccountSettings: Optional[AccountSettings]
243
+ AccountSettings: AccountSettings | None
244
244
 
245
245
 
246
246
  class GetGroupConfigurationInput(ServiceRequest):
247
- Group: Optional[GroupString]
247
+ Group: GroupString | None
248
248
 
249
249
 
250
250
  class GetGroupConfigurationOutput(TypedDict, total=False):
251
- GroupConfiguration: Optional[GroupConfiguration]
251
+ GroupConfiguration: GroupConfiguration | None
252
252
 
253
253
 
254
254
  class GetGroupInput(ServiceRequest):
255
- GroupName: Optional[GroupName]
256
- Group: Optional[GroupStringV2]
255
+ GroupName: GroupName | None
256
+ Group: GroupStringV2 | None
257
257
 
258
258
 
259
259
  class GetGroupOutput(TypedDict, total=False):
260
- Group: Optional[Group]
260
+ Group: Group | None
261
261
 
262
262
 
263
263
  class GetGroupQueryInput(ServiceRequest):
264
- GroupName: Optional[GroupName]
265
- Group: Optional[GroupString]
264
+ GroupName: GroupName | None
265
+ Group: GroupString | None
266
266
 
267
267
 
268
268
  class GroupQuery(TypedDict, total=False):
@@ -271,7 +271,7 @@ class GroupQuery(TypedDict, total=False):
271
271
 
272
272
 
273
273
  class GetGroupQueryOutput(TypedDict, total=False):
274
- GroupQuery: Optional[GroupQuery]
274
+ GroupQuery: GroupQuery | None
275
275
 
276
276
 
277
277
  class GetTagSyncTaskInput(ServiceRequest):
@@ -282,16 +282,16 @@ timestamp = datetime
282
282
 
283
283
 
284
284
  class GetTagSyncTaskOutput(TypedDict, total=False):
285
- GroupArn: Optional[GroupArnV2]
286
- GroupName: Optional[GroupName]
287
- TaskArn: Optional[TagSyncTaskArn]
288
- TagKey: Optional[TagKey]
289
- TagValue: Optional[TagValue]
290
- ResourceQuery: Optional[ResourceQuery]
291
- RoleArn: Optional[RoleArn]
292
- Status: Optional[TagSyncTaskStatus]
293
- ErrorMessage: Optional[ErrorMessage]
294
- CreatedAt: Optional[timestamp]
285
+ GroupArn: GroupArnV2 | None
286
+ GroupName: GroupName | None
287
+ TaskArn: TagSyncTaskArn | None
288
+ TagKey: TagKey | None
289
+ TagValue: TagValue | None
290
+ ResourceQuery: ResourceQuery | None
291
+ RoleArn: RoleArn | None
292
+ Status: TagSyncTaskStatus | None
293
+ ErrorMessage: ErrorMessage | None
294
+ CreatedAt: timestamp | None
295
295
 
296
296
 
297
297
  class GetTagsInput(ServiceRequest):
@@ -299,11 +299,11 @@ class GetTagsInput(ServiceRequest):
299
299
 
300
300
 
301
301
  class GetTagsOutput(TypedDict, total=False):
302
- Arn: Optional[GroupArnV2]
303
- Tags: Optional[Tags]
302
+ Arn: GroupArnV2 | None
303
+ Tags: Tags | None
304
304
 
305
305
 
306
- GroupFilterValues = List[GroupFilterValue]
306
+ GroupFilterValues = list[GroupFilterValue]
307
307
 
308
308
 
309
309
  class GroupFilter(TypedDict, total=False):
@@ -311,21 +311,21 @@ class GroupFilter(TypedDict, total=False):
311
311
  Values: GroupFilterValues
312
312
 
313
313
 
314
- GroupFilterList = List[GroupFilter]
314
+ GroupFilterList = list[GroupFilter]
315
315
 
316
316
 
317
317
  class GroupIdentifier(TypedDict, total=False):
318
- GroupName: Optional[GroupName]
319
- GroupArn: Optional[GroupArn]
320
- Description: Optional[Description]
321
- Criticality: Optional[Criticality]
322
- Owner: Optional[Owner]
323
- DisplayName: Optional[DisplayName]
318
+ GroupName: GroupName | None
319
+ GroupArn: GroupArn | None
320
+ Description: Description | None
321
+ Criticality: Criticality | None
322
+ Owner: Owner | None
323
+ DisplayName: DisplayName | None
324
324
 
325
325
 
326
- GroupIdentifierList = List[GroupIdentifier]
327
- GroupList = List[Group]
328
- ResourceArnList = List[ResourceArn]
326
+ GroupIdentifierList = list[GroupIdentifier]
327
+ GroupList = list[Group]
328
+ ResourceArnList = list[ResourceArn]
329
329
 
330
330
 
331
331
  class GroupResourcesInput(ServiceRequest):
@@ -334,29 +334,29 @@ class GroupResourcesInput(ServiceRequest):
334
334
 
335
335
 
336
336
  class PendingResource(TypedDict, total=False):
337
- ResourceArn: Optional[ResourceArn]
337
+ ResourceArn: ResourceArn | None
338
338
 
339
339
 
340
- PendingResourceList = List[PendingResource]
340
+ PendingResourceList = list[PendingResource]
341
341
 
342
342
 
343
343
  class GroupResourcesOutput(TypedDict, total=False):
344
- Succeeded: Optional[ResourceArnList]
345
- Failed: Optional[FailedResourceList]
346
- Pending: Optional[PendingResourceList]
344
+ Succeeded: ResourceArnList | None
345
+ Failed: FailedResourceList | None
346
+ Pending: PendingResourceList | None
347
347
 
348
348
 
349
349
  class GroupingStatusesItem(TypedDict, total=False):
350
- ResourceArn: Optional[ResourceArn]
351
- Action: Optional[GroupingType]
352
- Status: Optional[GroupingStatus]
353
- ErrorMessage: Optional[ErrorMessage]
354
- ErrorCode: Optional[ErrorCode]
355
- UpdatedAt: Optional[timestamp]
350
+ ResourceArn: ResourceArn | None
351
+ Action: GroupingType | None
352
+ Status: GroupingStatus | None
353
+ ErrorMessage: ErrorMessage | None
354
+ ErrorCode: ErrorCode | None
355
+ UpdatedAt: timestamp | None
356
356
 
357
357
 
358
- GroupingStatusesList = List[GroupingStatusesItem]
359
- ResourceFilterValues = List[ResourceFilterValue]
358
+ GroupingStatusesList = list[GroupingStatusesItem]
359
+ ResourceFilterValues = list[ResourceFilterValue]
360
360
 
361
361
 
362
362
  class ResourceFilter(TypedDict, total=False):
@@ -364,51 +364,51 @@ class ResourceFilter(TypedDict, total=False):
364
364
  Values: ResourceFilterValues
365
365
 
366
366
 
367
- ResourceFilterList = List[ResourceFilter]
367
+ ResourceFilterList = list[ResourceFilter]
368
368
 
369
369
 
370
370
  class ListGroupResourcesInput(ServiceRequest):
371
- GroupName: Optional[GroupName]
372
- Group: Optional[GroupStringV2]
373
- Filters: Optional[ResourceFilterList]
374
- MaxResults: Optional[MaxResults]
375
- NextToken: Optional[NextToken]
371
+ GroupName: GroupName | None
372
+ Group: GroupStringV2 | None
373
+ Filters: ResourceFilterList | None
374
+ MaxResults: MaxResults | None
375
+ NextToken: NextToken | None
376
376
 
377
377
 
378
378
  class ResourceStatus(TypedDict, total=False):
379
- Name: Optional[ResourceStatusValue]
379
+ Name: ResourceStatusValue | None
380
380
 
381
381
 
382
382
  class ResourceIdentifier(TypedDict, total=False):
383
- ResourceArn: Optional[ResourceArn]
384
- ResourceType: Optional[ResourceType]
383
+ ResourceArn: ResourceArn | None
384
+ ResourceType: ResourceType | None
385
385
 
386
386
 
387
387
  class ListGroupResourcesItem(TypedDict, total=False):
388
- Identifier: Optional[ResourceIdentifier]
389
- Status: Optional[ResourceStatus]
388
+ Identifier: ResourceIdentifier | None
389
+ Status: ResourceStatus | None
390
390
 
391
391
 
392
- ListGroupResourcesItemList = List[ListGroupResourcesItem]
392
+ ListGroupResourcesItemList = list[ListGroupResourcesItem]
393
393
 
394
394
 
395
395
  class QueryError(TypedDict, total=False):
396
- ErrorCode: Optional[QueryErrorCode]
397
- Message: Optional[QueryErrorMessage]
396
+ ErrorCode: QueryErrorCode | None
397
+ Message: QueryErrorMessage | None
398
398
 
399
399
 
400
- QueryErrorList = List[QueryError]
401
- ResourceIdentifierList = List[ResourceIdentifier]
400
+ QueryErrorList = list[QueryError]
401
+ ResourceIdentifierList = list[ResourceIdentifier]
402
402
 
403
403
 
404
404
  class ListGroupResourcesOutput(TypedDict, total=False):
405
- Resources: Optional[ListGroupResourcesItemList]
406
- ResourceIdentifiers: Optional[ResourceIdentifierList]
407
- NextToken: Optional[NextToken]
408
- QueryErrors: Optional[QueryErrorList]
405
+ Resources: ListGroupResourcesItemList | None
406
+ ResourceIdentifiers: ResourceIdentifierList | None
407
+ NextToken: NextToken | None
408
+ QueryErrors: QueryErrorList | None
409
409
 
410
410
 
411
- ListGroupingStatusesFilterValues = List[ListGroupingStatusesFilterValue]
411
+ ListGroupingStatusesFilterValues = list[ListGroupingStatusesFilterValue]
412
412
 
413
413
 
414
414
  class ListGroupingStatusesFilter(TypedDict, total=False):
@@ -416,72 +416,72 @@ class ListGroupingStatusesFilter(TypedDict, total=False):
416
416
  Values: ListGroupingStatusesFilterValues
417
417
 
418
418
 
419
- ListGroupingStatusesFilterList = List[ListGroupingStatusesFilter]
419
+ ListGroupingStatusesFilterList = list[ListGroupingStatusesFilter]
420
420
 
421
421
 
422
422
  class ListGroupingStatusesInput(ServiceRequest):
423
423
  Group: GroupStringV2
424
- MaxResults: Optional[MaxResults]
425
- Filters: Optional[ListGroupingStatusesFilterList]
426
- NextToken: Optional[NextToken]
424
+ MaxResults: MaxResults | None
425
+ Filters: ListGroupingStatusesFilterList | None
426
+ NextToken: NextToken | None
427
427
 
428
428
 
429
429
  class ListGroupingStatusesOutput(TypedDict, total=False):
430
- Group: Optional[GroupStringV2]
431
- GroupingStatuses: Optional[GroupingStatusesList]
432
- NextToken: Optional[NextToken]
430
+ Group: GroupStringV2 | None
431
+ GroupingStatuses: GroupingStatusesList | None
432
+ NextToken: NextToken | None
433
433
 
434
434
 
435
435
  class ListGroupsInput(ServiceRequest):
436
- Filters: Optional[GroupFilterList]
437
- MaxResults: Optional[MaxResults]
438
- NextToken: Optional[NextToken]
436
+ Filters: GroupFilterList | None
437
+ MaxResults: MaxResults | None
438
+ NextToken: NextToken | None
439
439
 
440
440
 
441
441
  class ListGroupsOutput(TypedDict, total=False):
442
- GroupIdentifiers: Optional[GroupIdentifierList]
443
- Groups: Optional[GroupList]
444
- NextToken: Optional[NextToken]
442
+ GroupIdentifiers: GroupIdentifierList | None
443
+ Groups: GroupList | None
444
+ NextToken: NextToken | None
445
445
 
446
446
 
447
447
  class ListTagSyncTasksFilter(TypedDict, total=False):
448
- GroupArn: Optional[GroupArnV2]
449
- GroupName: Optional[GroupName]
448
+ GroupArn: GroupArnV2 | None
449
+ GroupName: GroupName | None
450
450
 
451
451
 
452
- ListTagSyncTasksFilterList = List[ListTagSyncTasksFilter]
452
+ ListTagSyncTasksFilterList = list[ListTagSyncTasksFilter]
453
453
 
454
454
 
455
455
  class ListTagSyncTasksInput(ServiceRequest):
456
- Filters: Optional[ListTagSyncTasksFilterList]
457
- MaxResults: Optional[MaxResults]
458
- NextToken: Optional[NextToken]
456
+ Filters: ListTagSyncTasksFilterList | None
457
+ MaxResults: MaxResults | None
458
+ NextToken: NextToken | None
459
459
 
460
460
 
461
461
  class TagSyncTaskItem(TypedDict, total=False):
462
- GroupArn: Optional[GroupArnV2]
463
- GroupName: Optional[GroupName]
464
- TaskArn: Optional[TagSyncTaskArn]
465
- TagKey: Optional[TagKey]
466
- TagValue: Optional[TagValue]
467
- ResourceQuery: Optional[ResourceQuery]
468
- RoleArn: Optional[RoleArn]
469
- Status: Optional[TagSyncTaskStatus]
470
- ErrorMessage: Optional[ErrorMessage]
471
- CreatedAt: Optional[timestamp]
462
+ GroupArn: GroupArnV2 | None
463
+ GroupName: GroupName | None
464
+ TaskArn: TagSyncTaskArn | None
465
+ TagKey: TagKey | None
466
+ TagValue: TagValue | None
467
+ ResourceQuery: ResourceQuery | None
468
+ RoleArn: RoleArn | None
469
+ Status: TagSyncTaskStatus | None
470
+ ErrorMessage: ErrorMessage | None
471
+ CreatedAt: timestamp | None
472
472
 
473
473
 
474
- TagSyncTaskList = List[TagSyncTaskItem]
474
+ TagSyncTaskList = list[TagSyncTaskItem]
475
475
 
476
476
 
477
477
  class ListTagSyncTasksOutput(TypedDict, total=False):
478
- TagSyncTasks: Optional[TagSyncTaskList]
479
- NextToken: Optional[NextToken]
478
+ TagSyncTasks: TagSyncTaskList | None
479
+ NextToken: NextToken | None
480
480
 
481
481
 
482
482
  class PutGroupConfigurationInput(ServiceRequest):
483
- Group: Optional[GroupString]
484
- Configuration: Optional[GroupConfigurationList]
483
+ Group: GroupString | None
484
+ Configuration: GroupConfigurationList | None
485
485
 
486
486
 
487
487
  class PutGroupConfigurationOutput(TypedDict, total=False):
@@ -490,32 +490,32 @@ class PutGroupConfigurationOutput(TypedDict, total=False):
490
490
 
491
491
  class SearchResourcesInput(ServiceRequest):
492
492
  ResourceQuery: ResourceQuery
493
- MaxResults: Optional[MaxResults]
494
- NextToken: Optional[NextToken]
493
+ MaxResults: MaxResults | None
494
+ NextToken: NextToken | None
495
495
 
496
496
 
497
497
  class SearchResourcesOutput(TypedDict, total=False):
498
- ResourceIdentifiers: Optional[ResourceIdentifierList]
499
- NextToken: Optional[NextToken]
500
- QueryErrors: Optional[QueryErrorList]
498
+ ResourceIdentifiers: ResourceIdentifierList | None
499
+ NextToken: NextToken | None
500
+ QueryErrors: QueryErrorList | None
501
501
 
502
502
 
503
503
  class StartTagSyncTaskInput(ServiceRequest):
504
504
  Group: GroupStringV2
505
- TagKey: Optional[TagKey]
506
- TagValue: Optional[TagValue]
507
- ResourceQuery: Optional[ResourceQuery]
505
+ TagKey: TagKey | None
506
+ TagValue: TagValue | None
507
+ ResourceQuery: ResourceQuery | None
508
508
  RoleArn: RoleArn
509
509
 
510
510
 
511
511
  class StartTagSyncTaskOutput(TypedDict, total=False):
512
- GroupArn: Optional[GroupArnV2]
513
- GroupName: Optional[GroupName]
514
- TaskArn: Optional[TagSyncTaskArn]
515
- TagKey: Optional[TagKey]
516
- TagValue: Optional[TagValue]
517
- ResourceQuery: Optional[ResourceQuery]
518
- RoleArn: Optional[RoleArn]
512
+ GroupArn: GroupArnV2 | None
513
+ GroupName: GroupName | None
514
+ TaskArn: TagSyncTaskArn | None
515
+ TagKey: TagKey | None
516
+ TagValue: TagValue | None
517
+ ResourceQuery: ResourceQuery | None
518
+ RoleArn: RoleArn | None
519
519
 
520
520
 
521
521
  class TagInput(ServiceRequest):
@@ -523,12 +523,12 @@ class TagInput(ServiceRequest):
523
523
  Tags: Tags
524
524
 
525
525
 
526
- TagKeyList = List[TagKey]
526
+ TagKeyList = list[TagKey]
527
527
 
528
528
 
529
529
  class TagOutput(TypedDict, total=False):
530
- Arn: Optional[GroupArnV2]
531
- Tags: Optional[Tags]
530
+ Arn: GroupArnV2 | None
531
+ Tags: Tags | None
532
532
 
533
533
 
534
534
  class UngroupResourcesInput(ServiceRequest):
@@ -537,9 +537,9 @@ class UngroupResourcesInput(ServiceRequest):
537
537
 
538
538
 
539
539
  class UngroupResourcesOutput(TypedDict, total=False):
540
- Succeeded: Optional[ResourceArnList]
541
- Failed: Optional[FailedResourceList]
542
- Pending: Optional[PendingResourceList]
540
+ Succeeded: ResourceArnList | None
541
+ Failed: FailedResourceList | None
542
+ Pending: PendingResourceList | None
543
543
 
544
544
 
545
545
  class UntagInput(ServiceRequest):
@@ -548,44 +548,44 @@ class UntagInput(ServiceRequest):
548
548
 
549
549
 
550
550
  class UntagOutput(TypedDict, total=False):
551
- Arn: Optional[GroupArnV2]
552
- Keys: Optional[TagKeyList]
551
+ Arn: GroupArnV2 | None
552
+ Keys: TagKeyList | None
553
553
 
554
554
 
555
555
  class UpdateAccountSettingsInput(ServiceRequest):
556
- GroupLifecycleEventsDesiredStatus: Optional[GroupLifecycleEventsDesiredStatus]
556
+ GroupLifecycleEventsDesiredStatus: GroupLifecycleEventsDesiredStatus | None
557
557
 
558
558
 
559
559
  class UpdateAccountSettingsOutput(TypedDict, total=False):
560
- AccountSettings: Optional[AccountSettings]
560
+ AccountSettings: AccountSettings | None
561
561
 
562
562
 
563
563
  class UpdateGroupInput(ServiceRequest):
564
- GroupName: Optional[GroupName]
565
- Group: Optional[GroupStringV2]
566
- Description: Optional[Description]
567
- Criticality: Optional[Criticality]
568
- Owner: Optional[Owner]
569
- DisplayName: Optional[DisplayName]
564
+ GroupName: GroupName | None
565
+ Group: GroupStringV2 | None
566
+ Description: Description | None
567
+ Criticality: Criticality | None
568
+ Owner: Owner | None
569
+ DisplayName: DisplayName | None
570
570
 
571
571
 
572
572
  class UpdateGroupOutput(TypedDict, total=False):
573
- Group: Optional[Group]
573
+ Group: Group | None
574
574
 
575
575
 
576
576
  class UpdateGroupQueryInput(ServiceRequest):
577
- GroupName: Optional[GroupName]
578
- Group: Optional[GroupString]
577
+ GroupName: GroupName | None
578
+ Group: GroupString | None
579
579
  ResourceQuery: ResourceQuery
580
580
 
581
581
 
582
582
  class UpdateGroupQueryOutput(TypedDict, total=False):
583
- GroupQuery: Optional[GroupQuery]
583
+ GroupQuery: GroupQuery | None
584
584
 
585
585
 
586
586
  class ResourceGroupsApi:
587
- service = "resource-groups"
588
- version = "2017-11-27"
587
+ service: str = "resource-groups"
588
+ version: str = "2017-11-27"
589
589
 
590
590
  @handler("CancelTagSyncTask")
591
591
  def cancel_tag_sync_task(