aws-cdk-lib 2.189.0__py3-none-any.whl → 2.190.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 (53) hide show
  1. aws_cdk/__init__.py +16 -2
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.189.0.jsii.tgz → aws-cdk-lib@2.190.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +6 -6
  5. aws_cdk/aws_apigatewayv2/__init__.py +374 -6
  6. aws_cdk/aws_applicationautoscaling/__init__.py +16 -10
  7. aws_cdk/aws_applicationsignals/__init__.py +204 -31
  8. aws_cdk/aws_backup/__init__.py +0 -41
  9. aws_cdk/aws_batch/__init__.py +215 -0
  10. aws_cdk/aws_bedrock/__init__.py +287 -0
  11. aws_cdk/aws_cleanrooms/__init__.py +1392 -78
  12. aws_cdk/aws_cloudfront/__init__.py +1 -0
  13. aws_cdk/aws_cloudtrail/__init__.py +24 -26
  14. aws_cdk/aws_codebuild/__init__.py +59 -7
  15. aws_cdk/aws_dms/__init__.py +43 -0
  16. aws_cdk/aws_ec2/__init__.py +364 -30
  17. aws_cdk/aws_ecs/__init__.py +36 -5
  18. aws_cdk/aws_eks/__init__.py +2 -100
  19. aws_cdk/aws_elasticache/__init__.py +6 -11
  20. aws_cdk/aws_elasticloadbalancingv2/__init__.py +341 -0
  21. aws_cdk/aws_events/__init__.py +67 -13
  22. aws_cdk/aws_fsx/__init__.py +9 -21
  23. aws_cdk/aws_iam/__init__.py +1 -1
  24. aws_cdk/aws_iot/__init__.py +6 -6
  25. aws_cdk/aws_kafkaconnect/__init__.py +2 -2
  26. aws_cdk/aws_kinesis/__init__.py +44 -0
  27. aws_cdk/aws_lex/__init__.py +615 -39
  28. aws_cdk/aws_location/__init__.py +4 -4
  29. aws_cdk/aws_macie/__init__.py +14 -3
  30. aws_cdk/aws_memorydb/__init__.py +87 -0
  31. aws_cdk/aws_msk/__init__.py +226 -127
  32. aws_cdk/aws_neptune/__init__.py +0 -8
  33. aws_cdk/aws_opensearchservice/__init__.py +64 -56
  34. aws_cdk/aws_paymentcryptography/__init__.py +41 -0
  35. aws_cdk/aws_qbusiness/__init__.py +175 -3
  36. aws_cdk/aws_quicksight/__init__.py +393 -0
  37. aws_cdk/aws_rds/__init__.py +113 -120
  38. aws_cdk/aws_redshiftserverless/__init__.py +4 -14
  39. aws_cdk/aws_route53resolver/__init__.py +60 -9
  40. aws_cdk/aws_s3/__init__.py +34 -1
  41. aws_cdk/aws_s3_deployment/__init__.py +202 -5
  42. aws_cdk/aws_sagemaker/__init__.py +40 -40
  43. aws_cdk/aws_ssmquicksetup/__init__.py +3 -3
  44. aws_cdk/aws_stepfunctions/__init__.py +720 -45
  45. aws_cdk/aws_transfer/__init__.py +55 -2
  46. aws_cdk/custom_resources/__init__.py +5 -5
  47. aws_cdk/pipelines/__init__.py +1 -2
  48. {aws_cdk_lib-2.189.0.dist-info → aws_cdk_lib-2.190.0.dist-info}/METADATA +1 -1
  49. {aws_cdk_lib-2.189.0.dist-info → aws_cdk_lib-2.190.0.dist-info}/RECORD +53 -53
  50. {aws_cdk_lib-2.189.0.dist-info → aws_cdk_lib-2.190.0.dist-info}/LICENSE +0 -0
  51. {aws_cdk_lib-2.189.0.dist-info → aws_cdk_lib-2.190.0.dist-info}/NOTICE +0 -0
  52. {aws_cdk_lib-2.189.0.dist-info → aws_cdk_lib-2.190.0.dist-info}/WHEEL +0 -0
  53. {aws_cdk_lib-2.189.0.dist-info → aws_cdk_lib-2.190.0.dist-info}/top_level.txt +0 -0
