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
 
@@ -16,7 +16,10 @@ AlarmRule = str
16
16
  AmazonResourceName = str
17
17
  AnomalyDetectorMetricStat = str
18
18
  AnomalyDetectorMetricTimezone = str
19
+ AttributeName = str
20
+ AttributeValue = str
19
21
  AwsQueryErrorMessage = str
22
+ ContributorId = str
20
23
  DashboardArn = str
21
24
  DashboardBody = str
22
25
  DashboardErrorMessage = str
@@ -136,6 +139,8 @@ class HistoryItemType(StrEnum):
136
139
  ConfigurationUpdate = "ConfigurationUpdate"
137
140
  StateUpdate = "StateUpdate"
138
141
  Action = "Action"
142
+ AlarmContributorStateUpdate = "AlarmContributorStateUpdate"
143
+ AlarmContributorAction = "AlarmContributorAction"
139
144
 
140
145
 
141
146
  class MetricStreamOutputFormat(StrEnum):
@@ -213,22 +218,22 @@ class ConcurrentModificationException(ServiceException):
213
218
  class ConflictException(ServiceException):
214
219
  code: str = "ConflictException"
215
220
  sender_fault: bool = False
216
- status_code: int = 400
221
+ status_code: int = 409
217
222
 
218
223
 
219
224
  class DashboardValidationMessage(TypedDict, total=False):
220
- DataPath: Optional[DataPath]
221
- Message: Optional[Message]
225
+ DataPath: DataPath | None
226
+ Message: Message | None
222
227
 
223
228
 
224
- DashboardValidationMessages = List[DashboardValidationMessage]
229
+ DashboardValidationMessages = list[DashboardValidationMessage]
225
230
 
226
231
 
227
232
  class DashboardInvalidInputError(ServiceException):
228
233
  code: str = "InvalidParameterInput"
229
234
  sender_fault: bool = True
230
235
  status_code: int = 400
231
- dashboardValidationMessages: Optional[DashboardValidationMessages]
236
+ dashboardValidationMessages: DashboardValidationMessages | None
232
237
 
233
238
 
234
239
  class DashboardNotFoundError(ServiceException):
@@ -295,25 +300,38 @@ class ResourceNotFoundException(ServiceException):
295
300
  code: str = "ResourceNotFoundException"
296
301
  sender_fault: bool = True
297
302
  status_code: int = 404
298
- ResourceType: Optional[ResourceType]
299
- ResourceId: Optional[ResourceId]
303
+ ResourceType: ResourceType | None
304
+ ResourceId: ResourceId | None
300
305
 
301
306
 
302
307
  Timestamp = datetime
308
+ ContributorAttributes = dict[AttributeName, AttributeValue]
309
+
310
+
311
+ class AlarmContributor(TypedDict, total=False):
312
+ ContributorId: ContributorId
313
+ ContributorAttributes: ContributorAttributes
314
+ StateReason: StateReason
315
+ StateTransitionedTimestamp: Timestamp | None
316
+
317
+
318
+ AlarmContributors = list[AlarmContributor]
303
319
 
304
320
 
305
321
  class AlarmHistoryItem(TypedDict, total=False):
306
- AlarmName: Optional[AlarmName]
307
- AlarmType: Optional[AlarmType]
308
- Timestamp: Optional[Timestamp]
309
- HistoryItemType: Optional[HistoryItemType]
310
- HistorySummary: Optional[HistorySummary]
311
- HistoryData: Optional[HistoryData]
322
+ AlarmName: AlarmName | None
323
+ AlarmContributorId: ContributorId | None
324
+ AlarmType: AlarmType | None
325
+ Timestamp: Timestamp | None
326
+ HistoryItemType: HistoryItemType | None
327
+ HistorySummary: HistorySummary | None
328
+ HistoryData: HistoryData | None
329
+ AlarmContributorAttributes: ContributorAttributes | None
312
330
 
313
331
 
314
- AlarmHistoryItems = List[AlarmHistoryItem]
315
- AlarmNames = List[AlarmName]
316
- AlarmTypes = List[AlarmType]
332
+ AlarmHistoryItems = list[AlarmHistoryItem]
333
+ AlarmNames = list[AlarmName]
334
+ AlarmTypes = list[AlarmType]
317
335
 
318
336
 
319
337
  class Dimension(TypedDict, total=False):
@@ -321,49 +339,49 @@ class Dimension(TypedDict, total=False):
321
339
  Value: DimensionValue
322
340
 
323
341
 
324
- Dimensions = List[Dimension]
342
+ Dimensions = list[Dimension]
325
343
 
326
344
 
327
345
  class Metric(TypedDict, total=False):
328
- Namespace: Optional[Namespace]
329
- MetricName: Optional[MetricName]
330
- Dimensions: Optional[Dimensions]
346
+ Namespace: Namespace | None
347
+ MetricName: MetricName | None
348
+ Dimensions: Dimensions | None
331
349
 
332
350
 
333
351
  class MetricStat(TypedDict, total=False):
334
352
  Metric: Metric
335
353
  Period: Period
336
354
  Stat: Stat
337
- Unit: Optional[StandardUnit]
355
+ Unit: StandardUnit | None
338
356
 
339
357
 
340
358
  class MetricDataQuery(TypedDict, total=False):
341
359
  Id: MetricId
342
- MetricStat: Optional[MetricStat]
343
- Expression: Optional[MetricExpression]
344
- Label: Optional[MetricLabel]
345
- ReturnData: Optional[ReturnData]
346
- Period: Optional[Period]
347
- AccountId: Optional[AccountId]
360
+ MetricStat: MetricStat | None
361
+ Expression: MetricExpression | None
362
+ Label: MetricLabel | None
363
+ ReturnData: ReturnData | None
364
+ Period: Period | None
365
+ AccountId: AccountId | None
348
366
 
349
367
 
350
- MetricDataQueries = List[MetricDataQuery]
368
+ MetricDataQueries = list[MetricDataQuery]
351
369
 
352
370
 
353
371
  class MetricMathAnomalyDetector(TypedDict, total=False):
354
- MetricDataQueries: Optional[MetricDataQueries]
372
+ MetricDataQueries: MetricDataQueries | None
355
373
 
356
374
 
357
375
  class SingleMetricAnomalyDetector(TypedDict, total=False):
358
- AccountId: Optional[AccountId]
359
- Namespace: Optional[Namespace]
360
- MetricName: Optional[MetricName]
361
- Dimensions: Optional[Dimensions]
362
- Stat: Optional[AnomalyDetectorMetricStat]
376
+ AccountId: AccountId | None
377
+ Namespace: Namespace | None
378
+ MetricName: MetricName | None
379
+ Dimensions: Dimensions | None
380
+ Stat: AnomalyDetectorMetricStat | None
363
381
 
364
382
 
365
383
  class MetricCharacteristics(TypedDict, total=False):
366
- PeriodicSpikes: Optional[PeriodicSpikes]
384
+ PeriodicSpikes: PeriodicSpikes | None
367
385
 
368
386
 
369
387
  class Range(TypedDict, total=False):
@@ -371,94 +389,94 @@ class Range(TypedDict, total=False):
371
389
  EndTime: Timestamp
372
390
 
373
391
 
374
- AnomalyDetectorExcludedTimeRanges = List[Range]
392
+ AnomalyDetectorExcludedTimeRanges = list[Range]
375
393
 
376
394
 
377
395
  class AnomalyDetectorConfiguration(TypedDict, total=False):
