aws-cdk-lib 2.185.0__py3-none-any.whl → 2.186.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 (49) hide show
  1. aws_cdk/__init__.py +102 -29
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.185.0.jsii.tgz → aws-cdk-lib@2.186.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +3 -2
  5. aws_cdk/aws_apigatewayv2/__init__.py +9 -0
  6. aws_cdk/aws_appconfig/__init__.py +3 -3
  7. aws_cdk/aws_applicationsignals/__init__.py +363 -3
  8. aws_cdk/aws_appsync/__init__.py +65 -3
  9. aws_cdk/aws_bedrock/__init__.py +385 -14
  10. aws_cdk/aws_cleanrooms/__init__.py +21 -9
  11. aws_cdk/aws_cloudformation/__init__.py +1 -5
  12. aws_cdk/aws_cloudfront/__init__.py +4 -1
  13. aws_cdk/aws_cloudfront_origins/__init__.py +4 -2
  14. aws_cdk/aws_codeartifact/__init__.py +20 -33
  15. aws_cdk/aws_codepipeline/__init__.py +1328 -120
  16. aws_cdk/aws_cognito/__init__.py +1 -1
  17. aws_cdk/aws_cognito_identitypool/__init__.py +2303 -0
  18. aws_cdk/aws_connect/__init__.py +3 -7
  19. aws_cdk/aws_controltower/__init__.py +18 -26
  20. aws_cdk/aws_datazone/__init__.py +3471 -2
  21. aws_cdk/aws_ec2/__init__.py +560 -25
  22. aws_cdk/aws_ecs/__init__.py +15 -20
  23. aws_cdk/aws_events/__init__.py +37 -14
  24. aws_cdk/aws_gamelift/__init__.py +5 -5
  25. aws_cdk/aws_iam/__init__.py +264 -0
  26. aws_cdk/aws_imagebuilder/__init__.py +3 -27
  27. aws_cdk/aws_kinesisfirehose/__init__.py +2 -3
  28. aws_cdk/aws_lambda/__init__.py +7 -1
  29. aws_cdk/aws_location/__init__.py +24 -7
  30. aws_cdk/aws_msk/__init__.py +8 -2
  31. aws_cdk/aws_networkfirewall/__init__.py +16 -12
  32. aws_cdk/aws_oam/__init__.py +8 -37
  33. aws_cdk/aws_quicksight/__init__.py +6 -69
  34. aws_cdk/aws_redshiftserverless/__init__.py +192 -15
  35. aws_cdk/aws_rum/__init__.py +315 -52
  36. aws_cdk/aws_scheduler/__init__.py +3944 -121
  37. aws_cdk/aws_scheduler_targets/__init__.py +4472 -0
  38. aws_cdk/aws_ssmquicksetup/__init__.py +5 -3
  39. aws_cdk/aws_stepfunctions/__init__.py +17 -15
  40. aws_cdk/aws_timestream/__init__.py +4 -4
  41. aws_cdk/aws_wafv2/__init__.py +345 -0
  42. aws_cdk/aws_workspacesthinclient/__init__.py +4 -4
  43. aws_cdk/cx_api/__init__.py +23 -0
  44. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.186.0.dist-info}/METADATA +1 -1
  45. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.186.0.dist-info}/RECORD +49 -47
  46. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.186.0.dist-info}/LICENSE +0 -0
  47. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.186.0.dist-info}/NOTICE +0 -0
  48. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.186.0.dist-info}/WHEEL +0 -0
  49. {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.186.0.dist-info}/top_level.txt +0 -0
@@ -85,7 +85,19 @@ class CfnDiscovery(
85
85
  metaclass=jsii.JSIIMeta,
86
86
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnDiscovery",
87
87
  ):
