aws-cdk-lib 2.167.2__py3-none-any.whl → 2.169.0__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 aws-cdk-lib might be problematic. Click here for more details.

Files changed (60) hide show
  1. aws_cdk/__init__.py +2083 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.167.2.jsii.tgz → aws-cdk-lib@2.169.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_accessanalyzer/__init__.py +244 -13
  5. aws_cdk/aws_applicationautoscaling/__init__.py +1691 -95
  6. aws_cdk/aws_applicationinsights/__init__.py +41 -0
  7. aws_cdk/aws_applicationsignals/__init__.py +124 -0
  8. aws_cdk/aws_autoscaling/__init__.py +743 -7
  9. aws_cdk/aws_batch/__init__.py +202 -5
  10. aws_cdk/aws_bedrock/__init__.py +12 -12
  11. aws_cdk/aws_cleanrooms/__init__.py +17 -8
  12. aws_cdk/aws_cloudformation/__init__.py +2571 -492
  13. aws_cdk/aws_cloudfront/__init__.py +281 -0
  14. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  15. aws_cdk/aws_cloudfront_origins/__init__.py +714 -132
  16. aws_cdk/aws_cloudtrail/__init__.py +52 -14
  17. aws_cdk/aws_codebuild/__init__.py +670 -4
  18. aws_cdk/aws_connect/__init__.py +378 -0
  19. aws_cdk/aws_connectcampaignsv2/__init__.py +3376 -0
  20. aws_cdk/aws_customerprofiles/__init__.py +44 -0
  21. aws_cdk/aws_deadline/__init__.py +299 -6
  22. aws_cdk/aws_dynamodb/__init__.py +359 -16
  23. aws_cdk/aws_ec2/__init__.py +19 -6
  24. aws_cdk/aws_ecs/__init__.py +231 -12
  25. aws_cdk/aws_efs/__init__.py +61 -4
  26. aws_cdk/aws_eks/__init__.py +116 -0
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +160 -11
  28. aws_cdk/aws_fis/__init__.py +495 -0
  29. aws_cdk/aws_gamelift/__init__.py +3204 -1104
  30. aws_cdk/aws_iot/__init__.py +209 -0
  31. aws_cdk/aws_iotfleetwise/__init__.py +550 -0
  32. aws_cdk/aws_iotsitewise/__init__.py +6 -3
  33. aws_cdk/aws_ivs/__init__.py +458 -0
  34. aws_cdk/aws_kinesisfirehose/__init__.py +756 -8
  35. aws_cdk/aws_lambda/__init__.py +634 -259
  36. aws_cdk/aws_lambda_destinations/__init__.py +73 -0
  37. aws_cdk/aws_lambda_event_sources/__init__.py +102 -2
  38. aws_cdk/aws_location/__init__.py +18 -18
  39. aws_cdk/aws_mediastore/__init__.py +22 -10
  40. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  41. aws_cdk/aws_quicksight/__init__.py +35 -19
  42. aws_cdk/aws_rbin/__init__.py +902 -0
  43. aws_cdk/aws_rds/__init__.py +166 -3
  44. aws_cdk/aws_route53resolver/__init__.py +76 -19
  45. aws_cdk/aws_sagemaker/__init__.py +32 -0
  46. aws_cdk/aws_securityhub/__init__.py +11 -14
  47. aws_cdk/aws_ses/__init__.py +58 -5
  48. aws_cdk/aws_sns/__init__.py +593 -8
  49. aws_cdk/aws_sns_subscriptions/__init__.py +68 -22
  50. aws_cdk/aws_stepfunctions_tasks/__init__.py +1601 -8
  51. aws_cdk/aws_synthetics/__init__.py +46 -0
  52. aws_cdk/aws_transfer/__init__.py +0 -8
  53. aws_cdk/aws_vpclattice/__init__.py +157 -2
  54. aws_cdk/aws_wisdom/__init__.py +113 -69
  55. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/METADATA +1 -1
  56. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/RECORD +60 -58
  57. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/LICENSE +0 -0
  58. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/NOTICE +0 -0
  59. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/WHEEL +0 -0
  60. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/top_level.txt +0 -0
@@ -307,6 +307,7 @@ class CfnApplication(
307
307
  )],
308
308
  ops_center_enabled=False,
309
309
  ops_item_sns_topic_arn="opsItemSnsTopicArn",
