aws-cdk-lib 2.184.1__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 (75) 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.184.1.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_apigateway/__init__.py +1 -1
  6. aws_cdk/aws_apigatewayv2/__init__.py +9 -0
  7. aws_cdk/aws_appconfig/__init__.py +3 -3
  8. aws_cdk/aws_applicationsignals/__init__.py +495 -1
  9. aws_cdk/aws_appsync/__init__.py +65 -11
  10. aws_cdk/aws_athena/__init__.py +143 -0
  11. aws_cdk/aws_backup/__init__.py +4 -2
  12. aws_cdk/aws_batch/__init__.py +9 -0
  13. aws_cdk/aws_bedrock/__init__.py +645 -199
  14. aws_cdk/aws_cassandra/__init__.py +3 -5
  15. aws_cdk/aws_chatbot/__init__.py +41 -0
  16. aws_cdk/aws_cleanrooms/__init__.py +21 -9
  17. aws_cdk/aws_cloudformation/__init__.py +1 -5
  18. aws_cdk/aws_cloudfront/__init__.py +4 -1
  19. aws_cdk/aws_cloudfront_origins/__init__.py +4 -2
  20. aws_cdk/aws_codeartifact/__init__.py +20 -33
  21. aws_cdk/aws_codebuild/__init__.py +10 -3
  22. aws_cdk/aws_codepipeline/__init__.py +1328 -120
  23. aws_cdk/aws_cognito/__init__.py +1 -1
  24. aws_cdk/aws_cognito_identitypool/__init__.py +2303 -0
  25. aws_cdk/aws_config/__init__.py +1 -1
  26. aws_cdk/aws_connect/__init__.py +3 -7
  27. aws_cdk/aws_controltower/__init__.py +18 -26
  28. aws_cdk/aws_datasync/__init__.py +12 -14
  29. aws_cdk/aws_datazone/__init__.py +3471 -2
  30. aws_cdk/aws_ec2/__init__.py +701 -37
  31. aws_cdk/aws_ecr/__init__.py +84 -2
  32. aws_cdk/aws_ecs/__init__.py +20 -25
  33. aws_cdk/aws_eks/__init__.py +2 -0
  34. aws_cdk/aws_elasticloadbalancingv2/__init__.py +42 -5
  35. aws_cdk/aws_elasticsearch/__init__.py +1 -1
  36. aws_cdk/aws_events/__init__.py +37 -14
  37. aws_cdk/aws_events_targets/__init__.py +5 -5
  38. aws_cdk/aws_gamelift/__init__.py +165 -165
  39. aws_cdk/aws_gameliftstreams/__init__.py +199 -59
  40. aws_cdk/aws_iam/__init__.py +320 -25
  41. aws_cdk/aws_imagebuilder/__init__.py +15 -2
  42. aws_cdk/aws_iotfleetwise/__init__.py +15 -6
  43. aws_cdk/aws_kinesisfirehose/__init__.py +115 -113
  44. aws_cdk/aws_lambda/__init__.py +7 -1
  45. aws_cdk/aws_location/__init__.py +24 -7
  46. aws_cdk/aws_logs/__init__.py +21 -27
  47. aws_cdk/aws_msk/__init__.py +17 -50
  48. aws_cdk/aws_networkfirewall/__init__.py +16 -12
  49. aws_cdk/aws_oam/__init__.py +8 -37
  50. aws_cdk/aws_opensearchservice/__init__.py +1 -1
  51. aws_cdk/aws_pcs/__init__.py +33 -22
  52. aws_cdk/aws_quicksight/__init__.py +6 -69
  53. aws_cdk/aws_rds/__init__.py +8 -4
  54. aws_cdk/aws_redshiftserverless/__init__.py +192 -15
  55. aws_cdk/aws_rum/__init__.py +454 -43
  56. aws_cdk/aws_s3/__init__.py +4 -6
  57. aws_cdk/aws_s3_deployment/__init__.py +2 -0
  58. aws_cdk/aws_sagemaker/__init__.py +524 -0
  59. aws_cdk/aws_scheduler/__init__.py +3944 -121
  60. aws_cdk/aws_scheduler_targets/__init__.py +4472 -0
  61. aws_cdk/aws_ses/__init__.py +9 -9
  62. aws_cdk/aws_sns/__init__.py +12 -12
  63. aws_cdk/aws_ssmquicksetup/__init__.py +5 -3
  64. aws_cdk/aws_stepfunctions/__init__.py +17 -15
  65. aws_cdk/aws_timestream/__init__.py +4 -4
  66. aws_cdk/aws_wafv2/__init__.py +345 -0
  67. aws_cdk/aws_workspacesthinclient/__init__.py +4 -4
  68. aws_cdk/cx_api/__init__.py +53 -0
  69. aws_cdk/region_info/__init__.py +2 -2
  70. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/METADATA +1 -1
  71. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/RECORD +75 -73
  72. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/LICENSE +0 -0
  73. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/NOTICE +0 -0
  74. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/WHEEL +0 -0
  75. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/top_level.txt +0 -0