378
- ExcludedTimeRanges: Optional[AnomalyDetectorExcludedTimeRanges]
379
- MetricTimezone: Optional[AnomalyDetectorMetricTimezone]
396
+ ExcludedTimeRanges: AnomalyDetectorExcludedTimeRanges | None
397
+ MetricTimezone: AnomalyDetectorMetricTimezone | None
380
398
 
381
399
 
382
400
  class AnomalyDetector(TypedDict, total=False):
383
- Namespace: Optional[Namespace]
384
- MetricName: Optional[MetricName]
385
- Dimensions: Optional[Dimensions]
386
- Stat: Optional[AnomalyDetectorMetricStat]
387
- Configuration: Optional[AnomalyDetectorConfiguration]
388
- StateValue: Optional[AnomalyDetectorStateValue]
389
- MetricCharacteristics: Optional[MetricCharacteristics]
390
- SingleMetricAnomalyDetector: Optional[SingleMetricAnomalyDetector]
391
- MetricMathAnomalyDetector: Optional[MetricMathAnomalyDetector]
401
+ Namespace: Namespace | None
402
+ MetricName: MetricName | None
403
+ Dimensions: Dimensions | None
404
+ Stat: AnomalyDetectorMetricStat | None
405
+ Configuration: AnomalyDetectorConfiguration | None
406
+ StateValue: AnomalyDetectorStateValue | None
407
+ MetricCharacteristics: MetricCharacteristics | None
408
+ SingleMetricAnomalyDetector: SingleMetricAnomalyDetector | None
409
+ MetricMathAnomalyDetector: MetricMathAnomalyDetector | None
392
410
 
393
411
 
394
- AnomalyDetectorTypes = List[AnomalyDetectorType]
395
- AnomalyDetectors = List[AnomalyDetector]
412
+ AnomalyDetectorTypes = list[AnomalyDetectorType]
413
+ AnomalyDetectors = list[AnomalyDetector]
396
414
 
397
415
 
398
416
  class PartialFailure(TypedDict, total=False):
399
- FailureResource: Optional[FailureResource]
400
- ExceptionType: Optional[ExceptionType]
401
- FailureCode: Optional[FailureCode]
402
- FailureDescription: Optional[FailureDescription]
417
+ FailureResource: FailureResource | None
418
+ ExceptionType: ExceptionType | None
419
+ FailureCode: FailureCode | None
420
+ FailureDescription: FailureDescription | None
403
421
 
404
422
 
405
- BatchFailures = List[PartialFailure]
406
- ResourceList = List[ResourceName]
423
+ BatchFailures = list[PartialFailure]
424
+ ResourceList = list[ResourceName]
407
425
 
408
426
 
409
427
  class CompositeAlarm(TypedDict, total=False):
410
- ActionsEnabled: Optional[ActionsEnabled]
411
- AlarmActions: Optional[ResourceList]
412
- AlarmArn: Optional[AlarmArn]
413
- AlarmConfigurationUpdatedTimestamp: Optional[Timestamp]
414
- AlarmDescription: Optional[AlarmDescription]
415
- AlarmName: Optional[AlarmName]
416
- AlarmRule: Optional[AlarmRule]
417
- InsufficientDataActions: Optional[ResourceList]
418
- OKActions: Optional[ResourceList]
419
- StateReason: Optional[StateReason]
420
- StateReasonData: Optional[StateReasonData]
421
- StateUpdatedTimestamp: Optional[Timestamp]
422
- StateValue: Optional[StateValue]
423
- StateTransitionedTimestamp: Optional[Timestamp]
424
- ActionsSuppressedBy: Optional[ActionsSuppressedBy]
425
- ActionsSuppressedReason: Optional[ActionsSuppressedReason]
426
- ActionsSuppressor: Optional[AlarmArn]
427
- ActionsSuppressorWaitPeriod: Optional[SuppressorPeriod]
428
- ActionsSuppressorExtensionPeriod: Optional[SuppressorPeriod]
429
-
430
-
431
- CompositeAlarms = List[CompositeAlarm]
432
- Counts = List[DatapointValue]
428
+ ActionsEnabled: ActionsEnabled | None
429
+ AlarmActions: ResourceList | None
430
+ AlarmArn: AlarmArn | None
431
+ AlarmConfigurationUpdatedTimestamp: Timestamp | None
432
+ AlarmDescription: AlarmDescription | None
433
+ AlarmName: AlarmName | None
434
+ AlarmRule: AlarmRule | None
435
+ InsufficientDataActions: ResourceList | None
436
+ OKActions: ResourceList | None
437
+ StateReason: StateReason | None
438
+ StateReasonData: StateReasonData | None
439
+ StateUpdatedTimestamp: Timestamp | None
440
+ StateValue: StateValue | None
441
+ StateTransitionedTimestamp: Timestamp | None
442
+ ActionsSuppressedBy: ActionsSuppressedBy | None
443
+ ActionsSuppressedReason: ActionsSuppressedReason | None
444
+ ActionsSuppressor: AlarmArn | None
445
+ ActionsSuppressorWaitPeriod: SuppressorPeriod | None
446
+ ActionsSuppressorExtensionPeriod: SuppressorPeriod | None
447
+
448
+
449
+ CompositeAlarms = list[CompositeAlarm]
450
+ Counts = list[DatapointValue]
433
451
  Size = int
434
452
  LastModified = datetime
435
453
 
436
454
 
437
455
  class DashboardEntry(TypedDict, total=False):
438
- DashboardName: Optional[DashboardName]
439
- DashboardArn: Optional[DashboardArn]
440
- LastModified: Optional[LastModified]
441
- Size: Optional[Size]
456
+ DashboardName: DashboardName | None
457
+ DashboardArn: DashboardArn | None
458
+ LastModified: LastModified | None
459
+ Size: Size | None
442
460
 
443
461
 
444
- DashboardEntries = List[DashboardEntry]
445
- DashboardNames = List[DashboardName]
446
- DatapointValueMap = Dict[ExtendedStatistic, DatapointValue]
462
+ DashboardEntries = list[DashboardEntry]
463
+ DashboardNames = list[DashboardName]
464
+ DatapointValueMap = dict[ExtendedStatistic, DatapointValue]
447
465
 
448
466
 
449
467
  class Datapoint(TypedDict, total=False):
450
- Timestamp: Optional[Timestamp]
451
- SampleCount: Optional[DatapointValue]
452
- Average: Optional[DatapointValue]
453
- Sum: Optional[DatapointValue]
454
- Minimum: Optional[DatapointValue]
455
- Maximum: Optional[DatapointValue]
456
- Unit: Optional[StandardUnit]
457
- ExtendedStatistics: Optional[DatapointValueMap]
468
+ Timestamp: Timestamp | None
469
+ SampleCount: DatapointValue | None
470
+ Average: DatapointValue | None
471
+ Sum: DatapointValue | None
472
+ Minimum: DatapointValue | None
473
+ Maximum: DatapointValue | None
474
+ Unit: StandardUnit | None
475
+ ExtendedStatistics: DatapointValueMap | None
458
476
 
459
477
 
460
- DatapointValues = List[DatapointValue]
461
- Datapoints = List[Datapoint]
478
+ DatapointValues = list[DatapointValue]
479
+ Datapoints = list[Datapoint]
462
480
 
463
481
 
464
482
  class DeleteAlarmsInput(ServiceRequest):
@@ -466,12 +484,12 @@ class DeleteAlarmsInput(ServiceRequest):
466
484
 
467
485
 
468
486
  class DeleteAnomalyDetectorInput(ServiceRequest):