88
- '''Resource Type definition for AWS::ApplicationSignals::Discovery.
88
+ '''Enables this AWS account to be able to use CloudWatch Application Signals by creating the ``AWSServiceRoleForCloudWatchApplicationSignals`` service-linked role.
89
+
90
+ This service-linked role has the following permissions:
91
+
92
+ - ``xray:GetServiceGraph``
93
+ - ``logs:StartQuery``
94
+ - ``logs:GetQueryResults``
95
+ - ``cloudwatch:GetMetricData``
96
+ - ``cloudwatch:ListMetrics``
97
+ - ``tag:GetResources``
98
+ - ``autoscaling:DescribeAutoScalingGroups``
99
+
100
+ After completing this step, you still need to instrument your Java and Python applications to send data to Application Signals. For more information, see `Enabling Application Signals <https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Signals-Enable.html>`_ .
89
101
 
90
102
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-discovery.html
91
103
  :cloudformationResource: AWS::ApplicationSignals::Discovery
@@ -146,7 +158,7 @@ class CfnDiscovery(
146
158
  @builtins.property
147
159
  @jsii.member(jsii_name="attrAccountId")
148
160
  def attr_account_id(self) -> builtins.str:
149
- '''The identifier for the specified AWS account.
161
+ '''The 12 digit AWS Account ID for the account.
150
162
 
151
163
  :cloudformationAttribute: AccountId
152
164
  '''
@@ -259,6 +271,19 @@ class CfnServiceLevelObjective(
259
271
  look_back_window_minutes=123
260
272
  )],
261
273
  description="description",
274
+ exclusion_windows=[applicationsignals.CfnServiceLevelObjective.ExclusionWindowProperty(
275
+ window=applicationsignals.CfnServiceLevelObjective.WindowProperty(
276
+ duration=123,
277
+ duration_unit="durationUnit"
278
+ ),
279
+
280
+ # the properties below are optional
281
+ reason="reason",
282
+ recurrence_rule=applicationsignals.CfnServiceLevelObjective.RecurrenceRuleProperty(
283
+ expression="expression"
284
+ ),
285
+ start_time="startTime"
286
+ )],
262
287
  goal=applicationsignals.CfnServiceLevelObjective.GoalProperty(
263
288
  attainment_goal=123,
264
289
  interval=applicationsignals.CfnServiceLevelObjective.IntervalProperty(
@@ -409,6 +434,7 @@ class CfnServiceLevelObjective(
409
434
  name: builtins.str,
410
435
  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,
411
436
  description: typing.Optional[builtins.str] = None,
437
+ exclusion_windows: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.ExclusionWindowProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
412
438
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.GoalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
413
439
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.RequestBasedSliProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
414
440
  sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.SliProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -420,6 +446,7 @@ class CfnServiceLevelObjective(
420
446
  :param name: A name for this SLO.
421
447
  :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.
422
448
  :param description: An optional description for this SLO. Default: - "No description"
449
+ :param exclusion_windows: Each object in this array defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics.
423
450
  :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.
424
451
  :param request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
425
452
  :param sli: A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
@@ -433,6 +460,7 @@ class CfnServiceLevelObjective(
433
460
  name=name,
434
461
  burn_rate_configurations=burn_rate_configurations,
435
462
  description=description,
463
+ exclusion_windows=exclusion_windows,
436
464
  goal=goal,
437
465
  request_based_sli=request_based_sli,
438
466
  sli=sli,
@@ -562,6 +590,24 @@ class CfnServiceLevelObjective(
562
590
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
563
591
  jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
564
592
 
593
+ @builtins.property
594
+ @jsii.member(jsii_name="exclusionWindows")
595
+ def exclusion_windows(
596
+ self,
597
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.ExclusionWindowProperty"]]]]:
598
+ '''Each object in this array defines a time exclusion window for this SLO.'''
599
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.ExclusionWindowProperty"]]]], jsii.get(self, "exclusionWindows"))
600
+
601
+ @exclusion_windows.setter
602
+ def exclusion_windows(
603
+ self,
604
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.ExclusionWindowProperty"]]]],
605
+ ) -> None:
606
+ if __debug__:
607
+ type_hints = typing.get_type_hints(_typecheckingstub__12094042b1bb44e7cdfb19ae3553ea8b1db7d2b3b66cc338aec192856d68565e)
608
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
609
+ jsii.set(self, "exclusionWindows", value) # pyright: ignore[reportArgumentType]
610
+
565
611
  @builtins.property
566
612
  @jsii.member(jsii_name="goal")
567
613
  def goal(
@@ -861,6 +907,129 @@ class CfnServiceLevelObjective(
861
907
  k + "=" + repr(v) for k, v in self._values.items()
862
908
  )
863
909
 
910
+ @jsii.data_type(
911
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.ExclusionWindowProperty",
912
+ jsii_struct_bases=[],
913
+ name_mapping={
914
+ "window": "window",
915
+ "reason": "reason",
916
+ "recurrence_rule": "recurrenceRule",
917
+ "start_time": "startTime",
918
+ },
919
+ )
920
+ class ExclusionWindowProperty:
921
+ def __init__(
922
+ self,
923
+ *,
924
+ window: typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.WindowProperty", typing.Dict[builtins.str, typing.Any]]],
925
+ reason: typing.Optional[builtins.str] = None,
926
+ recurrence_rule: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.RecurrenceRuleProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
927
+ start_time: typing.Optional[builtins.str] = None,
928
+ ) -> None:
929
+ '''The core SLO time window exclusion object that includes Window, StartTime, RecurrenceRule, and Reason.
930
+
931
+ :param window: The SLO time window exclusion .
932
+ :param reason: A description explaining why this time period should be excluded from SLO calculations. Default: - "No reason"
933
+ :param recurrence_rule: The recurrence rule for the SLO time window exclusion. Supports both cron and rate expressions.
934
+ :param start_time: The start of the SLO time window exclusion. Defaults to current time if not specified.
935
+
936
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html
937
+ :exampleMetadata: fixture=_generated
938
+
939
+ Example::
940
+
941
+ # The code below shows an example of how to instantiate this type.
942
+ # The values are placeholders you should change.
943
+ from aws_cdk import aws_applicationsignals as applicationsignals
944
+
945
+ exclusion_window_property = applicationsignals.CfnServiceLevelObjective.ExclusionWindowProperty(
946
+ window=applicationsignals.CfnServiceLevelObjective.WindowProperty(
947
+ duration=123,
948
+ duration_unit="durationUnit"
949
+ ),
950
+
951
+ # the properties below are optional
952
+ reason="reason",
953
+ recurrence_rule=applicationsignals.CfnServiceLevelObjective.RecurrenceRuleProperty(
954
+ expression="expression"
955
+ ),
956
+ start_time="startTime"
957
+ )
958
+ '''
959
+ if __debug__:
960
+ type_hints = typing.get_type_hints(_typecheckingstub__5f50a7c6c189c1968d91d7385dec3a8615dab8502954c829a9f0fd21cc6ee334)
961
+ check_type(argname="argument window", value=window, expected_type=type_hints["window"])
962
+ check_type(argname="argument reason", value=reason, expected_type=type_hints["reason"])
963
+ check_type(argname="argument recurrence_rule", value=recurrence_rule, expected_type=type_hints["recurrence_rule"])
964
+ check_type(argname="argument start_time", value=start_time, expected_type=type_hints["start_time"])
965
+ self._values: typing.Dict[builtins.str, typing.Any] = {
966
+ "window": window,
967
+ }
968
+ if reason is not None:
969
+ self._values["reason"] = reason
970
+ if recurrence_rule is not None:
971
+ self._values["recurrence_rule"] = recurrence_rule
972
+ if start_time is not None:
973
+ self._values["start_time"] = start_time
974
+
975
+ @builtins.property
976
+ def window(
977
+ self,
978
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.WindowProperty"]:
979
+ '''The SLO time window exclusion .
980
+
981
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html#cfn-applicationsignals-servicelevelobjective-exclusionwindow-window
982
+ '''
983
+ result = self._values.get("window")
984
+ assert result is not None, "Required property 'window' is missing"
985
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.WindowProperty"], result)
986
+
987
+ @builtins.property
988
+ def reason(self) -> typing.Optional[builtins.str]:
989
+ '''A description explaining why this time period should be excluded from SLO calculations.
990
+
991
+ :default: - "No reason"
992
+
993
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html#cfn-applicationsignals-servicelevelobjective-exclusionwindow-reason
994
+ '''
995
+ result = self._values.get("reason")
996
+ return typing.cast(typing.Optional[builtins.str], result)
997
+
998
+ @builtins.property
999
+ def recurrence_rule(
1000
+ self,
1001
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.RecurrenceRuleProperty"]]:
1002
+ '''The recurrence rule for the SLO time window exclusion.
1003
+
1004
+ Supports both cron and rate expressions.
1005
+
1006
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html#cfn-applicationsignals-servicelevelobjective-exclusionwindow-recurrencerule
1007
+ '''
1008
+ result = self._values.get("recurrence_rule")
1009
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.RecurrenceRuleProperty"]], result)
1010
+
1011
+ @builtins.property
1012
+ def start_time(self) -> typing.Optional[builtins.str]:
1013
+ '''The start of the SLO time window exclusion.
1014
+
1015
+ Defaults to current time if not specified.
1016
+
1017
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html#cfn-applicationsignals-servicelevelobjective-exclusionwindow-starttime
1018
+ '''
1019
+ result = self._values.get("start_time")
1020
+ return typing.cast(typing.Optional[builtins.str], result)
1021
+
1022
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1023
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1024
+
1025
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1026
+ return not (rhs == self)
1027
+
1028
+ def __repr__(self) -> str:
1029
+ return "ExclusionWindowProperty(%s)" % ", ".join(
1030
+ k + "=" + repr(v) for k, v in self._values.items()
1031
+ )
1032
+
864
1033
  @jsii.data_type(
865
1034
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.GoalProperty",
866
1035
  jsii_struct_bases=[],
@@ -1564,6 +1733,58 @@ class CfnServiceLevelObjective(
1564
1733
  k + "=" + repr(v) for k, v in self._values.items()
1565
1734
  )
1566
1735
 
1736
+ @jsii.data_type(
1737
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.RecurrenceRuleProperty",
1738
+ jsii_struct_bases=[],
1739
+ name_mapping={"expression": "expression"},
1740
+ )
1741
+ class RecurrenceRuleProperty:
1742
+ def __init__(self, *, expression: builtins.str) -> None:
1743
+ '''The recurrence rule for the SLO time window exclusion .
1744
+
1745
+ :param expression: A cron or rate expression that specifies the schedule for the exclusion window.
1746
+
1747
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-recurrencerule.html
1748
+ :exampleMetadata: fixture=_generated
1749
+
1750
+ Example::
1751
+
1752
+ # The code below shows an example of how to instantiate this type.
1753
+ # The values are placeholders you should change.
1754
+ from aws_cdk import aws_applicationsignals as applicationsignals
1755
+
1756
+ recurrence_rule_property = applicationsignals.CfnServiceLevelObjective.RecurrenceRuleProperty(
1757
+ expression="expression"
1758
+ )
1759
+ '''
1760
+ if __debug__:
1761
+ type_hints = typing.get_type_hints(_typecheckingstub__72802c93952329c50a04d38e97421844a870c20c3cf6b7347a281a130871009e)
1762
+ check_type(argname="argument expression", value=expression, expected_type=type_hints["expression"])
1763
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1764
+ "expression": expression,
1765
+ }
1766
+
1767
+ @builtins.property
1768
+ def expression(self) -> builtins.str:
1769
+ '''A cron or rate expression that specifies the schedule for the exclusion window.
1770
+
1771
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-recurrencerule.html#cfn-applicationsignals-servicelevelobjective-recurrencerule-expression
1772
+ '''
1773
+ result = self._values.get("expression")
1774
+ assert result is not None, "Required property 'expression' is missing"
1775
+ return typing.cast(builtins.str, result)
1776
+
1777
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1778
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1779
+
1780
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1781
+ return not (rhs == self)
1782
+
1783
+ def __repr__(self) -> str:
1784
+ return "RecurrenceRuleProperty(%s)" % ", ".join(
1785
+ k + "=" + repr(v) for k, v in self._values.items()
1786
+ )
1787
+
1567
1788
  @jsii.data_type(
1568
1789
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty",
1569
1790
  jsii_struct_bases=[],
@@ -1587,7 +1808,7 @@ class CfnServiceLevelObjective(
1587
1808
  ) -> None:
1588
1809
  '''This structure contains the information about the metric that is used for a request-based SLO.
1589
1810
 
1590
- :param key_attributes: This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. - ``Type`` designates the type of object that this SLO is related to. - ``ResourceType`` specifies the type of the resource. This field is used only when the value of the ``Type`` field is ``Resource`` or ``AWS::Resource`` . - ``Name`` specifies the name of the object. This is used only if the value of the ``Type`` field is ``Service`` , ``RemoteService`` , or ``AWS::Service`` . - ``Identifier`` identifies the resource objects of this resource. This is used only if the value of the ``Type`` field is ``Resource`` or ``AWS::Resource`` . - ``Environment`` specifies the location where this object is hosted, or what it belongs to.
1811
+ :param key_attributes: This is a string-to-string map that contains information about the type of object that this SLO is related to. It can include the following fields. - ``Type`` designates the type of object that this SLO is related to. - ``ResourceType`` specifies the type of the resource. This field is used only when the value of the ``Type`` field is ``Resource`` or ``AWS::Resource`` . - ``Name`` specifies the name of the object. This is used only if the value of the ``Type`` field is ``Service`` , ``RemoteService`` , or ``AWS::Service`` . - ``Identifier`` identifies the resource objects of this resource. This is used only if the value of the ``Type`` field is ``Resource`` or ``AWS::Resource`` . - ``Environment`` specifies the location where this object is hosted, or what it belongs to. - ``AwsAccountId`` allows you to create an SLO for an object that exists in another account.
1591
1812
  :param metric_type: If the SLO monitors either the ``LATENCY`` or ``AVAILABILITY`` metric that Application Signals collects, this field displays which of those metrics is used.
1592
1813
  :param monitored_request_count_metric: Use this structure to define the metric that you want to use as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in ``TotalRequestCountMetric`` will be divided by the number found for ``MonitoredRequestCountMetric`` to determine the percentage of successful requests that this SLO tracks.
1593
1814
  :param operation_name: If the SLO monitors a specific operation of the service, this field displays that operation name.
@@ -1713,6 +1934,7 @@ class CfnServiceLevelObjective(
1713
1934
  - ``Name`` specifies the name of the object. This is used only if the value of the ``Type`` field is ``Service`` , ``RemoteService`` , or ``AWS::Service`` .
1714
1935
  - ``Identifier`` identifies the resource objects of this resource. This is used only if the value of the ``Type`` field is ``Resource`` or ``AWS::Resource`` .
1715
1936
  - ``Environment`` specifies the location where this object is hosted, or what it belongs to.
1937
+ - ``AwsAccountId`` allows you to create an SLO for an object that exists in another account.
1716
1938
 
1717
1939
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-keyattributes
1718
1940
  '''
@@ -2320,6 +2542,79 @@ class CfnServiceLevelObjective(
2320
2542
  k + "=" + repr(v) for k, v in self._values.items()
2321
2543
  )
2322
2544
 
2545
+ @jsii.data_type(
2546
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.WindowProperty",
2547
+ jsii_struct_bases=[],
2548
+ name_mapping={"duration": "duration", "duration_unit": "durationUnit"},
2549
+ )
2550
+ class WindowProperty:
2551
+ def __init__(
2552
+ self,
2553
+ *,
2554
+ duration: jsii.Number,
2555
+ duration_unit: builtins.str,
2556
+ ) -> None:
2557
+ '''The object that defines the time length of an exclusion window.
2558
+
2559
+ :param duration: The number of time units for the exclusion window length.
2560
+ :param duration_unit: The unit of time for the exclusion window duration. Valid values: MINUTE, HOUR, DAY, MONTH.
2561
+
2562
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-window.html
2563
+ :exampleMetadata: fixture=_generated
2564
+
2565
+ Example::
2566
+
2567
+ # The code below shows an example of how to instantiate this type.
2568
+ # The values are placeholders you should change.
2569
+ from aws_cdk import aws_applicationsignals as applicationsignals
2570
+
2571
+ window_property = applicationsignals.CfnServiceLevelObjective.WindowProperty(
2572
+ duration=123,
2573
+ duration_unit="durationUnit"
2574
+ )
2575
+ '''
2576
+ if __debug__:
2577
+ type_hints = typing.get_type_hints(_typecheckingstub__7cd27fd1807625da6b260ce4b909abd68a6e0ece1732fab3f05f19247123cfbf)
2578
+ check_type(argname="argument duration", value=duration, expected_type=type_hints["duration"])
2579
+ check_type(argname="argument duration_unit", value=duration_unit, expected_type=type_hints["duration_unit"])
2580
+ self._values: typing.Dict[builtins.str, typing.Any] = {
2581
+ "duration": duration,
2582
+ "duration_unit": duration_unit,
2583
+ }
2584
+
2585
+ @builtins.property
2586
+ def duration(self) -> jsii.Number:
2587
+ '''The number of time units for the exclusion window length.
2588
+
2589
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-window.html#cfn-applicationsignals-servicelevelobjective-window-duration
2590
+ '''
2591
+ result = self._values.get("duration")
2592
+ assert result is not None, "Required property 'duration' is missing"
2593
+ return typing.cast(jsii.Number, result)
2594
+
2595
+ @builtins.property
2596
+ def duration_unit(self) -> builtins.str:
2597
+ '''The unit of time for the exclusion window duration.
2598
+
2599
+ Valid values: MINUTE, HOUR, DAY, MONTH.
2600
+
2601
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-window.html#cfn-applicationsignals-servicelevelobjective-window-durationunit
2602
+ '''
2603
+ result = self._values.get("duration_unit")
2604
+ assert result is not None, "Required property 'duration_unit' is missing"
2605
+ return typing.cast(builtins.str, result)
2606
+
2607
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
2608
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
2609
+
2610
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
2611
+ return not (rhs == self)
2612
+
2613
+ def __repr__(self) -> str:
2614
+ return "WindowProperty(%s)" % ", ".join(
2615
+ k + "=" + repr(v) for k, v in self._values.items()
2616
+ )
2617
+
2323
2618
 
2324
2619
  @jsii.data_type(
2325
2620
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjectiveProps",
@@ -2328,6 +2623,7 @@ class CfnServiceLevelObjective(
2328
2623
  "name": "name",
2329
2624
  "burn_rate_configurations": "burnRateConfigurations",
2330
2625
  "description": "description",
2626
+ "exclusion_windows": "exclusionWindows",
2331
2627
  "goal": "goal",
2332
2628
  "request_based_sli": "requestBasedSli",
2333
2629
  "sli": "sli",
@@ -2341,6 +2637,7 @@ class CfnServiceLevelObjectiveProps:
2341
2637
  name: builtins.str,
2342
2638
  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,
2343
2639
  description: typing.Optional[builtins.str] = None,
2640
+ exclusion_windows: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.ExclusionWindowProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2344
2641
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2345
2642
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2346
2643
  sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -2351,6 +2648,7 @@ class CfnServiceLevelObjectiveProps:
2351
2648
  :param name: A name for this SLO.
2352
2649
  :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.
2353
2650
  :param description: An optional description for this SLO. Default: - "No description"
2651
+ :param exclusion_windows: Each object in this array defines a time exclusion window for this SLO. The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics.
2354
2652
  :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.
2355
2653
  :param request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
2356
2654
  :param sli: A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
@@ -2373,6 +2671,19 @@ class CfnServiceLevelObjectiveProps:
2373
2671
  look_back_window_minutes=123
2374
2672
  )],
2375
2673
  description="description",
2674
+ exclusion_windows=[applicationsignals.CfnServiceLevelObjective.ExclusionWindowProperty(
2675
+ window=applicationsignals.CfnServiceLevelObjective.WindowProperty(
2676
+ duration=123,
2677
+ duration_unit="durationUnit"
2678
+ ),
2679
+
2680
+ # the properties below are optional
2681
+ reason="reason",
2682
+ recurrence_rule=applicationsignals.CfnServiceLevelObjective.RecurrenceRuleProperty(
2683
+ expression="expression"
2684
+ ),
2685
+ start_time="startTime"
2686
+ )],
2376
2687
  goal=applicationsignals.CfnServiceLevelObjective.GoalProperty(
2377
2688
  attainment_goal=123,
2378
2689
  interval=applicationsignals.CfnServiceLevelObjective.IntervalProperty(
@@ -2519,6 +2830,7 @@ class CfnServiceLevelObjectiveProps:
2519
2830
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2520
2831
  check_type(argname="argument burn_rate_configurations", value=burn_rate_configurations, expected_type=type_hints["burn_rate_configurations"])
2521
2832
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
2833
+ check_type(argname="argument exclusion_windows", value=exclusion_windows, expected_type=type_hints["exclusion_windows"])
2522
2834
  check_type(argname="argument goal", value=goal, expected_type=type_hints["goal"])
2523
2835
  check_type(argname="argument request_based_sli", value=request_based_sli, expected_type=type_hints["request_based_sli"])
2524
2836
  check_type(argname="argument sli", value=sli, expected_type=type_hints["sli"])
@@ -2530,6 +2842,8 @@ class CfnServiceLevelObjectiveProps:
2530
2842
  self._values["burn_rate_configurations"] = burn_rate_configurations
2531
2843
  if description is not None:
2532
2844
  self._values["description"] = description
2845
+ if exclusion_windows is not None:
2846
+ self._values["exclusion_windows"] = exclusion_windows
2533
2847
  if goal is not None:
2534
2848
  self._values["goal"] = goal
2535
2849
  if request_based_sli is not None:
@@ -2573,6 +2887,19 @@ class CfnServiceLevelObjectiveProps:
2573
2887
  result = self._values.get("description")
2574
2888
  return typing.cast(typing.Optional[builtins.str], result)
2575
2889
 
2890
+ @builtins.property
2891
+ def exclusion_windows(
2892
+ self,
2893
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.ExclusionWindowProperty]]]]:
2894
+ '''Each object in this array defines a time exclusion window for this SLO.
2895
+
2896
+ The time exclusion window is used to exclude breaching data points from affecting attainment rate, error budget, and burn rate metrics.
2897
+
2898
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-exclusionwindows
2899
+ '''
2900
+ result = self._values.get("exclusion_windows")
2901
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.ExclusionWindowProperty]]]], result)
2902
+
2576
2903
  @builtins.property
2577
2904
  def goal(
2578
2905
  self,
@@ -2668,6 +2995,7 @@ def _typecheckingstub__8476d024be5b448cfb8f9ae2f80fa7f2083296f712cdb7cd12e69365d
2668
2995
  name: builtins.str,
2669
2996
  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,
2670
2997
  description: typing.Optional[builtins.str] = None,
2998
+ exclusion_windows: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.ExclusionWindowProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2671
2999
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2672
3000
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2673
3001
  sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -2706,6 +3034,12 @@ def _typecheckingstub__c6761a51565a6d9d6b93723803df5fa7735ec11aa5f14c9cc222e4e60
2706
3034
  """Type checking stubs"""
2707
3035
  pass
2708
3036
 
3037
+ def _typecheckingstub__12094042b1bb44e7cdfb19ae3553ea8b1db7d2b3b66cc338aec192856d68565e(
3038
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.ExclusionWindowProperty]]]],
3039
+ ) -> None:
3040
+ """Type checking stubs"""
3041
+ pass
3042
+
2709
3043
  def _typecheckingstub__f72f1f3f286714a7cb6611be91fc84bc135d11974635585192dc6a6bbfe2f51e(
2710
3044
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.GoalProperty]],
2711
3045
  ) -> None:
@@ -2754,6 +3088,16 @@ def _typecheckingstub__9e8e6b95cda618658802fc7b704459e5b42989b01fe12f60c38caea77
2754
3088
  """Type checking stubs"""
2755
3089
  pass
2756
3090
 
3091
+ def _typecheckingstub__5f50a7c6c189c1968d91d7385dec3a8615dab8502954c829a9f0fd21cc6ee334(
3092
+ *,
3093
+ window: typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.WindowProperty, typing.Dict[builtins.str, typing.Any]]],
3094
+ reason: typing.Optional[builtins.str] = None,
3095
+ recurrence_rule: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RecurrenceRuleProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3096
+ start_time: typing.Optional[builtins.str] = None,
3097
+ ) -> None:
3098
+ """Type checking stubs"""
3099
+ pass
3100
+
2757
3101
  def _typecheckingstub__cfc131adfea10ec8f2150d53534dabca2819dd847e258cdb22dd5820d87c65e9(
2758
3102
  *,
2759
3103
  attainment_goal: typing.Optional[jsii.Number] = None,
@@ -2809,6 +3153,13 @@ def _typecheckingstub__0e098e20f2cfc04332a5fbb15ca2b6cd689368d77d87938dc8d7467b0
2809
3153
  """Type checking stubs"""
2810
3154
  pass
2811
3155
 
3156
+ def _typecheckingstub__72802c93952329c50a04d38e97421844a870c20c3cf6b7347a281a130871009e(
3157
+ *,
3158
+ expression: builtins.str,
3159
+ ) -> None:
3160
+ """Type checking stubs"""
3161
+ pass
3162
+
2812
3163
  def _typecheckingstub__2e0bf3c4e354ab94132efc9fd8fa57b0d903b7020ec1b6c4d1c1388698e31a7d(
2813
3164
  *,
2814
3165
  key_attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
@@ -2858,11 +3209,20 @@ def _typecheckingstub__fcb2d383c03844ff1706f4720c7bf04c5a00252d1e49f3ecb2c00c22b
2858
3209
  """Type checking stubs"""
2859
3210
  pass
2860
3211
 
3212
+ def _typecheckingstub__7cd27fd1807625da6b260ce4b909abd68a6e0ece1732fab3f05f19247123cfbf(
3213
+ *,
3214
+ duration: jsii.Number,
3215
+ duration_unit: builtins.str,
3216
+ ) -> None:
3217
+ """Type checking stubs"""
3218
+ pass
3219
+
2861
3220
  def _typecheckingstub__8a302456885343cc9ce5e0497feed773de1ef0f44e2934f97458bfdc5a810dee(
2862
3221
  *,
2863
3222
  name: builtins.str,
2864
3223
  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,
2865
3224
  description: typing.Optional[builtins.str] = None,
3225
+ exclusion_windows: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.ExclusionWindowProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2866
3226
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2867
3227
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2868
3228
  sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,