@@ -214,7 +214,7 @@ class CfnServiceLevelObjective(
214
214
 
215
215
  Use SLOs to set and track specific target levels for the reliability and availability of your applications and services. SLOs use service level indicators (SLIs) to calculate whether the application is performing at the level that you want.
216
216
 
217
- Create an SLO to set a target for a service or operation’s availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.
217
+ Create an SLO to set a target for a service operation, or service dependency's availability or latency. CloudWatch measures this target frequently you can find whether it has been breached.
218
218
 
219
219
  The target performance quality that is defined for an SLO is the *attainment goal* . An attainment goal is the percentage of time or requests that the SLI is expected to meet the threshold over each time interval. For example, an attainment goal of 99.9% means that within your interval, you are targeting 99.9% of the periods to be in healthy state.
220
220
 
@@ -244,7 +244,7 @@ class CfnServiceLevelObjective(
244
244
  - ``tag:GetResources``
245
245
  - ``autoscaling:DescribeAutoScalingGroups``
246
246
 
247
- 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.
247
+ You can easily set SLO targets for your applications, and their dependencies, 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.
248
248
  .. epigraph::
249
249
 
250
250
  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.
@@ -301,6 +301,12 @@ class CfnServiceLevelObjective(
301
301
  ),
302
302
  request_based_sli=applicationsignals.CfnServiceLevelObjective.RequestBasedSliProperty(
303
303
  request_based_sli_metric=applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty(
304
+ dependency_config=applicationsignals.CfnServiceLevelObjective.DependencyConfigProperty(
305
+ dependency_key_attributes={
306
+ "dependency_key_attributes_key": "dependencyKeyAttributes"
307
+ },
308
+ dependency_operation_name="dependencyOperationName"
309
+ ),
304
310
  key_attributes={
305
311
  "key_attributes_key": "keyAttributes"
306
312
  },
@@ -387,6 +393,12 @@ class CfnServiceLevelObjective(
387
393
  comparison_operator="comparisonOperator",
388
394
  metric_threshold=123,
389
395
  sli_metric=applicationsignals.CfnServiceLevelObjective.SliMetricProperty(
396
+ dependency_config=applicationsignals.CfnServiceLevelObjective.DependencyConfigProperty(
397
+ dependency_key_attributes={
398
+ "dependency_key_attributes_key": "dependencyKeyAttributes"
399
+ },
400
+ dependency_operation_name="dependencyOperationName"
401
+ ),
390
402
  key_attributes={
391
403
  "key_attributes_key": "keyAttributes"
392
404
  },
@@ -446,7 +458,7 @@ class CfnServiceLevelObjective(
446
458
  :param name: A name for this SLO.
447
459
  :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.
448
460
  :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.
461
+ :param exclusion_windows: The time window to be excluded from the SLO performance metrics.
450
462
  :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.
451
463
  :param request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
452
464
  :param sli: A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
@@ -595,7 +607,7 @@ class CfnServiceLevelObjective(
595
607
  def exclusion_windows(
596
608
  self,
597
609
  ) -> 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.'''
610
+ '''The time window to be excluded from the SLO performance metrics.'''
599
611
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.ExclusionWindowProperty"]]]], jsii.get(self, "exclusionWindows"))
600
612
 
601
613
  @exclusion_windows.setter
@@ -833,6 +845,90 @@ class CfnServiceLevelObjective(
833
845
  k + "=" + repr(v) for k, v in self._values.items()
834
846
  )
835
847
 
848
+ @jsii.data_type(
849
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.DependencyConfigProperty",
850
+ jsii_struct_bases=[],
851
+ name_mapping={
852
+ "dependency_key_attributes": "dependencyKeyAttributes",
853
+ "dependency_operation_name": "dependencyOperationName",
854
+ },
855
+ )
856
+ class DependencyConfigProperty:
857
+ def __init__(
858
+ self,
859
+ *,
860
+ dependency_key_attributes: typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b],
861
+ dependency_operation_name: builtins.str,
862
+ ) -> None:
863
+ '''Identifies the dependency using the ``DependencyKeyAttributes`` and ``DependencyOperationName`` .
864
+
865
+ :param dependency_key_attributes: If this SLO is related to a metric collected by Application Signals, you must use this field to specify which dependency the SLO metric is related to. - ``Type`` designates the type of object this is. - ``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.
866
+ :param dependency_operation_name: When the SLO monitors a specific operation of the dependency, this field specifies the name of that operation in the dependency.
867
+
868
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dependencyconfig.html
869
+ :exampleMetadata: fixture=_generated
870
+
871
+ Example::
872
+
873
+ # The code below shows an example of how to instantiate this type.
874
+ # The values are placeholders you should change.
875
+ from aws_cdk import aws_applicationsignals as applicationsignals
876
+
877
+ dependency_config_property = applicationsignals.CfnServiceLevelObjective.DependencyConfigProperty(
878
+ dependency_key_attributes={
879
+ "dependency_key_attributes_key": "dependencyKeyAttributes"
880
+ },
881
+ dependency_operation_name="dependencyOperationName"
882
+ )
883
+ '''
884
+ if __debug__:
885
+ type_hints = typing.get_type_hints(_typecheckingstub__05a6abeac0a72f5c57c47767d3431f868e43bda859b6f5468a53d09c807465a2)
886
+ check_type(argname="argument dependency_key_attributes", value=dependency_key_attributes, expected_type=type_hints["dependency_key_attributes"])
887
+ check_type(argname="argument dependency_operation_name", value=dependency_operation_name, expected_type=type_hints["dependency_operation_name"])
888
+ self._values: typing.Dict[builtins.str, typing.Any] = {
889
+ "dependency_key_attributes": dependency_key_attributes,
890
+ "dependency_operation_name": dependency_operation_name,
891
+ }
892
+
893
+ @builtins.property
894
+ def dependency_key_attributes(
895
+ self,
896
+ ) -> typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]:
897
+ '''If this SLO is related to a metric collected by Application Signals, you must use this field to specify which dependency the SLO metric is related to.
898
+
899
+ - ``Type`` designates the type of object this is.
900
+ - ``ResourceType`` specifies the type of the resource. This field is used only when the value of the ``Type`` field is ``Resource`` or ``AWS::Resource`` .
901
+ - ``Name`` specifies the name of the object. This is used only if the value of the ``Type`` field is ``Service`` , ``RemoteService`` , or ``AWS::Service`` .
902
+ - ``Identifier`` identifies the resource objects of this resource. This is used only if the value of the ``Type`` field is ``Resource`` or ``AWS::Resource`` .
903
+ - ``Environment`` specifies the location where this object is hosted, or what it belongs to.
904
+
905
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dependencyconfig.html#cfn-applicationsignals-servicelevelobjective-dependencyconfig-dependencykeyattributes
906
+ '''
907
+ result = self._values.get("dependency_key_attributes")
908
+ assert result is not None, "Required property 'dependency_key_attributes' is missing"
909
+ return typing.cast(typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b], result)
910
+
911
+ @builtins.property
912
+ def dependency_operation_name(self) -> builtins.str:
913
+ '''When the SLO monitors a specific operation of the dependency, this field specifies the name of that operation in the dependency.
914
+
915
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-dependencyconfig.html#cfn-applicationsignals-servicelevelobjective-dependencyconfig-dependencyoperationname
916
+ '''
917
+ result = self._values.get("dependency_operation_name")
918
+ assert result is not None, "Required property 'dependency_operation_name' is missing"
919
+ return typing.cast(builtins.str, result)
920
+
921
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
922
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
923
+
924
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
925
+ return not (rhs == self)
926
+
927
+ def __repr__(self) -> str:
928
+ return "DependencyConfigProperty(%s)" % ", ".join(
929
+ k + "=" + repr(v) for k, v in self._values.items()
930
+ )
931
+
836
932
  @jsii.data_type(
837
933
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.DimensionProperty",
838
934
  jsii_struct_bases=[],
@@ -926,12 +1022,12 @@ class CfnServiceLevelObjective(
926
1022
  recurrence_rule: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.RecurrenceRuleProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
927
1023
  start_time: typing.Optional[builtins.str] = None,
928
1024
  ) -> None:
929
- '''The core SLO time window exclusion object that includes Window, StartTime, RecurrenceRule, and Reason.
1025
+ '''The time window to be excluded from the SLO performance metrics.
930
1026
 
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.
1027
+ :param window: The time exclusion window.
1028
+ :param reason: The reason for the time exclusion windows. For example, maintenance. Default: - "No reason"
1029
+ :param recurrence_rule: The recurrence rule for the time exclusion window.
1030
+ :param start_time: The start time of the time exclusion window.
935
1031
 
936
1032
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html
937
1033
  :exampleMetadata: fixture=_generated
@@ -976,7 +1072,7 @@ class CfnServiceLevelObjective(
976
1072
  def window(
977
1073
  self,
978
1074
  ) -> typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.WindowProperty"]:
979
- '''The SLO time window exclusion .
1075
+ '''The time exclusion window.
980
1076
 
981
1077
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html#cfn-applicationsignals-servicelevelobjective-exclusionwindow-window
982
1078
  '''
@@ -986,7 +1082,9 @@ class CfnServiceLevelObjective(
986
1082
 
987
1083
  @builtins.property
988
1084
  def reason(self) -> typing.Optional[builtins.str]:
989
- '''A description explaining why this time period should be excluded from SLO calculations.
1085
+ '''The reason for the time exclusion windows.
1086
+
1087
+ For example, maintenance.
990
1088
 
991
1089
  :default: - "No reason"
992
1090
 
@@ -999,9 +1097,7 @@ class CfnServiceLevelObjective(
999
1097
  def recurrence_rule(
1000
1098
  self,
1001
1099
  ) -> 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.
1100
+ '''The recurrence rule for the time exclusion window.
1005
1101
 
1006
1102
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html#cfn-applicationsignals-servicelevelobjective-exclusionwindow-recurrencerule
1007
1103
  '''
@@ -1010,9 +1106,7 @@ class CfnServiceLevelObjective(
1010
1106
 
1011
1107
  @builtins.property
1012
1108
  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.
1109
+ '''The start time of the time exclusion window.
1016
1110
 
1017
1111
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-exclusionwindow.html#cfn-applicationsignals-servicelevelobjective-exclusionwindow-starttime
1018
1112
  '''
@@ -1740,9 +1834,9 @@ class CfnServiceLevelObjective(
1740
1834
  )
1741
1835
  class RecurrenceRuleProperty:
1742
1836
  def __init__(self, *, expression: builtins.str) -> None:
1743
- '''The recurrence rule for the SLO time window exclusion .
1837
+ '''The recurrence rule for the time exclusion window.
1744
1838
 
1745
- :param expression: A cron or rate expression that specifies the schedule for the exclusion window.
1839
+ :param expression: The following two rules are supported:. - rate(value unit) - The value must be a positive integer and the unit can be hour|day|month. - cron - An expression which consists of six fields separated by white spaces: (minutes hours day_of_month month day_of_week year).
1746
1840
 
1747
1841
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-recurrencerule.html
1748
1842
  :exampleMetadata: fixture=_generated
@@ -1766,7 +1860,10 @@ class CfnServiceLevelObjective(
1766
1860
 
1767
1861
  @builtins.property
1768
1862
  def expression(self) -> builtins.str:
1769
- '''A cron or rate expression that specifies the schedule for the exclusion window.
1863
+ '''The following two rules are supported:.
1864
+
1865
+ - rate(value unit) - The value must be a positive integer and the unit can be hour|day|month.
1866
+ - cron - An expression which consists of six fields separated by white spaces: (minutes hours day_of_month month day_of_week year).
1770
1867
 
1771
1868
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-recurrencerule.html#cfn-applicationsignals-servicelevelobjective-recurrencerule-expression
1772
1869
  '''
@@ -1789,6 +1886,7 @@ class CfnServiceLevelObjective(
1789
1886
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty",
1790
1887
  jsii_struct_bases=[],
1791
1888
  name_mapping={
1889
+ "dependency_config": "dependencyConfig",
1792
1890
  "key_attributes": "keyAttributes",
1793
1891
  "metric_type": "metricType",
1794
1892
  "monitored_request_count_metric": "monitoredRequestCountMetric",
@@ -1800,6 +1898,7 @@ class CfnServiceLevelObjective(
1800
1898
  def __init__(
1801
1899
  self,
1802
1900
  *,
1901
+ dependency_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.DependencyConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1803
1902
  key_attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
1804
1903
  metric_type: typing.Optional[builtins.str] = None,
1805
1904
  monitored_request_count_metric: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.MonitoredRequestCountMetricProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -1808,6 +1907,7 @@ class CfnServiceLevelObjective(
1808
1907
  ) -> None:
1809
1908
  '''This structure contains the information about the metric that is used for a request-based SLO.
1810
1909
 
1910
+ :param dependency_config: Identifies the dependency using the ``DependencyKeyAttributes`` and ``DependencyOperationName`` .
1811
1911
  :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.
1812
1912
  :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.
1813
1913
  :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.
@@ -1824,6 +1924,12 @@ class CfnServiceLevelObjective(
1824
1924
  from aws_cdk import aws_applicationsignals as applicationsignals
1825
1925
 
1826
1926
  request_based_sli_metric_property = applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty(
1927
+ dependency_config=applicationsignals.CfnServiceLevelObjective.DependencyConfigProperty(
1928
+ dependency_key_attributes={
1929
+ "dependency_key_attributes_key": "dependencyKeyAttributes"
1930
+ },
1931
+ dependency_operation_name="dependencyOperationName"
1932
+ ),
1827
1933
  key_attributes={
1828
1934
  "key_attributes_key": "keyAttributes"
1829
1935
  },
@@ -1904,12 +2010,15 @@ class CfnServiceLevelObjective(
1904
2010
  '''
1905
2011
  if __debug__:
1906
2012
  type_hints = typing.get_type_hints(_typecheckingstub__2e0bf3c4e354ab94132efc9fd8fa57b0d903b7020ec1b6c4d1c1388698e31a7d)
2013
+ check_type(argname="argument dependency_config", value=dependency_config, expected_type=type_hints["dependency_config"])
1907
2014
  check_type(argname="argument key_attributes", value=key_attributes, expected_type=type_hints["key_attributes"])
1908
2015
  check_type(argname="argument metric_type", value=metric_type, expected_type=type_hints["metric_type"])
1909
2016
  check_type(argname="argument monitored_request_count_metric", value=monitored_request_count_metric, expected_type=type_hints["monitored_request_count_metric"])
1910
2017
  check_type(argname="argument operation_name", value=operation_name, expected_type=type_hints["operation_name"])
1911
2018
  check_type(argname="argument total_request_count_metric", value=total_request_count_metric, expected_type=type_hints["total_request_count_metric"])
1912
2019
  self._values: typing.Dict[builtins.str, typing.Any] = {}
2020
+ if dependency_config is not None:
2021
+ self._values["dependency_config"] = dependency_config
1913
2022
  if key_attributes is not None:
1914
2023
  self._values["key_attributes"] = key_attributes
1915
2024
  if metric_type is not None:
@@ -1921,6 +2030,17 @@ class CfnServiceLevelObjective(
1921
2030
  if total_request_count_metric is not None:
1922
2031
  self._values["total_request_count_metric"] = total_request_count_metric
1923
2032
 
2033
+ @builtins.property
2034
+ def dependency_config(
2035
+ self,
2036
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.DependencyConfigProperty"]]:
2037
+ '''Identifies the dependency using the ``DependencyKeyAttributes`` and ``DependencyOperationName`` .
2038
+
2039
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-dependencyconfig
2040
+ '''
2041
+ result = self._values.get("dependency_config")
2042
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.DependencyConfigProperty"]], result)
2043
+
1924
2044
  @builtins.property
1925
2045
  def key_attributes(
1926
2046
  self,
@@ -2030,6 +2150,12 @@ class CfnServiceLevelObjective(
2030
2150
 
2031
2151
  request_based_sli_property = applicationsignals.CfnServiceLevelObjective.RequestBasedSliProperty(
2032
2152
  request_based_sli_metric=applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty(
2153
+ dependency_config=applicationsignals.CfnServiceLevelObjective.DependencyConfigProperty(
2154
+ dependency_key_attributes={
2155
+ "dependency_key_attributes_key": "dependencyKeyAttributes"
2156
+ },
2157
+ dependency_operation_name="dependencyOperationName"
2158
+ ),
2033
2159
  key_attributes={
2034
2160
  "key_attributes_key": "keyAttributes"
2035
2161
  },
@@ -2244,6 +2370,7 @@ class CfnServiceLevelObjective(
2244
2370
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.SliMetricProperty",
2245
2371
  jsii_struct_bases=[],
2246
2372
  name_mapping={
2373
+ "dependency_config": "dependencyConfig",
2247
2374
  "key_attributes": "keyAttributes",
2248
2375
  "metric_data_queries": "metricDataQueries",
2249
2376
  "metric_type": "metricType",
@@ -2256,6 +2383,7 @@ class CfnServiceLevelObjective(
2256
2383
  def __init__(
2257
2384
  self,
2258
2385
  *,
2386
+ dependency_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.DependencyConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2259
2387
  key_attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
2260
2388
  metric_data_queries: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.MetricDataQueryProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
2261
2389
  metric_type: typing.Optional[builtins.str] = None,
@@ -2265,6 +2393,7 @@ class CfnServiceLevelObjective(
2265
2393
  ) -> None:
2266
2394
  '''Use this structure to specify the metric to be used for the SLO.
2267
2395
 
2396
+ :param dependency_config: Identifies the dependency using the ``DependencyKeyAttributes`` and ``DependencyOperationName`` .
2268
2397
  :param key_attributes: If this SLO is related to a metric collected by Application Signals, you must use this field to specify which service the SLO metric is related to. To do so, you must specify at least the ``Type`` , ``Name`` , and ``Environment`` attributes. This is a string-to-string map. It can include the following fields. - ``Type`` designates the type of object this is. - ``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.
2269
2398
  :param metric_data_queries: If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, use this structure to specify that metric or expression.
2270
2399
  :param metric_type: If the SLO is to monitor either the ``LATENCY`` or ``AVAILABILITY`` metric that Application Signals collects, use this field to specify which of those metrics is used.
@@ -2282,6 +2411,12 @@ class CfnServiceLevelObjective(
2282
2411
  from aws_cdk import aws_applicationsignals as applicationsignals
2283
2412
 
2284
2413
  sli_metric_property = applicationsignals.CfnServiceLevelObjective.SliMetricProperty(
2414
+ dependency_config=applicationsignals.CfnServiceLevelObjective.DependencyConfigProperty(
2415
+ dependency_key_attributes={
2416
+ "dependency_key_attributes_key": "dependencyKeyAttributes"
2417
+ },
2418
+ dependency_operation_name="dependencyOperationName"
2419
+ ),
2285
2420
  key_attributes={
2286
2421
  "key_attributes_key": "keyAttributes"
2287
2422
  },
@@ -2316,6 +2451,7 @@ class CfnServiceLevelObjective(
2316
2451
  '''
2317
2452
  if __debug__:
2318
2453
  type_hints = typing.get_type_hints(_typecheckingstub__86b5c7cbf1916d1f3e415fc49b371acf007c9210e4158ca70f0735fb4ce3ca36)
2454
+ check_type(argname="argument dependency_config", value=dependency_config, expected_type=type_hints["dependency_config"])
2319
2455
  check_type(argname="argument key_attributes", value=key_attributes, expected_type=type_hints["key_attributes"])
2320
2456
  check_type(argname="argument metric_data_queries", value=metric_data_queries, expected_type=type_hints["metric_data_queries"])
2321
2457
  check_type(argname="argument metric_type", value=metric_type, expected_type=type_hints["metric_type"])
@@ -2323,6 +2459,8 @@ class CfnServiceLevelObjective(
2323
2459
  check_type(argname="argument period_seconds", value=period_seconds, expected_type=type_hints["period_seconds"])
2324
2460
  check_type(argname="argument statistic", value=statistic, expected_type=type_hints["statistic"])
2325
2461
  self._values: typing.Dict[builtins.str, typing.Any] = {}
2462
+ if dependency_config is not None:
2463
+ self._values["dependency_config"] = dependency_config
2326
2464
  if key_attributes is not None:
2327
2465
  self._values["key_attributes"] = key_attributes
2328
2466
  if metric_data_queries is not None:
@@ -2336,6 +2474,17 @@ class CfnServiceLevelObjective(
2336
2474
  if statistic is not None:
2337
2475
  self._values["statistic"] = statistic
2338
2476
 
2477
+ @builtins.property
2478
+ def dependency_config(
2479
+ self,
2480
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.DependencyConfigProperty"]]:
2481
+ '''Identifies the dependency using the ``DependencyKeyAttributes`` and ``DependencyOperationName`` .
2482
+
2483
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-slimetric.html#cfn-applicationsignals-servicelevelobjective-slimetric-dependencyconfig
2484
+ '''
2485
+ result = self._values.get("dependency_config")
2486
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.DependencyConfigProperty"]], result)
2487
+
2339
2488
  @builtins.property
2340
2489
  def key_attributes(
2341
2490
  self,
@@ -2455,6 +2604,12 @@ class CfnServiceLevelObjective(
2455
2604
  comparison_operator="comparisonOperator",
2456
2605
  metric_threshold=123,
2457
2606
  sli_metric=applicationsignals.CfnServiceLevelObjective.SliMetricProperty(
2607
+ dependency_config=applicationsignals.CfnServiceLevelObjective.DependencyConfigProperty(
2608
+ dependency_key_attributes={
2609
+ "dependency_key_attributes_key": "dependencyKeyAttributes"
2610
+ },
2611
+ dependency_operation_name="dependencyOperationName"
2612
+ ),
2458
2613
  key_attributes={
2459
2614
  "key_attributes_key": "keyAttributes"
2460
2615
  },
@@ -2554,10 +2709,10 @@ class CfnServiceLevelObjective(
2554
2709
  duration: jsii.Number,
2555
2710
  duration_unit: builtins.str,
2556
2711
  ) -> None:
2557
- '''The object that defines the time length of an exclusion window.
2712
+ '''The start and end time of the time exclusion window.
2558
2713
 
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.
2714
+ :param duration: The start and end time of the time exclusion window.
2715
+ :param duration_unit: The unit of measurement to use during the time window exclusion.
2561
2716
 
2562
2717
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-window.html
2563
2718
  :exampleMetadata: fixture=_generated
@@ -2584,7 +2739,7 @@ class CfnServiceLevelObjective(
2584
2739
 
2585
2740
  @builtins.property
2586
2741
  def duration(self) -> jsii.Number:
2587
- '''The number of time units for the exclusion window length.
2742
+ '''The start and end time of the time exclusion window.
2588
2743
 
2589
2744
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-window.html#cfn-applicationsignals-servicelevelobjective-window-duration
2590
2745
  '''
@@ -2594,9 +2749,7 @@ class CfnServiceLevelObjective(
2594
2749
 
2595
2750
  @builtins.property
2596
2751
  def duration_unit(self) -> builtins.str:
2597
- '''The unit of time for the exclusion window duration.
2598
-
2599
- Valid values: MINUTE, HOUR, DAY, MONTH.
2752
+ '''The unit of measurement to use during the time window exclusion.
2600
2753
 
2601
2754
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-window.html#cfn-applicationsignals-servicelevelobjective-window-durationunit
2602
2755
  '''
@@ -2648,7 +2801,7 @@ class CfnServiceLevelObjectiveProps:
2648
2801
  :param name: A name for this SLO.
2649
2802
  :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.
2650
2803
  :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.
2804
+ :param exclusion_windows: The time window to be excluded from the SLO performance metrics.
2652
2805
  :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.
2653
2806
  :param request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
2654
2807
  :param sli: A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
@@ -2701,6 +2854,12 @@ class CfnServiceLevelObjectiveProps:
2701
2854
  ),
2702
2855
  request_based_sli=applicationsignals.CfnServiceLevelObjective.RequestBasedSliProperty(
2703
2856
  request_based_sli_metric=applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty(
2857
+ dependency_config=applicationsignals.CfnServiceLevelObjective.DependencyConfigProperty(
2858
+ dependency_key_attributes={
2859
+ "dependency_key_attributes_key": "dependencyKeyAttributes"
2860
+ },
2861
+ dependency_operation_name="dependencyOperationName"
2862
+ ),
2704
2863
  key_attributes={
2705
2864
  "key_attributes_key": "keyAttributes"
2706
2865
  },
@@ -2787,6 +2946,12 @@ class CfnServiceLevelObjectiveProps:
2787
2946
  comparison_operator="comparisonOperator",
2788
2947
  metric_threshold=123,
2789
2948
  sli_metric=applicationsignals.CfnServiceLevelObjective.SliMetricProperty(
2949
+ dependency_config=applicationsignals.CfnServiceLevelObjective.DependencyConfigProperty(
2950
+ dependency_key_attributes={
2951
+ "dependency_key_attributes_key": "dependencyKeyAttributes"
2952
+ },
2953
+ dependency_operation_name="dependencyOperationName"
2954
+ ),
2790
2955
  key_attributes={
2791
2956
  "key_attributes_key": "keyAttributes"
2792
2957
  },
@@ -2891,9 +3056,7 @@ class CfnServiceLevelObjectiveProps:
2891
3056
  def exclusion_windows(
2892
3057
  self,
2893
3058
  ) -> 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.
3059
+ '''The time window to be excluded from the SLO performance metrics.
2897
3060
 
2898
3061
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-exclusionwindows
2899
3062
  '''
@@ -3080,6 +3243,14 @@ def _typecheckingstub__bb256cb6878f107649da0ff6e94d5a653ad8e2c683a434ba458525e12
3080
3243
  """Type checking stubs"""
3081
3244
  pass
3082
3245
 
3246
+ def _typecheckingstub__05a6abeac0a72f5c57c47767d3431f868e43bda859b6f5468a53d09c807465a2(
3247
+ *,
3248
+ dependency_key_attributes: typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b],
3249
+ dependency_operation_name: builtins.str,
3250
+ ) -> None:
3251
+ """Type checking stubs"""
3252
+ pass
3253
+
3083
3254
  def _typecheckingstub__9e8e6b95cda618658802fc7b704459e5b42989b01fe12f60c38caea77f865804(
3084
3255
  *,
3085
3256
  name: builtins.str,
@@ -3162,6 +3333,7 @@ def _typecheckingstub__72802c93952329c50a04d38e97421844a870c20c3cf6b7347a281a130
3162
3333
 
3163
3334
  def _typecheckingstub__2e0bf3c4e354ab94132efc9fd8fa57b0d903b7020ec1b6c4d1c1388698e31a7d(
3164
3335
  *,
3336
+ dependency_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.DependencyConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3165
3337
  key_attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
3166
3338
  metric_type: typing.Optional[builtins.str] = None,
3167
3339
  monitored_request_count_metric: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.MonitoredRequestCountMetricProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -3190,6 +3362,7 @@ def _typecheckingstub__3ea5efcc7f9d7eb11cc8de5d96525adb6a7e2bfc30446b0fcdb3c7cd6
3190
3362
 
3191
3363
  def _typecheckingstub__86b5c7cbf1916d1f3e415fc49b371acf007c9210e4158ca70f0735fb4ce3ca36(
3192
3364
  *,
3365
+ dependency_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.DependencyConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3193
3366
  key_attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
3194
3367
  metric_data_queries: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.MetricDataQueryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3195
3368
  metric_type: typing.Optional[builtins.str] = None,