469
- Namespace: Optional[Namespace]
470
- MetricName: Optional[MetricName]
471
- Dimensions: Optional[Dimensions]
472
- Stat: Optional[AnomalyDetectorMetricStat]
473
- SingleMetricAnomalyDetector: Optional[SingleMetricAnomalyDetector]
474
- MetricMathAnomalyDetector: Optional[MetricMathAnomalyDetector]
487
+ Namespace: Namespace | None
488
+ MetricName: MetricName | None
489
+ Dimensions: Dimensions | None
490
+ Stat: AnomalyDetectorMetricStat | None
491
+ SingleMetricAnomalyDetector: SingleMetricAnomalyDetector | None
492
+ MetricMathAnomalyDetector: MetricMathAnomalyDetector | None
475
493
 
476
494
 
477
495
  class DeleteAnomalyDetectorOutput(TypedDict, total=False):
@@ -486,7 +504,7 @@ class DeleteDashboardsOutput(TypedDict, total=False):
486
504
  pass
487
505
 
488
506
 
489
- InsightRuleNames = List[InsightRuleName]
507
+ InsightRuleNames = list[InsightRuleName]
490
508
 
491
509
 
492
510
  class DeleteInsightRulesInput(ServiceRequest):
@@ -494,7 +512,7 @@ class DeleteInsightRulesInput(ServiceRequest):
494
512
 
495
513
 
496
514
  class DeleteInsightRulesOutput(TypedDict, total=False):
497
- Failures: Optional[BatchFailures]
515
+ Failures: BatchFailures | None
498
516
 
499
517
 
500
518
  class DeleteMetricStreamInput(ServiceRequest):
@@ -505,106 +523,117 @@ class DeleteMetricStreamOutput(TypedDict, total=False):
505
523
  pass
506
524
 
507
525
 
526
+ class DescribeAlarmContributorsInput(ServiceRequest):
527
+ AlarmName: AlarmName
528
+ NextToken: NextToken | None
529
+
530
+
531
+ class DescribeAlarmContributorsOutput(TypedDict, total=False):
532
+ AlarmContributors: AlarmContributors
533
+ NextToken: NextToken | None
534
+
535
+
508
536
  class DescribeAlarmHistoryInput(ServiceRequest):
509
- AlarmName: Optional[AlarmName]
510
- AlarmTypes: Optional[AlarmTypes]
511
- HistoryItemType: Optional[HistoryItemType]
512
- StartDate: Optional[Timestamp]
513
- EndDate: Optional[Timestamp]
514
- MaxRecords: Optional[MaxRecords]
515
- NextToken: Optional[NextToken]
516
- ScanBy: Optional[ScanBy]
537
+ AlarmName: AlarmName | None
538
+ AlarmContributorId: ContributorId | None
539
+ AlarmTypes: AlarmTypes | None
540
+ HistoryItemType: HistoryItemType | None
541
+ StartDate: Timestamp | None
542
+ EndDate: Timestamp | None
543
+ MaxRecords: MaxRecords | None
544
+ NextToken: NextToken | None
545
+ ScanBy: ScanBy | None
517
546
 
518
547
 
519
548
  class DescribeAlarmHistoryOutput(TypedDict, total=False):
520
- AlarmHistoryItems: Optional[AlarmHistoryItems]
521
- NextToken: Optional[NextToken]
549
+ AlarmHistoryItems: AlarmHistoryItems | None
550
+ NextToken: NextToken | None
522
551
 
523
552
 
524
553
  class DescribeAlarmsForMetricInput(ServiceRequest):
525
554
  MetricName: MetricName
526
555
  Namespace: Namespace
527
- Statistic: Optional[Statistic]
528
- ExtendedStatistic: Optional[ExtendedStatistic]
529
- Dimensions: Optional[Dimensions]
530
- Period: Optional[Period]
531
- Unit: Optional[StandardUnit]
556
+ Statistic: Statistic | None
557
+ ExtendedStatistic: ExtendedStatistic | None
558
+ Dimensions: Dimensions | None
559
+ Period: Period | None
560
+ Unit: StandardUnit | None
532
561
 
533
562
 
534
563
  class MetricAlarm(TypedDict, total=False):
535
- AlarmName: Optional[AlarmName]
536
- AlarmArn: Optional[AlarmArn]
537
- AlarmDescription: Optional[AlarmDescription]
538
- AlarmConfigurationUpdatedTimestamp: Optional[Timestamp]
539
- ActionsEnabled: Optional[ActionsEnabled]
540
- OKActions: Optional[ResourceList]
541
- AlarmActions: Optional[ResourceList]
542
- InsufficientDataActions: Optional[ResourceList]
543
- StateValue: Optional[StateValue]
544
- StateReason: Optional[StateReason]
545
- StateReasonData: Optional[StateReasonData]
546
- StateUpdatedTimestamp: Optional[Timestamp]
547
- MetricName: Optional[MetricName]
548
- Namespace: Optional[Namespace]
549
- Statistic: Optional[Statistic]
550
- ExtendedStatistic: Optional[ExtendedStatistic]
551
- Dimensions: Optional[Dimensions]
552
- Period: Optional[Period]
553
- Unit: Optional[StandardUnit]
554
- EvaluationPeriods: Optional[EvaluationPeriods]
555
- DatapointsToAlarm: Optional[DatapointsToAlarm]
556
- Threshold: Optional[Threshold]
557
- ComparisonOperator: Optional[ComparisonOperator]
558
- TreatMissingData: Optional[TreatMissingData]
559
- EvaluateLowSampleCountPercentile: Optional[EvaluateLowSampleCountPercentile]
560
- Metrics: Optional[MetricDataQueries]
561
- ThresholdMetricId: Optional[MetricId]
562
- EvaluationState: Optional[EvaluationState]
563
- StateTransitionedTimestamp: Optional[Timestamp]
564
-
565
-
566
- MetricAlarms = List[MetricAlarm]
564
+ AlarmName: AlarmName | None
565
+ AlarmArn: AlarmArn | None
566
+ AlarmDescription: AlarmDescription | None
567
+ AlarmConfigurationUpdatedTimestamp: Timestamp | None
568
+ ActionsEnabled: ActionsEnabled | None
569
+ OKActions: ResourceList | None
570
+ AlarmActions: ResourceList | None
571
+ InsufficientDataActions: ResourceList | None
572
+ StateValue: StateValue | None
573
+ StateReason: StateReason | None
574
+ StateReasonData: StateReasonData | None
575
+ StateUpdatedTimestamp: Timestamp | None
576
+ MetricName: MetricName | None
577
+ Namespace: Namespace | None
578
+ Statistic: Statistic | None
579
+ ExtendedStatistic: ExtendedStatistic | None
580
+ Dimensions: Dimensions | None
581
+ Period: Period | None
582
+ Unit: StandardUnit | None
583
+ EvaluationPeriods: EvaluationPeriods | None
584
+ DatapointsToAlarm: DatapointsToAlarm | None
585
+ Threshold: Threshold | None
586
+ ComparisonOperator: ComparisonOperator | None
587
+ TreatMissingData: TreatMissingData | None
588
+ EvaluateLowSampleCountPercentile: EvaluateLowSampleCountPercentile | None
589
+ Metrics: MetricDataQueries | None
590
+ ThresholdMetricId: MetricId | None
591
+ EvaluationState: EvaluationState | None
592
+ StateTransitionedTimestamp: Timestamp | None
593
+
594
+
595
+ MetricAlarms = list[MetricAlarm]
567
596
 
568
597
 
569
598
  class DescribeAlarmsForMetricOutput(TypedDict, total=False):