310
+ sns_notification_arn="snsNotificationArn",
310
311
  tags=[CfnTag(
311
312
  key="key",
312
313
  value="value"
@@ -329,6 +330,7 @@ class CfnApplication(
329
330
  log_pattern_sets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApplication.LogPatternSetProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
330
331
  ops_center_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
331
332
  ops_item_sns_topic_arn: typing.Optional[builtins.str] = None,
333
+ sns_notification_arn: typing.Optional[builtins.str] = None,
332
334
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
333
335
  ) -> None:
334
336
  '''
@@ -344,6 +346,7 @@ class CfnApplication(
344
346
  :param log_pattern_sets: The log pattern sets.
345
347
  :param ops_center_enabled: Indicates whether Application Insights will create OpsItems for any problem that is detected by Application Insights for an application.
346
348
  :param ops_item_sns_topic_arn: The SNS topic provided to Application Insights that is associated with the created OpsItems to receive SNS notifications for opsItem updates.
349
+ :param sns_notification_arn: The SNS topic ARN that is associated with SNS notifications for updates or issues.
347
350
  :param tags: An array of ``Tags`` .
348
351
  '''
349
352
  if __debug__:
@@ -361,6 +364,7 @@ class CfnApplication(
361
364
  log_pattern_sets=log_pattern_sets,
362
365
  ops_center_enabled=ops_center_enabled,
363
366
  ops_item_sns_topic_arn=ops_item_sns_topic_arn,
367
+ sns_notification_arn=sns_notification_arn,
364
368
  tags=tags,
365
369
  )
366
370
 
@@ -581,6 +585,19 @@ class CfnApplication(
581
585
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
582
586
  jsii.set(self, "opsItemSnsTopicArn", value) # pyright: ignore[reportArgumentType]
583
587
 
588
+ @builtins.property
589
+ @jsii.member(jsii_name="snsNotificationArn")
590
+ def sns_notification_arn(self) -> typing.Optional[builtins.str]:
591
+ '''The SNS topic ARN that is associated with SNS notifications for updates or issues.'''
592
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "snsNotificationArn"))
593
+
594
+ @sns_notification_arn.setter
595
+ def sns_notification_arn(self, value: typing.Optional[builtins.str]) -> None:
596
+ if __debug__:
597
+ type_hints = typing.get_type_hints(_typecheckingstub__6aad8a6b1824dde01367a1ee7e0eb9daaef62d50907b859bfa448b68bd654952)
598
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
599
+ jsii.set(self, "snsNotificationArn", value) # pyright: ignore[reportArgumentType]
600
+
584
601
  @builtins.property
585
602
  @jsii.member(jsii_name="tagsRaw")
586
603
  def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -2802,6 +2819,7 @@ class CfnApplication(
2802
2819
  "log_pattern_sets": "logPatternSets",
2803
2820
  "ops_center_enabled": "opsCenterEnabled",
2804
2821
  "ops_item_sns_topic_arn": "opsItemSnsTopicArn",
2822
+ "sns_notification_arn": "snsNotificationArn",
2805
2823
  "tags": "tags",
2806
2824
  },
2807
2825
  )
@@ -2819,6 +2837,7 @@ class CfnApplicationProps:
2819
2837
  log_pattern_sets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.LogPatternSetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2820
2838
  ops_center_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2821
2839
  ops_item_sns_topic_arn: typing.Optional[builtins.str] = None,
2840
+ sns_notification_arn: typing.Optional[builtins.str] = None,
2822
2841
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2823
2842
  ) -> None:
2824
2843
  '''Properties for defining a ``CfnApplication``.
@@ -2833,6 +2852,7 @@ class CfnApplicationProps:
2833
2852
  :param log_pattern_sets: The log pattern sets.
2834
2853
  :param ops_center_enabled: Indicates whether Application Insights will create OpsItems for any problem that is detected by Application Insights for an application.
2835
2854
  :param ops_item_sns_topic_arn: The SNS topic provided to Application Insights that is associated with the created OpsItems to receive SNS notifications for opsItem updates.
2855
+ :param sns_notification_arn: The SNS topic ARN that is associated with SNS notifications for updates or issues.
2836
2856
  :param tags: An array of ``Tags`` .
2837
2857
 
2838
2858
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html
@@ -3064,6 +3084,7 @@ class CfnApplicationProps:
3064
3084
  )],
3065
3085
  ops_center_enabled=False,
3066
3086
  ops_item_sns_topic_arn="opsItemSnsTopicArn",
3087
+ sns_notification_arn="snsNotificationArn",
3067
3088
  tags=[CfnTag(
3068
3089
  key="key",
3069
3090
  value="value"
@@ -3082,6 +3103,7 @@ class CfnApplicationProps:
3082
3103
  check_type(argname="argument log_pattern_sets", value=log_pattern_sets, expected_type=type_hints["log_pattern_sets"])
3083
3104
  check_type(argname="argument ops_center_enabled", value=ops_center_enabled, expected_type=type_hints["ops_center_enabled"])
3084
3105
  check_type(argname="argument ops_item_sns_topic_arn", value=ops_item_sns_topic_arn, expected_type=type_hints["ops_item_sns_topic_arn"])
3106
+ check_type(argname="argument sns_notification_arn", value=sns_notification_arn, expected_type=type_hints["sns_notification_arn"])
3085
3107
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
3086
3108
  self._values: typing.Dict[builtins.str, typing.Any] = {
3087
3109
  "resource_group_name": resource_group_name,
@@ -3104,6 +3126,8 @@ class CfnApplicationProps:
3104
3126
  self._values["ops_center_enabled"] = ops_center_enabled
3105
3127
  if ops_item_sns_topic_arn is not None:
3106
3128
  self._values["ops_item_sns_topic_arn"] = ops_item_sns_topic_arn
3129
+ if sns_notification_arn is not None:
3130
+ self._values["sns_notification_arn"] = sns_notification_arn
3107
3131
  if tags is not None:
3108
3132
  self._values["tags"] = tags
3109
3133
 
@@ -3216,6 +3240,15 @@ class CfnApplicationProps:
3216
3240
  result = self._values.get("ops_item_sns_topic_arn")
3217
3241
  return typing.cast(typing.Optional[builtins.str], result)
3218
3242
 
3243
+ @builtins.property
3244
+ def sns_notification_arn(self) -> typing.Optional[builtins.str]:
3245
+ '''The SNS topic ARN that is associated with SNS notifications for updates or issues.
3246
+
3247
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html#cfn-applicationinsights-application-snsnotificationarn
3248
+ '''
3249
+ result = self._values.get("sns_notification_arn")
3250
+ return typing.cast(typing.Optional[builtins.str], result)
3251
+
3219
3252
  @builtins.property
3220
3253
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
3221
3254
  '''An array of ``Tags`` .
@@ -3258,6 +3291,7 @@ def _typecheckingstub__4243897a1b09da007f04bd9d10c5c58049449cf0c6e94f1290a6e466b
3258
3291
  log_pattern_sets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.LogPatternSetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3259
3292
  ops_center_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3260
3293
  ops_item_sns_topic_arn: typing.Optional[builtins.str] = None,
3294
+ sns_notification_arn: typing.Optional[builtins.str] = None,
3261
3295
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3262
3296
  ) -> None:
3263
3297
  """Type checking stubs"""
@@ -3335,6 +3369,12 @@ def _typecheckingstub__534fdd5b3ea185943b0c3ba472105f4fe575891b709fcfde6c8ac83a5
3335
3369
  """Type checking stubs"""
3336
3370
  pass
3337
3371
 
3372
+ def _typecheckingstub__6aad8a6b1824dde01367a1ee7e0eb9daaef62d50907b859bfa448b68bd654952(
3373
+ value: typing.Optional[builtins.str],
3374
+ ) -> None:
3375
+ """Type checking stubs"""
3376
+ pass
3377
+
3338
3378
  def _typecheckingstub__d3968f9830f62362b22c2014663f1301019810cda56a0b7635f533d5603aa304(
3339
3379
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
3340
3380
  ) -> None:
@@ -3520,6 +3560,7 @@ def _typecheckingstub__8cffa09a5f66aca30b2e15034c06662c459b8bc4a4b3a9e705762d124
3520
3560
  log_pattern_sets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.LogPatternSetProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3521
3561
  ops_center_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
3522
3562
  ops_item_sns_topic_arn: typing.Optional[builtins.str] = None,
3563
+ sns_notification_arn: typing.Optional[builtins.str] = None,
3523
3564
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3524
3565
  ) -> None:
3525
3566
  """Type checking stubs"""