@@ -79,6 +79,131 @@ from .. import (
79
79
  )
80
80
 
81
81
 
82
+ @jsii.implements(_IInspectable_c2943556)
83
+ class CfnDiscovery(
84
+ _CfnResource_9df397a6,
85
+ metaclass=jsii.JSIIMeta,
86
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnDiscovery",
87
+ ):
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>`_ .
101
+
102
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-discovery.html
103
+ :cloudformationResource: AWS::ApplicationSignals::Discovery
104
+ :exampleMetadata: fixture=_generated
105
+
106
+ Example::
107
+
108
+ # The code below shows an example of how to instantiate this type.
109
+ # The values are placeholders you should change.
110
+ from aws_cdk import aws_applicationsignals as applicationsignals
111
+
112
+ cfn_discovery = applicationsignals.CfnDiscovery(self, "MyCfnDiscovery")
113
+ '''
114
+
115
+ def __init__(self, scope: _constructs_77d1e7e8.Construct, id: builtins.str) -> None:
116
+ '''
117
+ :param scope: Scope in which this resource is defined.
118
+ :param id: Construct identifier for this resource (unique in its scope).
119
+ '''
120
+ if __debug__:
121
+ type_hints = typing.get_type_hints(_typecheckingstub__431b690cfc38177c6d13e2a64c92a9b242c6a79b7a4c3d863419e7fee6120750)
122
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
123
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
124
+ props = CfnDiscoveryProps()
125
+
126
+ jsii.create(self.__class__, self, [scope, id, props])
127
+
128
+ @jsii.member(jsii_name="inspect")
129
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
130
+ '''Examines the CloudFormation resource and discloses attributes.
131
+
132
+ :param inspector: tree inspector to collect and process attributes.
133
+ '''
134
+ if __debug__:
135
+ type_hints = typing.get_type_hints(_typecheckingstub__169149a48e72c8ecdaddbc89a3281a63982fa5a6a224a652a20963505c16cf6d)
136
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
137
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
138
+
139
+ @jsii.member(jsii_name="renderProperties")
140
+ def _render_properties(
141
+ self,
142
+ props: typing.Mapping[builtins.str, typing.Any],
143
+ ) -> typing.Mapping[builtins.str, typing.Any]:
144
+ '''
145
+ :param props: -
146
+ '''
147
+ if __debug__:
148
+ type_hints = typing.get_type_hints(_typecheckingstub__eb458e3d0e3086df3dd6729e5a3b2db446683118361abbfeb5b60c322d39396e)
149
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
150
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
151
+
152
+ @jsii.python.classproperty
153
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
154
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
155
+ '''The CloudFormation resource type name for this resource class.'''
156
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
157
+
158
+ @builtins.property
159
+ @jsii.member(jsii_name="attrAccountId")
160
+ def attr_account_id(self) -> builtins.str:
161
+ '''The 12 digit AWS Account ID for the account.
162
+
163
+ :cloudformationAttribute: AccountId
164
+ '''
165
+ return typing.cast(builtins.str, jsii.get(self, "attrAccountId"))
166
+
167
+ @builtins.property
168
+ @jsii.member(jsii_name="cfnProperties")
169
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
170
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
171
+
172
+
173
+ @jsii.data_type(
174
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnDiscoveryProps",
175
+ jsii_struct_bases=[],
176
+ name_mapping={},
177
+ )
178
+ class CfnDiscoveryProps:
179
+ def __init__(self) -> None:
180
+ '''Properties for defining a ``CfnDiscovery``.
181
+
182
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-discovery.html
183
+ :exampleMetadata: fixture=_generated
184
+
185
+ Example::
186
+
187
+ # The code below shows an example of how to instantiate this type.
188
+ # The values are placeholders you should change.
189
+ from aws_cdk import aws_applicationsignals as applicationsignals
190
+
191
+ cfn_discovery_props = applicationsignals.CfnDiscoveryProps()
192
+ '''
193
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
194
+
195
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
196
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
197
+
198
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
199
+ return not (rhs == self)
200
+
201
+ def __repr__(self) -> str:
202
+ return "CfnDiscoveryProps(%s)" % ", ".join(
203
+ k + "=" + repr(v) for k, v in self._values.items()
204
+ )
205
+
206
+
82
207
  @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
83
208
  class CfnServiceLevelObjective(
84
209
  _CfnResource_9df397a6,
@@ -146,6 +271,19 @@ class CfnServiceLevelObjective(
146
271
  look_back_window_minutes=123
147
272
  )],
148
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
+ )],
149
287
  goal=applicationsignals.CfnServiceLevelObjective.GoalProperty(
150
288
  attainment_goal=123,
151
289
  interval=applicationsignals.CfnServiceLevelObjective.IntervalProperty(
@@ -296,6 +434,7 @@ class CfnServiceLevelObjective(
296
434
  name: builtins.str,
297
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,
298
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,
299
438
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.GoalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
300
439
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.RequestBasedSliProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
301
440
  sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.SliProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -307,6 +446,7 @@ class CfnServiceLevelObjective(
307
446
  :param name: A name for this SLO.
308
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.
309
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.
310
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.
311
451
  :param request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
312
452
  :param sli: A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
@@ -320,6 +460,7 @@ class CfnServiceLevelObjective(
320
460
  name=name,
321
461
  burn_rate_configurations=burn_rate_configurations,
322
462
  description=description,
463
+ exclusion_windows=exclusion_windows,
323
464
  goal=goal,
324
465
  request_based_sli=request_based_sli,
325
466
  sli=sli,
@@ -449,6 +590,24 @@ class CfnServiceLevelObjective(
449
590
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
450
591
  jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
451
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
+
452
611
  @builtins.property
453
612
  @jsii.member(jsii_name="goal")
454
613
  def goal(
@@ -748,6 +907,129 @@ class CfnServiceLevelObjective(
748
907
  k + "=" + repr(v) for k, v in self._values.items()
749
908
  )
750
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
+
751
1033
  @jsii.data_type(
752
1034
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.GoalProperty",
753
1035
  jsii_struct_bases=[],
@@ -1451,6 +1733,58 @@ class CfnServiceLevelObjective(
1451
1733
  k + "=" + repr(v) for k, v in self._values.items()
1452
1734
  )
1453
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
+
1454
1788
  @jsii.data_type(
1455
1789
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty",
1456
1790
  jsii_struct_bases=[],
@@ -1474,7 +1808,7 @@ class CfnServiceLevelObjective(
1474
1808
  ) -> None:
1475
1809
  '''This structure contains the information about the metric that is used for a request-based SLO.
1476
1810
 
1477
- :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.
1478
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.
1479
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.
1480
1814
  :param operation_name: If the SLO monitors a specific operation of the service, this field displays that operation name.
@@ -1600,6 +1934,7 @@ class CfnServiceLevelObjective(
1600
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`` .
1601
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`` .
1602
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.
1603
1938
 
1604
1939
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-keyattributes
1605
1940
  '''
@@ -2207,6 +2542,79 @@ class CfnServiceLevelObjective(
2207
2542
  k + "=" + repr(v) for k, v in self._values.items()
2208
2543
  )
2209
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
+
2210
2618
 
2211
2619
  @jsii.data_type(
2212
2620
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjectiveProps",
@@ -2215,6 +2623,7 @@ class CfnServiceLevelObjective(
2215
2623
  "name": "name",
2216
2624
  "burn_rate_configurations": "burnRateConfigurations",
2217
2625
  "description": "description",
2626
+ "exclusion_windows": "exclusionWindows",
2218
2627
  "goal": "goal",
2219
2628
  "request_based_sli": "requestBasedSli",
2220
2629
  "sli": "sli",
@@ -2228,6 +2637,7 @@ class CfnServiceLevelObjectiveProps:
2228
2637
  name: builtins.str,
2229
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,
2230
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,
2231
2641
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2232
2642
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2233
2643
  sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -2238,6 +2648,7 @@ class CfnServiceLevelObjectiveProps:
2238
2648
  :param name: A name for this SLO.
2239
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.
2240
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.
2241
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.
2242
2653
  :param request_based_sli: A structure containing information about the performance metric that this SLO monitors, if this is a request-based SLO.
2243
2654
  :param sli: A structure containing information about the performance metric that this SLO monitors, if this is a period-based SLO.
@@ -2260,6 +2671,19 @@ class CfnServiceLevelObjectiveProps:
2260
2671
  look_back_window_minutes=123
2261
2672
  )],
2262
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
+ )],
2263
2687
  goal=applicationsignals.CfnServiceLevelObjective.GoalProperty(
2264
2688
  attainment_goal=123,
2265
2689
  interval=applicationsignals.CfnServiceLevelObjective.IntervalProperty(
@@ -2406,6 +2830,7 @@ class CfnServiceLevelObjectiveProps:
2406
2830
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
2407
2831
  check_type(argname="argument burn_rate_configurations", value=burn_rate_configurations, expected_type=type_hints["burn_rate_configurations"])
2408
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"])
2409
2834
  check_type(argname="argument goal", value=goal, expected_type=type_hints["goal"])
2410
2835
  check_type(argname="argument request_based_sli", value=request_based_sli, expected_type=type_hints["request_based_sli"])
2411
2836
  check_type(argname="argument sli", value=sli, expected_type=type_hints["sli"])
@@ -2417,6 +2842,8 @@ class CfnServiceLevelObjectiveProps:
2417
2842
  self._values["burn_rate_configurations"] = burn_rate_configurations
2418
2843
  if description is not None:
2419
2844
  self._values["description"] = description
2845
+ if exclusion_windows is not None:
2846
+ self._values["exclusion_windows"] = exclusion_windows
2420
2847
  if goal is not None:
2421
2848
  self._values["goal"] = goal
2422
2849
  if request_based_sli is not None:
@@ -2460,6 +2887,19 @@ class CfnServiceLevelObjectiveProps:
2460
2887
  result = self._values.get("description")
2461
2888
  return typing.cast(typing.Optional[builtins.str], result)
2462
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
+
2463
2903
  @builtins.property
2464
2904
  def goal(
2465
2905
  self,
@@ -2521,12 +2961,33 @@ class CfnServiceLevelObjectiveProps:
2521
2961
 
2522
2962
 
2523
2963
  __all__ = [
2964
+ "CfnDiscovery",
2965
+ "CfnDiscoveryProps",
2524
2966
  "CfnServiceLevelObjective",
2525
2967
  "CfnServiceLevelObjectiveProps",
2526
2968
  ]
2527
2969
 
2528
2970
  publication.publish()
2529
2971
 
2972
+ def _typecheckingstub__431b690cfc38177c6d13e2a64c92a9b242c6a79b7a4c3d863419e7fee6120750(
2973
+ scope: _constructs_77d1e7e8.Construct,
2974
+ id: builtins.str,
2975
+ ) -> None:
2976
+ """Type checking stubs"""
2977
+ pass
2978
+
2979
+ def _typecheckingstub__169149a48e72c8ecdaddbc89a3281a63982fa5a6a224a652a20963505c16cf6d(
2980
+ inspector: _TreeInspector_488e0dd5,
2981
+ ) -> None:
2982
+ """Type checking stubs"""
2983
+ pass
2984
+
2985
+ def _typecheckingstub__eb458e3d0e3086df3dd6729e5a3b2db446683118361abbfeb5b60c322d39396e(
2986
+ props: typing.Mapping[builtins.str, typing.Any],
2987
+ ) -> None:
2988
+ """Type checking stubs"""
2989
+ pass
2990
+
2530
2991
  def _typecheckingstub__8476d024be5b448cfb8f9ae2f80fa7f2083296f712cdb7cd12e69365dd7adba1(
2531
2992
  scope: _constructs_77d1e7e8.Construct,
2532
2993
  id: builtins.str,
@@ -2534,6 +2995,7 @@ def _typecheckingstub__8476d024be5b448cfb8f9ae2f80fa7f2083296f712cdb7cd12e69365d
2534
2995
  name: builtins.str,
2535
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,
2536
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,
2537
2999
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2538
3000
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2539
3001
  sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -2572,6 +3034,12 @@ def _typecheckingstub__c6761a51565a6d9d6b93723803df5fa7735ec11aa5f14c9cc222e4e60
2572
3034
  """Type checking stubs"""
2573
3035
  pass
2574
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
+
2575
3043
  def _typecheckingstub__f72f1f3f286714a7cb6611be91fc84bc135d11974635585192dc6a6bbfe2f51e(
2576
3044
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.GoalProperty]],
2577
3045
  ) -> None:
@@ -2620,6 +3088,16 @@ def _typecheckingstub__9e8e6b95cda618658802fc7b704459e5b42989b01fe12f60c38caea77
2620
3088
  """Type checking stubs"""
2621
3089
  pass
2622
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
+
2623
3101
  def _typecheckingstub__cfc131adfea10ec8f2150d53534dabca2819dd847e258cdb22dd5820d87c65e9(
2624
3102
  *,
2625
3103
  attainment_goal: typing.Optional[jsii.Number] = None,
@@ -2675,6 +3153,13 @@ def _typecheckingstub__0e098e20f2cfc04332a5fbb15ca2b6cd689368d77d87938dc8d7467b0
2675
3153
  """Type checking stubs"""
2676
3154
  pass
2677
3155
 
3156
+ def _typecheckingstub__72802c93952329c50a04d38e97421844a870c20c3cf6b7347a281a130871009e(
3157
+ *,
3158
+ expression: builtins.str,
3159
+ ) -> None:
3160
+ """Type checking stubs"""
3161
+ pass
3162
+
2678
3163
  def _typecheckingstub__2e0bf3c4e354ab94132efc9fd8fa57b0d903b7020ec1b6c4d1c1388698e31a7d(
2679
3164
  *,
2680
3165
  key_attributes: typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]] = None,
@@ -2724,11 +3209,20 @@ def _typecheckingstub__fcb2d383c03844ff1706f4720c7bf04c5a00252d1e49f3ecb2c00c22b
2724
3209
  """Type checking stubs"""
2725
3210
  pass
2726
3211
 
3212
+ def _typecheckingstub__7cd27fd1807625da6b260ce4b909abd68a6e0ece1732fab3f05f19247123cfbf(
3213
+ *,
3214
+ duration: jsii.Number,
3215
+ duration_unit: builtins.str,
3216
+ ) -> None:
3217
+ """Type checking stubs"""
3218
+ pass
3219
+
2727
3220
  def _typecheckingstub__8a302456885343cc9ce5e0497feed773de1ef0f44e2934f97458bfdc5a810dee(
2728
3221
  *,
2729
3222
  name: builtins.str,
2730
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,
2731
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,
2732
3226
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2733
3227
  request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2734
3228
  sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,