570
- MetricAlarms: Optional[MetricAlarms]
599
+ MetricAlarms: MetricAlarms | None
571
600
 
572
601
 
573
602
  class DescribeAlarmsInput(ServiceRequest):
574
- AlarmNames: Optional[AlarmNames]
575
- AlarmNamePrefix: Optional[AlarmNamePrefix]
576
- AlarmTypes: Optional[AlarmTypes]
577
- ChildrenOfAlarmName: Optional[AlarmName]
578
- ParentsOfAlarmName: Optional[AlarmName]
579
- StateValue: Optional[StateValue]
580
- ActionPrefix: Optional[ActionPrefix]
581
- MaxRecords: Optional[MaxRecords]
582
- NextToken: Optional[NextToken]
603
+ AlarmNames: AlarmNames | None
604
+ AlarmNamePrefix: AlarmNamePrefix | None
605
+ AlarmTypes: AlarmTypes | None
606
+ ChildrenOfAlarmName: AlarmName | None
607
+ ParentsOfAlarmName: AlarmName | None
608
+ StateValue: StateValue | None
609
+ ActionPrefix: ActionPrefix | None
610
+ MaxRecords: MaxRecords | None
611
+ NextToken: NextToken | None
583
612
 
584
613
 
585
614
  class DescribeAlarmsOutput(TypedDict, total=False):
586
- CompositeAlarms: Optional[CompositeAlarms]
587
- MetricAlarms: Optional[MetricAlarms]
588
- NextToken: Optional[NextToken]
615
+ CompositeAlarms: CompositeAlarms | None
616
+ MetricAlarms: MetricAlarms | None
617
+ NextToken: NextToken | None
589
618
 
590
619
 
591
620
  class DescribeAnomalyDetectorsInput(ServiceRequest):
592
- NextToken: Optional[NextToken]
593
- MaxResults: Optional[MaxReturnedResultsCount]
594
- Namespace: Optional[Namespace]
595
- MetricName: Optional[MetricName]
596
- Dimensions: Optional[Dimensions]
597
- AnomalyDetectorTypes: Optional[AnomalyDetectorTypes]
621
+ NextToken: NextToken | None
622
+ MaxResults: MaxReturnedResultsCount | None
623
+ Namespace: Namespace | None
624
+ MetricName: MetricName | None
625
+ Dimensions: Dimensions | None
626
+ AnomalyDetectorTypes: AnomalyDetectorTypes | None
598
627
 
599
628
 
600
629
  class DescribeAnomalyDetectorsOutput(TypedDict, total=False):
601
- AnomalyDetectors: Optional[AnomalyDetectors]
602
- NextToken: Optional[NextToken]
630
+ AnomalyDetectors: AnomalyDetectors | None
631
+ NextToken: NextToken | None
603
632
 
604
633
 
605
634
  class DescribeInsightRulesInput(ServiceRequest):
606
- NextToken: Optional[NextToken]
607
- MaxResults: Optional[InsightRuleMaxResults]
635
+ NextToken: NextToken | None
636
+ MaxResults: InsightRuleMaxResults | None
608
637
 
609
638
 
610
639
  class InsightRule(TypedDict, total=False):
@@ -612,24 +641,24 @@ class InsightRule(TypedDict, total=False):
612
641
  State: InsightRuleState
613
642
  Schema: InsightRuleSchema
614
643
  Definition: InsightRuleDefinition
615
- ManagedRule: Optional[InsightRuleIsManaged]
616
- ApplyOnTransformedLogs: Optional[InsightRuleOnTransformedLogs]
644
+ ManagedRule: InsightRuleIsManaged | None
645
+ ApplyOnTransformedLogs: InsightRuleOnTransformedLogs | None
617
646
 
618
647
 
619
- InsightRules = List[InsightRule]
648
+ InsightRules = list[InsightRule]
620
649
 
621
650
 
622
651
  class DescribeInsightRulesOutput(TypedDict, total=False):
623
- NextToken: Optional[NextToken]
624
- InsightRules: Optional[InsightRules]
652
+ NextToken: NextToken | None
653
+ InsightRules: InsightRules | None
625
654
 
626
655
 
627
656
  class DimensionFilter(TypedDict, total=False):
628
657
  Name: DimensionName
629
- Value: Optional[DimensionValue]
658
+ Value: DimensionValue | None
630
659
 
631
660
 
632
- DimensionFilters = List[DimensionFilter]
661
+ DimensionFilters = list[DimensionFilter]
633
662
 
634
663
 
635
664
  class DisableAlarmActionsInput(ServiceRequest):
@@ -641,7 +670,7 @@ class DisableInsightRulesInput(ServiceRequest):
641
670
 
642
671
 
643
672
  class DisableInsightRulesOutput(TypedDict, total=False):
644
- Failures: Optional[BatchFailures]
673
+ Failures: BatchFailures | None
645
674
 
646
675
 
647
676
  class EnableAlarmActionsInput(ServiceRequest):
@@ -653,19 +682,19 @@ class EnableInsightRulesInput(ServiceRequest):
653
682
 
654
683
 
655
684
  class EnableInsightRulesOutput(TypedDict, total=False):
656
- Failures: Optional[BatchFailures]
685
+ Failures: BatchFailures | None
657
686
 
658
687
 
659
- EntityAttributesMap = Dict[EntityAttributesMapKeyString, EntityAttributesMapValueString]
660
- EntityKeyAttributesMap = Dict[EntityKeyAttributesMapKeyString, EntityKeyAttributesMapValueString]
688
+ EntityAttributesMap = dict[EntityAttributesMapKeyString, EntityAttributesMapValueString]
689
+ EntityKeyAttributesMap = dict[EntityKeyAttributesMapKeyString, EntityKeyAttributesMapValueString]
661
690
 
662
691
 
663
692
  class Entity(TypedDict, total=False):
664
- KeyAttributes: Optional[EntityKeyAttributesMap]
665
- Attributes: Optional[EntityAttributesMap]
693
+ KeyAttributes: EntityKeyAttributesMap | None
694
+ Attributes: EntityAttributesMap | None
666
695
 
667
696
 
668
- Values = List[DatapointValue]
697
+ Values = list[DatapointValue]
669
698
 
670
699
 
671
700
  class StatisticSet(TypedDict, total=False):
@@ -677,26 +706,26 @@ class StatisticSet(TypedDict, total=False):
677
706
 
678
707
  class MetricDatum(TypedDict, total=False):
679
708
  MetricName: MetricName
680
- Dimensions: Optional[Dimensions]
681
- Timestamp: Optional[Timestamp]
682
- Value: Optional[DatapointValue]
683
- StatisticValues: Optional[StatisticSet]
684
- Values: Optional[Values]
685
- Counts: Optional[Counts]
686
- Unit: Optional[StandardUnit]
687
- StorageResolution: Optional[StorageResolution]
709
+ Dimensions: Dimensions | None
710
+ Timestamp: Timestamp | None
711
+ Value: DatapointValue | None
712
+ StatisticValues: StatisticSet | None
713
+ Values: Values | None
714
+ Counts: Counts | None
715
+ Unit: StandardUnit | None
716
+ StorageResolution: StorageResolution | None
688
717
 
689
718
 
690
- MetricData = List[MetricDatum]
719
+ MetricData = list[MetricDatum]
691
720
 
692
721
 
693
722
  class EntityMetricData(TypedDict, total=False):
694
- Entity: Optional[Entity]
695
- MetricData: Optional[MetricData]
723
+ Entity: Entity | None
724
+ MetricData: MetricData | None
696
725
 