@@ -120,6 +120,9 @@ class CfnServiceLevelObjective(
120
120
  - ``autoscaling:DescribeAutoScalingGroups``
121
121
 
122
122
  You can easily set SLO targets for your applications that are discovered by Application Signals, using critical metrics such as latency and availability. You can also set SLOs against any CloudWatch metric or math expression that produces a time series.
123
+ .. epigraph::
124
+
125
+ You can't create an SLO for a service operation that was discovered by Application Signals until after that operation has reported standard metrics to Application Signals.
123
126
 
124
127
  You cannot change from a period-based SLO to a request-based SLO, or change from a request-based SLO to a period-based SLO.
125
128
 
@@ -139,6 +142,9 @@ class CfnServiceLevelObjective(
139
142
  name="name",
140
143
 
141
144
  # the properties below are optional
145
+ burn_rate_configurations=[applicationsignals.CfnServiceLevelObjective.BurnRateConfigurationProperty(
146
+ look_back_window_minutes=123
147
+ )],
142
148
  description="description",
143
149
  goal=applicationsignals.CfnServiceLevelObjective.GoalProperty(
144
150
  attainment_goal=123,
@@ -288,6 +294,7 @@ class CfnServiceLevelObjective(
288
294
  id: builtins.str,
289
295
  *,
290
296
  name: builtins.str,
297
+ burn_rate_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.BurnRateConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
291
298
  description: typing.Optional[builtins.str] = None,
292
299
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.GoalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
293
300
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.RequestBasedSliProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -298,6 +305,7 @@ class CfnServiceLevelObjective(
298
305
  :param scope: Scope in which this resource is defined.
299
306
  :param id: Construct identifier for this resource (unique in its scope).
300
307
  :param name: A name for this SLO.
308
+ :param burn_rate_configurations: Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.
301
309
  :param description: An optional description for this SLO. Default: - "No description"
302
310
  :param goal: This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold.
303
311
  :param request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
@@ -310,6 +318,7 @@ class CfnServiceLevelObjective(
310
318
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
311
319
  props = CfnServiceLevelObjectiveProps(
312
320
  name=name,
321
+ burn_rate_configurations=burn_rate_configurations,
313
322
  description=description,
314
323
  goal=goal,
315
324
  request_based_sli=request_based_sli,
@@ -409,6 +418,24 @@ class CfnServiceLevelObjective(
409
418
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
410
419
  jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
411
420
 
421
+ @builtins.property
422
+ @jsii.member(jsii_name="burnRateConfigurations")
423
+ def burn_rate_configurations(
424
+ self,
425
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.BurnRateConfigurationProperty"]]]]:
426
+ '''Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO.'''
427
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.BurnRateConfigurationProperty"]]]], jsii.get(self, "burnRateConfigurations"))
428
+
429
+ @burn_rate_configurations.setter
430
+ def burn_rate_configurations(
431
+ self,
432
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.BurnRateConfigurationProperty"]]]],
433
+ ) -> None:
434
+ if __debug__:
435
+ type_hints = typing.get_type_hints(_typecheckingstub__485d9b0fd57b50948a9f2d1207185ec9c2cc9dfe96eec7b166b7ededffcad772)
436
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
437
+ jsii.set(self, "burnRateConfigurations", value) # pyright: ignore[reportArgumentType]
438
+
412
439
  @builtins.property
413
440
  @jsii.member(jsii_name="description")
414
441
  def description(self) -> typing.Optional[builtins.str]:
@@ -489,6 +516,66 @@ class CfnServiceLevelObjective(
489
516
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
490
517
  jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
491
518
 
519
+ @jsii.data_type(
520
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.BurnRateConfigurationProperty",
521
+ jsii_struct_bases=[],
522
+ name_mapping={"look_back_window_minutes": "lookBackWindowMinutes"},
523
+ )
524
+ class BurnRateConfigurationProperty:
525
+ def __init__(self, *, look_back_window_minutes: jsii.Number) -> None:
526
+ '''This object defines the length of the look-back window used to calculate one burn rate metric for this SLO.
527
+
528
+ The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO. A burn rate of exactly 1 indicates that the SLO goal will be met exactly.
529
+
530
+ For example, if you specify 60 as the number of minutes in the look-back window, the burn rate is calculated as the following:
531
+
532
+ *burn rate = error rate over the look-back window / (100% - attainment goal percentage)*
533
+
534
+ For more information about burn rates, see `Calculate burn rates <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-ServiceLevelObjectives.html#CloudWatch-ServiceLevelObjectives-burn>`_ .
535
+
536
+ :param look_back_window_minutes: The number of minutes to use as the look-back window.
537
+
538
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-burnrateconfiguration.html
539
+ :exampleMetadata: fixture=_generated
540
+
541
+ Example::
542
+
543
+ # The code below shows an example of how to instantiate this type.
544
+ # The values are placeholders you should change.
545
+ from aws_cdk import aws_applicationsignals as applicationsignals
546
+
547
+ burn_rate_configuration_property = applicationsignals.CfnServiceLevelObjective.BurnRateConfigurationProperty(
548
+ look_back_window_minutes=123
549
+ )
550
+ '''
551
+ if __debug__:
552
+ type_hints = typing.get_type_hints(_typecheckingstub__6b8bb721cb69256e1874ed2434c876ca06e731c0455e767d0cf32adcf3a13207)
553
+ check_type(argname="argument look_back_window_minutes", value=look_back_window_minutes, expected_type=type_hints["look_back_window_minutes"])
554
+ self._values: typing.Dict[builtins.str, typing.Any] = {
555
+ "look_back_window_minutes": look_back_window_minutes,
556
+ }
557
+
558
+ @builtins.property
559
+ def look_back_window_minutes(self) -> jsii.Number:
560
+ '''The number of minutes to use as the look-back window.
561
+
562
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-burnrateconfiguration.html#cfn-applicationsignals-servicelevelobjective-burnrateconfiguration-lookbackwindowminutes
563
+ '''
564
+ result = self._values.get("look_back_window_minutes")
565
+ assert result is not None, "Required property 'look_back_window_minutes' is missing"
566
+ return typing.cast(jsii.Number, result)
567
+
568
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
569
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
570
+
571
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
572
+ return not (rhs == self)
573
+
574
+ def __repr__(self) -> str:
575
+ return "BurnRateConfigurationProperty(%s)" % ", ".join(
576
+ k + "=" + repr(v) for k, v in self._values.items()
577
+ )
578
+
492
579
  @jsii.data_type(
493
580
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.CalendarIntervalProperty",
494
581
  jsii_struct_bases=[],
@@ -2126,6 +2213,7 @@ class CfnServiceLevelObjective(
2126
2213
  jsii_struct_bases=[],
2127
2214
  name_mapping={
2128
2215
  "name": "name",
2216
+ "burn_rate_configurations": "burnRateConfigurations",
2129
2217
  "description": "description",
2130
2218
  "goal": "goal",
2131
2219
  "request_based_sli": "requestBasedSli",
@@ -2138,6 +2226,7 @@ class CfnServiceLevelObjectiveProps:
2138
2226
  self,
2139
2227
  *,
2140
2228
  name: builtins.str,
2229
+ burn_rate_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.BurnRateConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2141
2230
  description: typing.Optional[builtins.str] = None,
2142
2231
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2143
2232
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -2147,6 +2236,7 @@ class CfnServiceLevelObjectiveProps:
2147
2236
  '''Properties for defining a ``CfnServiceLevelObjective``.
2148
2237
 
2149
2238
  :param name: A name for this SLO.
2239
+ :param burn_rate_configurations: Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO. The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.
2150
2240
  :param description: An optional description for this SLO. Default: - "No description"
2151
2241
  :param goal: This structure contains the attributes that determine the goal of an SLO. This includes the time period for evaluation and the attainment threshold.
2152
2242
  :param request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
@@ -2166,6 +2256,9 @@ class CfnServiceLevelObjectiveProps:
2166
2256
  name="name",
2167
2257
 
2168
2258
  # the properties below are optional
2259
+ burn_rate_configurations=[applicationsignals.CfnServiceLevelObjective.BurnRateConfigurationProperty(
2260
+ look_back_window_minutes=123
2261
+ )],
2169
2262
  description="description",
2170
2263
  goal=applicationsignals.CfnServiceLevelObjective.GoalProperty(
2171
2264
  attainment_goal=123,
@@ -2311,6 +2404,7 @@ class CfnServiceLevelObjectiveProps:
2311
2404
  if __debug__:
2312
2405
  type_hints = typing.get_type_hints(_typecheckingstub__8a302456885343cc9ce5e0497feed773de1ef0f44e2934f97458bfdc5a810dee)
2313
2406
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2407
+ check_type(argname="argument burn_rate_configurations", value=burn_rate_configurations, expected_type=type_hints["burn_rate_configurations"])
2314
2408
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
2315
2409
  check_type(argname="argument goal", value=goal, expected_type=type_hints["goal"])
2316
2410
  check_type(argname="argument request_based_sli", value=request_based_sli, expected_type=type_hints["request_based_sli"])
@@ -2319,6 +2413,8 @@ class CfnServiceLevelObjectiveProps:
2319
2413
  self._values: typing.Dict[builtins.str, typing.Any] = {
2320
2414
  "name": name,
2321
2415
  }
2416
+ if burn_rate_configurations is not None:
2417
+ self._values["burn_rate_configurations"] = burn_rate_configurations
2322
2418
  if description is not None:
2323
2419
  self._values["description"] = description
2324
2420
  if goal is not None:
@@ -2340,6 +2436,19 @@ class CfnServiceLevelObjectiveProps:
2340
2436
  assert result is not None, "Required property 'name' is missing"
2341
2437
  return typing.cast(builtins.str, result)
2342
2438
 
2439
+ @builtins.property
2440
+ def burn_rate_configurations(
2441
+ self,
2442
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.BurnRateConfigurationProperty]]]]:
2443
+ '''Each object in this array defines the length of the look-back window used to calculate one burn rate metric for this SLO.
2444
+
2445
+ The burn rate measures how fast the service is consuming the error budget, relative to the attainment goal of the SLO.
2446
+
2447
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-burnrateconfigurations
2448
+ '''
2449
+ result = self._values.get("burn_rate_configurations")
2450
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.BurnRateConfigurationProperty]]]], result)
2451
+
2343
2452
  @builtins.property
2344
2453
  def description(self) -> typing.Optional[builtins.str]:
2345
2454
  '''An optional description for this SLO.
@@ -2423,6 +2532,7 @@ def _typecheckingstub__8476d024be5b448cfb8f9ae2f80fa7f2083296f712cdb7cd12e69365d
2423
2532
  id: builtins.str,
2424
2533
  *,
2425
2534
  name: builtins.str,
2535
+ burn_rate_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.BurnRateConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2426
2536
  description: typing.Optional[builtins.str] = None,
2427
2537
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2428
2538
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -2450,6 +2560,12 @@ def _typecheckingstub__e7d1b42972f3b8a4430dca27e7ecab3fce56490ad1edcfabdc346becf
2450
2560
  """Type checking stubs"""
2451
2561
  pass
2452
2562
 
2563
+ def _typecheckingstub__485d9b0fd57b50948a9f2d1207185ec9c2cc9dfe96eec7b166b7ededffcad772(
2564
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.BurnRateConfigurationProperty]]]],
2565
+ ) -> None:
2566
+ """Type checking stubs"""
2567
+ pass
2568
+
2453
2569
  def _typecheckingstub__c6761a51565a6d9d6b93723803df5fa7735ec11aa5f14c9cc222e4e60eb54506(
2454
2570
  value: typing.Optional[builtins.str],
2455
2571
  ) -> None:
@@ -2480,6 +2596,13 @@ def _typecheckingstub__45578973503123093d3b0c8f845e2df0c9ad023b7df510f3a7b7ee7ab
2480
2596
  """Type checking stubs"""
2481
2597
  pass
2482
2598
 
2599
+ def _typecheckingstub__6b8bb721cb69256e1874ed2434c876ca06e731c0455e767d0cf32adcf3a13207(
2600
+ *,
2601
+ look_back_window_minutes: jsii.Number,
2602
+ ) -> None:
2603
+ """Type checking stubs"""
2604
+ pass
2605
+
2483
2606
  def _typecheckingstub__bb256cb6878f107649da0ff6e94d5a653ad8e2c683a434ba458525e129419535(
2484
2607
  *,
2485
2608
  duration: jsii.Number,
@@ -2604,6 +2727,7 @@ def _typecheckingstub__fcb2d383c03844ff1706f4720c7bf04c5a00252d1e49f3ecb2c00c22b
2604
2727
  def _typecheckingstub__8a302456885343cc9ce5e0497feed773de1ef0f44e2934f97458bfdc5a810dee(
2605
2728
  *,
2606
2729
  name: builtins.str,
2730
+ burn_rate_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.BurnRateConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2607
2731
  description: typing.Optional[builtins.str] = None,
2608
2732
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2609
2733
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,