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.
- aws_cdk/__init__.py +102 -29
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.185.0.jsii.tgz → aws-cdk-lib@2.186.0.jsii.tgz} +0 -0
- aws_cdk/aws_amazonmq/__init__.py +3 -2
- aws_cdk/aws_apigatewayv2/__init__.py +9 -0
- aws_cdk/aws_appconfig/__init__.py +3 -3
- aws_cdk/aws_applicationsignals/__init__.py +363 -3
- aws_cdk/aws_appsync/__init__.py +65 -3
- aws_cdk/aws_bedrock/__init__.py +385 -14
- aws_cdk/aws_cleanrooms/__init__.py +21 -9
- aws_cdk/aws_cloudformation/__init__.py +1 -5
- aws_cdk/aws_cloudfront/__init__.py +4 -1
- aws_cdk/aws_cloudfront_origins/__init__.py +4 -2
- aws_cdk/aws_codeartifact/__init__.py +20 -33
- aws_cdk/aws_codepipeline/__init__.py +1328 -120
- aws_cdk/aws_cognito/__init__.py +1 -1
- aws_cdk/aws_cognito_identitypool/__init__.py +2303 -0
- aws_cdk/aws_connect/__init__.py +3 -7
- aws_cdk/aws_controltower/__init__.py +18 -26
- aws_cdk/aws_datazone/__init__.py +3471 -2
- aws_cdk/aws_ec2/__init__.py +560 -25
- aws_cdk/aws_ecs/__init__.py +15 -20
- aws_cdk/aws_events/__init__.py +37 -14
- aws_cdk/aws_gamelift/__init__.py +5 -5
- aws_cdk/aws_iam/__init__.py +264 -0
- aws_cdk/aws_imagebuilder/__init__.py +3 -27
- aws_cdk/aws_kinesisfirehose/__init__.py +2 -3
- aws_cdk/aws_lambda/__init__.py +7 -1
- aws_cdk/aws_location/__init__.py +24 -7
- aws_cdk/aws_msk/__init__.py +8 -2
- aws_cdk/aws_networkfirewall/__init__.py +16 -12
- aws_cdk/aws_oam/__init__.py +8 -37
- aws_cdk/aws_quicksight/__init__.py +6 -69
- aws_cdk/aws_redshiftserverless/__init__.py +192 -15
- aws_cdk/aws_rum/__init__.py +315 -52
- aws_cdk/aws_scheduler/__init__.py +3944 -121
- aws_cdk/aws_scheduler_targets/__init__.py +4472 -0
- aws_cdk/aws_ssmquicksetup/__init__.py +5 -3
- aws_cdk/aws_stepfunctions/__init__.py +17 -15
- aws_cdk/aws_timestream/__init__.py +4 -4
- aws_cdk/aws_wafv2/__init__.py +345 -0
- aws_cdk/aws_workspacesthinclient/__init__.py +4 -4
- aws_cdk/cx_api/__init__.py +23 -0
- {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.186.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.186.0.dist-info}/RECORD +49 -47
- {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.186.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.186.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.185.0.dist-info → aws_cdk_lib-2.186.0.dist-info}/WHEEL +0 -0
- {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
|
-
'''
|
|
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
|
|
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,
|