697
726
 
698
- EntityMetricDataList = List[EntityMetricData]
699
- ExtendedStatistics = List[ExtendedStatistic]
727
+ EntityMetricDataList = list[EntityMetricData]
728
+ ExtendedStatistics = list[ExtendedStatistic]
700
729
 
701
730
 
702
731
  class GetDashboardInput(ServiceRequest):
@@ -704,12 +733,12 @@ class GetDashboardInput(ServiceRequest):
704
733
 
705
734
 
706
735
  class GetDashboardOutput(TypedDict, total=False):
707
- DashboardArn: Optional[DashboardArn]
708
- DashboardBody: Optional[DashboardBody]
709
- DashboardName: Optional[DashboardName]
736
+ DashboardArn: DashboardArn | None
737
+ DashboardBody: DashboardBody | None
738
+ DashboardName: DashboardName | None
710
739
 
711
740
 
712
- InsightRuleMetricList = List[InsightRuleMetricName]
741
+ InsightRuleMetricList = list[InsightRuleMetricName]
713
742
 
714
743
 
715
744
  class GetInsightRuleReportInput(ServiceRequest):
@@ -717,23 +746,23 @@ class GetInsightRuleReportInput(ServiceRequest):
717
746
  StartTime: Timestamp
718
747
  EndTime: Timestamp
719
748
  Period: Period
720
- MaxContributorCount: Optional[InsightRuleUnboundInteger]
721
- Metrics: Optional[InsightRuleMetricList]
722
- OrderBy: Optional[InsightRuleOrderBy]
749
+ MaxContributorCount: InsightRuleUnboundInteger | None
750
+ Metrics: InsightRuleMetricList | None
751
+ OrderBy: InsightRuleOrderBy | None
723
752
 
724
753
 
725
754
  class InsightRuleMetricDatapoint(TypedDict, total=False):
726
755
  Timestamp: Timestamp
727
- UniqueContributors: Optional[InsightRuleUnboundDouble]
728
- MaxContributorValue: Optional[InsightRuleUnboundDouble]
729
- SampleCount: Optional[InsightRuleUnboundDouble]
730
- Average: Optional[InsightRuleUnboundDouble]
731
- Sum: Optional[InsightRuleUnboundDouble]
732
- Minimum: Optional[InsightRuleUnboundDouble]
733
- Maximum: Optional[InsightRuleUnboundDouble]
756
+ UniqueContributors: InsightRuleUnboundDouble | None
757
+ MaxContributorValue: InsightRuleUnboundDouble | None
758
+ SampleCount: InsightRuleUnboundDouble | None
759
+ Average: InsightRuleUnboundDouble | None
760
+ Sum: InsightRuleUnboundDouble | None
761
+ Minimum: InsightRuleUnboundDouble | None
762
+ Maximum: InsightRuleUnboundDouble | None
734
763
 
735
764
 
736
- InsightRuleMetricDatapoints = List[InsightRuleMetricDatapoint]
765
+ InsightRuleMetricDatapoints = list[InsightRuleMetricDatapoint]
737
766
 
738
767
 
739
768
  class InsightRuleContributorDatapoint(TypedDict, total=False):
@@ -741,8 +770,8 @@ class InsightRuleContributorDatapoint(TypedDict, total=False):
741
770
  ApproximateValue: InsightRuleUnboundDouble
742
771
 
743
772
 
744
- InsightRuleContributorDatapoints = List[InsightRuleContributorDatapoint]
745
- InsightRuleContributorKeys = List[InsightRuleContributorKey]
773
+ InsightRuleContributorDatapoints = list[InsightRuleContributorDatapoint]
774
+ InsightRuleContributorKeys = list[InsightRuleContributorKey]
746
775
 
747
776
 
748
777
  class InsightRuleContributor(TypedDict, total=False):
@@ -751,86 +780,86 @@ class InsightRuleContributor(TypedDict, total=False):
751
780
  Datapoints: InsightRuleContributorDatapoints
752
781
 
753
782
 
754
- InsightRuleContributors = List[InsightRuleContributor]
783
+ InsightRuleContributors = list[InsightRuleContributor]
755
784
  InsightRuleUnboundLong = int
756
- InsightRuleContributorKeyLabels = List[InsightRuleContributorKeyLabel]
785
+ InsightRuleContributorKeyLabels = list[InsightRuleContributorKeyLabel]
757
786
 
758
787
 
759
788
  class GetInsightRuleReportOutput(TypedDict, total=False):
760
- KeyLabels: Optional[InsightRuleContributorKeyLabels]
761
- AggregationStatistic: Optional[InsightRuleAggregationStatistic]
762
- AggregateValue: Optional[InsightRuleUnboundDouble]
763
- ApproximateUniqueCount: Optional[InsightRuleUnboundLong]
764
- Contributors: Optional[InsightRuleContributors]
765
- MetricDatapoints: Optional[InsightRuleMetricDatapoints]
789
+ KeyLabels: InsightRuleContributorKeyLabels | None
790
+ AggregationStatistic: InsightRuleAggregationStatistic | None
791
+ AggregateValue: InsightRuleUnboundDouble | None
792
+ ApproximateUniqueCount: InsightRuleUnboundLong | None
793
+ Contributors: InsightRuleContributors | None
794
+ MetricDatapoints: InsightRuleMetricDatapoints | None
766
795
 
767
796
 
768
797
  class LabelOptions(TypedDict, total=False):
769
- Timezone: Optional[GetMetricDataLabelTimezone]
798
+ Timezone: GetMetricDataLabelTimezone | None
770
799
 
771
800
 
772
801
  class GetMetricDataInput(ServiceRequest):
773
802
  MetricDataQueries: MetricDataQueries
774
803
  StartTime: Timestamp
775
804
  EndTime: Timestamp
776
- NextToken: Optional[NextToken]
777
- ScanBy: Optional[ScanBy]
778
- MaxDatapoints: Optional[GetMetricDataMaxDatapoints]
779
- LabelOptions: Optional[LabelOptions]
805
+ NextToken: NextToken | None
806
+ ScanBy: ScanBy | None
807
+ MaxDatapoints: GetMetricDataMaxDatapoints | None
808
+ LabelOptions: LabelOptions | None
780
809
 
781
810
 
782
811
  class MessageData(TypedDict, total=False):
783
- Code: Optional[MessageDataCode]
784
- Value: Optional[MessageDataValue]
812
+ Code: MessageDataCode | None
813
+ Value: MessageDataValue | None
785
814
 
786
815
 
787
- MetricDataResultMessages = List[MessageData]
788
- Timestamps = List[Timestamp]
816
+ MetricDataResultMessages = list[MessageData]
817
+ Timestamps = list[Timestamp]
789
818
 
790
819
 
791
820
  class MetricDataResult(TypedDict, total=False):
792
- Id: Optional[MetricId]
793
- Label: Optional[MetricLabel]
794
- Timestamps: Optional[Timestamps]
795
- Values: Optional[DatapointValues]
796
- StatusCode: Optional[StatusCode]
797
- Messages: Optional[MetricDataResultMessages]
821
+ Id: MetricId | None
822
+ Label: MetricLabel | None
823
+ Timestamps: Timestamps | None
824
+ Values: DatapointValues | None
825
+ StatusCode: StatusCode | None
826
+ Messages: MetricDataResultMessages | None
798
827
 
799
828
 
800
- MetricDataResults = List[MetricDataResult]
829
+ MetricDataResults = list[MetricDataResult]
801
830
 
802
831
 
803
832
  class GetMetricDataOutput(TypedDict, total=False):
804
- MetricDataResults: Optional[MetricDataResults]
805
- NextToken: Optional[NextToken]
806
- Messages: Optional[MetricDataResultMessages]
833
+ MetricDataResults: MetricDataResults | None
834
+ NextToken: NextToken | None
835
+ Messages: MetricDataResultMessages | None
807
836
 
808
837
 
809
- Statistics = List[Statistic]
838
+ Statistics = list[Statistic]
810
839
 
811
840
 
812
841
  class GetMetricStatisticsInput(ServiceRequest):
813
842
  Namespace: Namespace
814
843
  MetricName: MetricName
815
- Dimensions: Optional[Dimensions]
844
+ Dimensions: Dimensions | None
816
845
  StartTime: Timestamp
817
846
  EndTime: Timestamp
818
847
  Period: Period
819
- Statistics: Optional[Statistics]
820
- ExtendedStatistics: Optional[ExtendedStatistics]
821
- Unit: Optional[StandardUnit]
848
+ Statistics: Statistics | None
849
+ ExtendedStatistics: ExtendedStatistics | None
850
+ Unit: StandardUnit | None
822
851
 
823
852
 
824
853
  class GetMetricStatisticsOutput(TypedDict, total=False):
825
- Label: Optional[MetricLabel]
826
- Datapoints: Optional[Datapoints]
854
+ Label: MetricLabel | None
855
+ Datapoints: Datapoints | None
827
856
 
828
857
 
829
858
  class GetMetricStreamInput(ServiceRequest):
830
859
  Name: MetricStreamName
831
860
 
832
861
 
833
- MetricStreamStatisticsAdditionalStatistics = List[MetricStreamStatistic]
862
+ MetricStreamStatisticsAdditionalStatistics = list[MetricStreamStatistic]
834
863
 
835
864
 
836
865
  class MetricStreamStatisticsMetric(TypedDict, total=False):
@@ -838,7 +867,7 @@ class MetricStreamStatisticsMetric(TypedDict, total=False):
838
867
  MetricName: MetricName
839
868
 
840
869
 
841
- MetricStreamStatisticsIncludeMetrics = List[MetricStreamStatisticsMetric]
870
+ MetricStreamStatisticsIncludeMetrics = list[MetricStreamStatisticsMetric]
842
871
 
843
872
 
844
873
  class MetricStreamStatisticsConfiguration(TypedDict, total=False):
@@ -846,59 +875,59 @@ class MetricStreamStatisticsConfiguration(TypedDict, total=False):
846
875
  AdditionalStatistics: MetricStreamStatisticsAdditionalStatistics
847
876
 
848
877
 
849
- MetricStreamStatisticsConfigurations = List[MetricStreamStatisticsConfiguration]
850
- MetricStreamFilterMetricNames = List[MetricName]
878
+ MetricStreamStatisticsConfigurations = list[MetricStreamStatisticsConfiguration]
879
+ MetricStreamFilterMetricNames = list[MetricName]
851
880
 
852
881
 
853
882
  class MetricStreamFilter(TypedDict, total=False):
854
- Namespace: Optional[Namespace]
855
- MetricNames: Optional[MetricStreamFilterMetricNames]
883
+ Namespace: Namespace | None
884
+ MetricNames: MetricStreamFilterMetricNames | None
856
885
 
857
886
 
858
- MetricStreamFilters = List[MetricStreamFilter]
887
+ MetricStreamFilters = list[MetricStreamFilter]
859
888
 
860
889
 
861
890
  class GetMetricStreamOutput(TypedDict, total=False):
862
- Arn: Optional[AmazonResourceName]
863
- Name: Optional[MetricStreamName]
864
- IncludeFilters: Optional[MetricStreamFilters]
865
- ExcludeFilters: Optional[MetricStreamFilters]
866
- FirehoseArn: Optional[AmazonResourceName]
867
- RoleArn: Optional[AmazonResourceName]
868
- State: Optional[MetricStreamState]
869
- CreationDate: Optional[Timestamp]
870
- LastUpdateDate: Optional[Timestamp]
871
- OutputFormat: Optional[MetricStreamOutputFormat]
872
- StatisticsConfigurations: Optional[MetricStreamStatisticsConfigurations]
873
- IncludeLinkedAccountsMetrics: Optional[IncludeLinkedAccountsMetrics]
891
+ Arn: AmazonResourceName | None
892
+ Name: MetricStreamName | None
893
+ IncludeFilters: MetricStreamFilters | None
894
+ ExcludeFilters: MetricStreamFilters | None
895
+ FirehoseArn: AmazonResourceName | None
896
+ RoleArn: AmazonResourceName | None
897
+ State: MetricStreamState | None
898
+ CreationDate: Timestamp | None
899
+ LastUpdateDate: Timestamp | None
900
+ OutputFormat: MetricStreamOutputFormat | None
901
+ StatisticsConfigurations: MetricStreamStatisticsConfigurations | None
902
+ IncludeLinkedAccountsMetrics: IncludeLinkedAccountsMetrics | None
874
903
 
875
904
 
876
905
  class GetMetricWidgetImageInput(ServiceRequest):
877
906
  MetricWidget: MetricWidget
878
- OutputFormat: Optional[OutputFormat]
907
+ OutputFormat: OutputFormat | None
879
908
 
880
909
 
881
910
  MetricWidgetImage = bytes
882
911
 
883
912
 
884
913
  class GetMetricWidgetImageOutput(TypedDict, total=False):
885
- MetricWidgetImage: Optional[MetricWidgetImage]
914
+ MetricWidgetImage: MetricWidgetImage | None
886
915
 
887
916
 
888
917
  class ListDashboardsInput(ServiceRequest):
889
- DashboardNamePrefix: Optional[DashboardNamePrefix]
890
- NextToken: Optional[NextToken]
918
+ DashboardNamePrefix: DashboardNamePrefix | None
919
+ NextToken: NextToken | None
891
920
 
892
921
 
893
922
  class ListDashboardsOutput(TypedDict, total=False):
894
- DashboardEntries: Optional[DashboardEntries]
895
- NextToken: Optional[NextToken]
923
+ DashboardEntries: DashboardEntries | None
924
+ NextToken: NextToken | None
896
925
 
897
926
 
898
927
  class ListManagedInsightRulesInput(ServiceRequest):
899
928
  ResourceARN: AmazonResourceName
900
- NextToken: Optional[NextToken]
901
- MaxResults: Optional[InsightRuleMaxResults]
929
+ NextToken: NextToken | None
930
+ MaxResults: InsightRuleMaxResults | None
902
931
 
903
932
 
904
933
  class ManagedRuleState(TypedDict, total=False):
@@ -907,60 +936,60 @@ class ManagedRuleState(TypedDict, total=False):
907
936
 
908
937
 
909
938
  class ManagedRuleDescription(TypedDict, total=False):
910
- TemplateName: Optional[TemplateName]
911
- ResourceARN: Optional[AmazonResourceName]
912
- RuleState: Optional[ManagedRuleState]
939
+ TemplateName: TemplateName | None
940
+ ResourceARN: AmazonResourceName | None
941
+ RuleState: ManagedRuleState | None
913
942
 
914
943
 
915
- ManagedRuleDescriptions = List[ManagedRuleDescription]
944
+ ManagedRuleDescriptions = list[ManagedRuleDescription]
916
945
 
917
946
 
918
947
  class ListManagedInsightRulesOutput(TypedDict, total=False):
919
- ManagedRules: Optional[ManagedRuleDescriptions]
920
- NextToken: Optional[NextToken]
948
+ ManagedRules: ManagedRuleDescriptions | None
949
+ NextToken: NextToken | None
921
950
 
922
951
 
923
952
  class ListMetricStreamsInput(ServiceRequest):
924
- NextToken: Optional[NextToken]
925
- MaxResults: Optional[ListMetricStreamsMaxResults]
953
+ NextToken: NextToken | None
954
+ MaxResults: ListMetricStreamsMaxResults | None
926
955
 
927
956
 
928
957
  class MetricStreamEntry(TypedDict, total=False):
929
- Arn: Optional[AmazonResourceName]
930
- CreationDate: Optional[Timestamp]
931
- LastUpdateDate: Optional[Timestamp]
932
- Name: Optional[MetricStreamName]
933
- FirehoseArn: Optional[AmazonResourceName]
934
- State: Optional[MetricStreamState]
935
- OutputFormat: Optional[MetricStreamOutputFormat]
958
+ Arn: AmazonResourceName | None
959
+ CreationDate: Timestamp | None
960
+ LastUpdateDate: Timestamp | None
961
+ Name: MetricStreamName | None
962
+ FirehoseArn: AmazonResourceName | None
963
+ State: MetricStreamState | None
964
+ OutputFormat: MetricStreamOutputFormat | None
936
965
 
937
966
 
938
- MetricStreamEntries = List[MetricStreamEntry]
967
+ MetricStreamEntries = list[MetricStreamEntry]
939
968
 
940
969
 
941
970
  class ListMetricStreamsOutput(TypedDict, total=False):
942
- NextToken: Optional[NextToken]
943
- Entries: Optional[MetricStreamEntries]
971
+ NextToken: NextToken | None
972
+ Entries: MetricStreamEntries | None
944
973
 
945
974
 
946
975
  class ListMetricsInput(ServiceRequest):
947
- Namespace: Optional[Namespace]
948
- MetricName: Optional[MetricName]
949
- Dimensions: Optional[DimensionFilters]
950
- NextToken: Optional[NextToken]
951
- RecentlyActive: Optional[RecentlyActive]
952
- IncludeLinkedAccounts: Optional[IncludeLinkedAccounts]
953
- OwningAccount: Optional[AccountId]
976
+ Namespace: Namespace | None
977
+ MetricName: MetricName | None
978
+ Dimensions: DimensionFilters | None
979
+ NextToken: NextToken | None
980
+ RecentlyActive: RecentlyActive | None
981
+ IncludeLinkedAccounts: IncludeLinkedAccounts | None
982
+ OwningAccount: AccountId | None
954
983
 
955
984
 
956
- OwningAccounts = List[AccountId]
957
- Metrics = List[Metric]
985
+ OwningAccounts = list[AccountId]
986
+ Metrics = list[Metric]
958
987
 
959
988
 
960
989
  class ListMetricsOutput(TypedDict, total=False):
961
- Metrics: Optional[Metrics]
962
- NextToken: Optional[NextToken]
963
- OwningAccounts: Optional[OwningAccounts]
990
+ Metrics: Metrics | None
991
+ NextToken: NextToken | None
992
+ OwningAccounts: OwningAccounts | None
964
993
 
965
994
 
966
995
  class ListTagsForResourceInput(ServiceRequest):
@@ -972,32 +1001,32 @@ class Tag(TypedDict, total=False):
972
1001
  Value: TagValue
973
1002
 
974
1003
 
975
- TagList = List[Tag]
1004
+ TagList = list[Tag]
976
1005
 
977
1006
 
978
1007
  class ListTagsForResourceOutput(TypedDict, total=False):
979
- Tags: Optional[TagList]
1008
+ Tags: TagList | None
980
1009
 
981
1010
 
982
1011
  class ManagedRule(TypedDict, total=False):
983
1012
  TemplateName: TemplateName
984
1013
  ResourceARN: AmazonResourceName
985
- Tags: Optional[TagList]
1014
+ Tags: TagList | None
986
1015
 
987
1016
 
988
- ManagedRules = List[ManagedRule]
989
- MetricStreamNames = List[MetricStreamName]
1017
+ ManagedRules = list[ManagedRule]
1018
+ MetricStreamNames = list[MetricStreamName]
990
1019
 
991
1020
 
992
1021
  class PutAnomalyDetectorInput(ServiceRequest):
993
- Namespace: Optional[Namespace]
994
- MetricName: Optional[MetricName]
995
- Dimensions: Optional[Dimensions]
996
- Stat: Optional[AnomalyDetectorMetricStat]
997
- Configuration: Optional[AnomalyDetectorConfiguration]
998
- MetricCharacteristics: Optional[MetricCharacteristics]
999
- SingleMetricAnomalyDetector: Optional[SingleMetricAnomalyDetector]
1000
- MetricMathAnomalyDetector: Optional[MetricMathAnomalyDetector]
1022
+ Namespace: Namespace | None
1023
+ MetricName: MetricName | None
1024
+ Dimensions: Dimensions | None
1025
+ Stat: AnomalyDetectorMetricStat | None
1026
+ Configuration: AnomalyDetectorConfiguration | None
1027
+ MetricCharacteristics: MetricCharacteristics | None
1028
+ SingleMetricAnomalyDetector: SingleMetricAnomalyDetector | None
1029
+ MetricMathAnomalyDetector: MetricMathAnomalyDetector | None
1001
1030
 
1002
1031
 
1003
1032
  class PutAnomalyDetectorOutput(TypedDict, total=False):
@@ -1005,17 +1034,17 @@ class PutAnomalyDetectorOutput(TypedDict, total=False):
1005
1034
 
1006
1035
 
1007
1036
  class PutCompositeAlarmInput(ServiceRequest):
1008
- ActionsEnabled: Optional[ActionsEnabled]
1009
- AlarmActions: Optional[ResourceList]
1010
- AlarmDescription: Optional[AlarmDescription]
1037
+ ActionsEnabled: ActionsEnabled | None
1038
+ AlarmActions: ResourceList | None
1039
+ AlarmDescription: AlarmDescription | None
1011
1040
  AlarmName: AlarmName
1012
1041
  AlarmRule: AlarmRule
1013
- InsufficientDataActions: Optional[ResourceList]
1014
- OKActions: Optional[ResourceList]
1015
- Tags: Optional[TagList]
1016
- ActionsSuppressor: Optional[AlarmArn]
1017
- ActionsSuppressorWaitPeriod: Optional[SuppressorPeriod]
1018
- ActionsSuppressorExtensionPeriod: Optional[SuppressorPeriod]
1042
+ InsufficientDataActions: ResourceList | None
1043
+ OKActions: ResourceList | None
1044
+ Tags: TagList | None
1045
+ ActionsSuppressor: AlarmArn | None
1046
+ ActionsSuppressorWaitPeriod: SuppressorPeriod | None
1047
+ ActionsSuppressorExtensionPeriod: SuppressorPeriod | None
1019
1048
 
1020
1049
 
1021
1050
  class PutDashboardInput(ServiceRequest):
@@ -1024,15 +1053,15 @@ class PutDashboardInput(ServiceRequest):
1024
1053
 
1025
1054
 
1026
1055
  class PutDashboardOutput(TypedDict, total=False):
1027
- DashboardValidationMessages: Optional[DashboardValidationMessages]
1056
+ DashboardValidationMessages: DashboardValidationMessages | None
1028
1057
 
1029
1058
 
1030
1059
  class PutInsightRuleInput(ServiceRequest):
1031
1060
  RuleName: InsightRuleName
1032
- RuleState: Optional[InsightRuleState]
1061
+ RuleState: InsightRuleState | None
1033
1062
  RuleDefinition: InsightRuleDefinition
1034
- Tags: Optional[TagList]
1035
- ApplyOnTransformedLogs: Optional[InsightRuleOnTransformedLogs]
1063
+ Tags: TagList | None
1064
+ ApplyOnTransformedLogs: InsightRuleOnTransformedLogs | None
1036
1065
 
1037
1066
 
1038
1067
  class PutInsightRuleOutput(TypedDict, total=False):
@@ -1044,62 +1073,62 @@ class PutManagedInsightRulesInput(ServiceRequest):
1044
1073
 
1045
1074
 
1046
1075
  class PutManagedInsightRulesOutput(TypedDict, total=False):
1047
- Failures: Optional[BatchFailures]
1076
+ Failures: BatchFailures | None
1048
1077
 
1049
1078
 
1050
1079
  class PutMetricAlarmInput(ServiceRequest):
1051
1080
  AlarmName: AlarmName
1052
- AlarmDescription: Optional[AlarmDescription]
1053
- ActionsEnabled: Optional[ActionsEnabled]
1054
- OKActions: Optional[ResourceList]
1055
- AlarmActions: Optional[ResourceList]
1056
- InsufficientDataActions: Optional[ResourceList]
1057
- MetricName: Optional[MetricName]
1058
- Namespace: Optional[Namespace]
1059
- Statistic: Optional[Statistic]
1060
- ExtendedStatistic: Optional[ExtendedStatistic]
1061
- Dimensions: Optional[Dimensions]
1062
- Period: Optional[Period]
1063
- Unit: Optional[StandardUnit]
1081
+ AlarmDescription: AlarmDescription | None
1082
+ ActionsEnabled: ActionsEnabled | None
1083
+ OKActions: ResourceList | None
1084
+ AlarmActions: ResourceList | None
1085
+ InsufficientDataActions: ResourceList | None
1086
+ MetricName: MetricName | None
1087
+ Namespace: Namespace | None
1088
+ Statistic: Statistic | None
1089
+ ExtendedStatistic: ExtendedStatistic | None
1090
+ Dimensions: Dimensions | None
1091
+ Period: Period | None
1092
+ Unit: StandardUnit | None
1064
1093
  EvaluationPeriods: EvaluationPeriods
1065
- DatapointsToAlarm: Optional[DatapointsToAlarm]
1066
- Threshold: Optional[Threshold]
1094
+ DatapointsToAlarm: DatapointsToAlarm | None
1095
+ Threshold: Threshold | None
1067
1096
  ComparisonOperator: ComparisonOperator
1068
- TreatMissingData: Optional[TreatMissingData]
1069
- EvaluateLowSampleCountPercentile: Optional[EvaluateLowSampleCountPercentile]
1070
- Metrics: Optional[MetricDataQueries]
1071
- Tags: Optional[TagList]
1072
- ThresholdMetricId: Optional[MetricId]
1097
+ TreatMissingData: TreatMissingData | None
1098
+ EvaluateLowSampleCountPercentile: EvaluateLowSampleCountPercentile | None
1099
+ Metrics: MetricDataQueries | None
1100
+ Tags: TagList | None
1101
+ ThresholdMetricId: MetricId | None
1073
1102
 
1074
1103
 
1075
1104
  class PutMetricDataInput(ServiceRequest):
1076
1105
  Namespace: Namespace
1077
- MetricData: Optional[MetricData]
1078
- EntityMetricData: Optional[EntityMetricDataList]
1079
- StrictEntityValidation: Optional[StrictEntityValidation]
1106
+ MetricData: MetricData | None
1107
+ EntityMetricData: EntityMetricDataList | None
1108
+ StrictEntityValidation: StrictEntityValidation | None
1080
1109
 
1081
1110
 
1082
1111
  class PutMetricStreamInput(ServiceRequest):
1083
1112
  Name: MetricStreamName
1084
- IncludeFilters: Optional[MetricStreamFilters]
1085
- ExcludeFilters: Optional[MetricStreamFilters]
1113
+ IncludeFilters: MetricStreamFilters | None
1114
+ ExcludeFilters: MetricStreamFilters | None
1086
1115
  FirehoseArn: AmazonResourceName
1087
1116
  RoleArn: AmazonResourceName
1088
1117
  OutputFormat: MetricStreamOutputFormat
1089
- Tags: Optional[TagList]
1090
- StatisticsConfigurations: Optional[MetricStreamStatisticsConfigurations]
1091
- IncludeLinkedAccountsMetrics: Optional[IncludeLinkedAccountsMetrics]
1118
+ Tags: TagList | None
1119
+ StatisticsConfigurations: MetricStreamStatisticsConfigurations | None
1120
+ IncludeLinkedAccountsMetrics: IncludeLinkedAccountsMetrics | None
1092
1121
 
1093
1122
 
1094
1123
  class PutMetricStreamOutput(TypedDict, total=False):
1095
- Arn: Optional[AmazonResourceName]
1124
+ Arn: AmazonResourceName | None
1096
1125
 
1097
1126
 
1098
1127
  class SetAlarmStateInput(ServiceRequest):
1099
1128
  AlarmName: AlarmName
1100
1129
  StateValue: StateValue
1101
1130
  StateReason: StateReason
1102
- StateReasonData: Optional[StateReasonData]
1131
+ StateReasonData: StateReasonData | None
1103
1132
 
1104
1133
 
1105
1134
  class StartMetricStreamsInput(ServiceRequest):
@@ -1118,7 +1147,7 @@ class StopMetricStreamsOutput(TypedDict, total=False):
1118
1147
  pass
1119
1148
 
1120
1149
 
1121
- TagKeyList = List[TagKey]
1150
+ TagKeyList = list[TagKey]
1122
1151
 
1123
1152
 
1124
1153
  class TagResourceInput(ServiceRequest):
@@ -1140,8 +1169,8 @@ class UntagResourceOutput(TypedDict, total=False):
1140
1169
 
1141
1170
 
1142
1171
  class CloudwatchApi:
1143
- service = "cloudwatch"
1144
- version = "2010-08-01"
1172
+ service: str = "cloudwatch"
1173
+ version: str = "2010-08-01"
1145
1174
 
1146
1175
  @handler("DeleteAlarms")
1147
1176
  def delete_alarms(self, context: RequestContext, alarm_names: AlarmNames, **kwargs) -> None:
@@ -1179,11 +1208,22 @@ class CloudwatchApi:
1179
1208
  ) -> DeleteMetricStreamOutput:
1180
1209
  raise NotImplementedError
1181
1210
 
1211
+ @handler("DescribeAlarmContributors")
1212
+ def describe_alarm_contributors(
1213
+ self,
1214
+ context: RequestContext,
1215
+ alarm_name: AlarmName,
1216
+ next_token: NextToken | None = None,
1217
+ **kwargs,
1218
+ ) -> DescribeAlarmContributorsOutput:
1219
+ raise NotImplementedError
1220
+
1182
1221
  @handler("DescribeAlarmHistory")
1183
1222
  def describe_alarm_history(
1184
1223
  self,
1185
1224
  context: RequestContext,
1186
1225
  alarm_name: AlarmName | None = None,
1226
+ alarm_contributor_id: ContributorId | None = None,
1187
1227
  alarm_types: AlarmTypes | None = None,
1188
1228
  history_item_type: HistoryItemType | None = None,
1189
1229
  start_date: Timestamp | None = None,