aws-cdk-lib 2.156.0__py3-none-any.whl → 2.158.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 (294) hide show
  1. aws_cdk/__init__.py +42 -23
  2. aws_cdk/_jsii/__init__.py +17 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.156.0.jsii.tgz → aws-cdk-lib@2.158.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +16 -1
  5. aws_cdk/assertions/__init__.py +16 -1
  6. aws_cdk/aws_accessanalyzer/__init__.py +16 -1
  7. aws_cdk/aws_acmpca/__init__.py +26 -76
  8. aws_cdk/aws_amazonmq/__init__.py +16 -1
  9. aws_cdk/aws_amplify/__init__.py +122 -1
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +16 -1
  11. aws_cdk/aws_apigateway/__init__.py +16 -1
  12. aws_cdk/aws_apigatewayv2/__init__.py +97 -14
  13. aws_cdk/aws_apigatewayv2_authorizers/__init__.py +16 -1
  14. aws_cdk/aws_apigatewayv2_integrations/__init__.py +16 -1
  15. aws_cdk/aws_appconfig/__init__.py +16 -1
  16. aws_cdk/aws_appflow/__init__.py +16 -1
  17. aws_cdk/aws_appintegrations/__init__.py +30 -15
  18. aws_cdk/aws_applicationautoscaling/__init__.py +16 -1
  19. aws_cdk/aws_applicationinsights/__init__.py +16 -1
  20. aws_cdk/aws_applicationsignals/__init__.py +766 -2
  21. aws_cdk/aws_appmesh/__init__.py +16 -1
  22. aws_cdk/aws_apprunner/__init__.py +16 -1
  23. aws_cdk/aws_appstream/__init__.py +16 -1
  24. aws_cdk/aws_appsync/__init__.py +66 -19
  25. aws_cdk/aws_apptest/__init__.py +16 -1
  26. aws_cdk/aws_aps/__init__.py +16 -1
  27. aws_cdk/aws_arczonalshift/__init__.py +16 -1
  28. aws_cdk/aws_athena/__init__.py +16 -1
  29. aws_cdk/aws_auditmanager/__init__.py +16 -1
  30. aws_cdk/aws_autoscaling/__init__.py +22 -7
  31. aws_cdk/aws_autoscaling_common/__init__.py +16 -1
  32. aws_cdk/aws_autoscaling_hooktargets/__init__.py +16 -1
  33. aws_cdk/aws_autoscalingplans/__init__.py +16 -1
  34. aws_cdk/aws_b2bi/__init__.py +16 -1
  35. aws_cdk/aws_backup/__init__.py +55 -1
  36. aws_cdk/aws_backupgateway/__init__.py +16 -1
  37. aws_cdk/aws_batch/__init__.py +57 -1
  38. aws_cdk/aws_bcmdataexports/__init__.py +16 -1
  39. aws_cdk/aws_bedrock/__init__.py +1529 -95
  40. aws_cdk/aws_billingconductor/__init__.py +16 -1
  41. aws_cdk/aws_budgets/__init__.py +16 -1
  42. aws_cdk/aws_cassandra/__init__.py +16 -1
  43. aws_cdk/aws_ce/__init__.py +16 -1
  44. aws_cdk/aws_certificatemanager/__init__.py +16 -1
  45. aws_cdk/aws_chatbot/__init__.py +22 -7
  46. aws_cdk/aws_cleanrooms/__init__.py +16 -1
  47. aws_cdk/aws_cleanroomsml/__init__.py +16 -1
  48. aws_cdk/aws_cloud9/__init__.py +16 -1
  49. aws_cdk/aws_cloudformation/__init__.py +38 -23
  50. aws_cdk/aws_cloudfront/__init__.py +16 -1
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +46 -4
  52. aws_cdk/aws_cloudfront_origins/__init__.py +16 -1
  53. aws_cdk/aws_cloudtrail/__init__.py +16 -1
  54. aws_cdk/aws_cloudwatch/__init__.py +16 -1
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +16 -1
  56. aws_cdk/aws_codeartifact/__init__.py +16 -1
  57. aws_cdk/aws_codebuild/__init__.py +16 -1
  58. aws_cdk/aws_codecommit/__init__.py +16 -1
  59. aws_cdk/aws_codeconnections/__init__.py +16 -1
  60. aws_cdk/aws_codedeploy/__init__.py +16 -1
  61. aws_cdk/aws_codeguruprofiler/__init__.py +16 -1
  62. aws_cdk/aws_codegurureviewer/__init__.py +16 -1
  63. aws_cdk/aws_codepipeline/__init__.py +16 -1
  64. aws_cdk/aws_codepipeline_actions/__init__.py +16 -1
  65. aws_cdk/aws_codestar/__init__.py +16 -1
  66. aws_cdk/aws_codestarconnections/__init__.py +16 -1
  67. aws_cdk/aws_codestarnotifications/__init__.py +16 -1
  68. aws_cdk/aws_cognito/__init__.py +16 -1
  69. aws_cdk/aws_comprehend/__init__.py +16 -1
  70. aws_cdk/aws_config/__init__.py +16 -1
  71. aws_cdk/aws_connect/__init__.py +16 -1
  72. aws_cdk/aws_connectcampaigns/__init__.py +16 -1
  73. aws_cdk/aws_controltower/__init__.py +16 -1
  74. aws_cdk/aws_cur/__init__.py +16 -1
  75. aws_cdk/aws_customerprofiles/__init__.py +16 -1
  76. aws_cdk/aws_databrew/__init__.py +16 -1
  77. aws_cdk/aws_datapipeline/__init__.py +16 -1
  78. aws_cdk/aws_datasync/__init__.py +56 -30
  79. aws_cdk/aws_datazone/__init__.py +16 -1
  80. aws_cdk/aws_dax/__init__.py +16 -1
  81. aws_cdk/aws_deadline/__init__.py +16 -1
  82. aws_cdk/aws_detective/__init__.py +16 -1
  83. aws_cdk/aws_devicefarm/__init__.py +16 -1
  84. aws_cdk/aws_devopsguru/__init__.py +16 -1
  85. aws_cdk/aws_directoryservice/__init__.py +16 -1
  86. aws_cdk/aws_dlm/__init__.py +16 -1
  87. aws_cdk/aws_dms/__init__.py +16 -1
  88. aws_cdk/aws_docdb/__init__.py +16 -1
  89. aws_cdk/aws_docdbelastic/__init__.py +16 -1
  90. aws_cdk/aws_dynamodb/__init__.py +16 -1
  91. aws_cdk/aws_ec2/__init__.py +389 -50
  92. aws_cdk/aws_ecr/__init__.py +16 -1
  93. aws_cdk/aws_ecr_assets/__init__.py +16 -1
  94. aws_cdk/aws_ecs/__init__.py +269 -88
  95. aws_cdk/aws_ecs_patterns/__init__.py +16 -1
  96. aws_cdk/aws_efs/__init__.py +16 -1
  97. aws_cdk/aws_eks/__init__.py +16 -1
  98. aws_cdk/aws_elasticache/__init__.py +16 -1
  99. aws_cdk/aws_elasticbeanstalk/__init__.py +16 -1
  100. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -1
  101. aws_cdk/aws_elasticloadbalancingv2/__init__.py +20 -5
  102. aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +16 -1
  103. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +16 -1
  104. aws_cdk/aws_elasticsearch/__init__.py +16 -1
  105. aws_cdk/aws_emr/__init__.py +16 -1
  106. aws_cdk/aws_emrcontainers/__init__.py +16 -1
  107. aws_cdk/aws_emrserverless/__init__.py +16 -1
  108. aws_cdk/aws_entityresolution/__init__.py +133 -5
  109. aws_cdk/aws_events/__init__.py +16 -1
  110. aws_cdk/aws_events_targets/__init__.py +16 -1
  111. aws_cdk/aws_eventschemas/__init__.py +16 -1
  112. aws_cdk/aws_evidently/__init__.py +16 -1
  113. aws_cdk/aws_finspace/__init__.py +16 -1
  114. aws_cdk/aws_fis/__init__.py +16 -1
  115. aws_cdk/aws_fms/__init__.py +16 -1
  116. aws_cdk/aws_forecast/__init__.py +16 -1
  117. aws_cdk/aws_frauddetector/__init__.py +16 -1
  118. aws_cdk/aws_fsx/__init__.py +16 -1
  119. aws_cdk/aws_gamelift/__init__.py +16 -1
  120. aws_cdk/aws_globalaccelerator/__init__.py +16 -1
  121. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +16 -1
  122. aws_cdk/aws_glue/__init__.py +16 -9
  123. aws_cdk/aws_grafana/__init__.py +16 -1
  124. aws_cdk/aws_greengrass/__init__.py +16 -1
  125. aws_cdk/aws_greengrassv2/__init__.py +16 -1
  126. aws_cdk/aws_groundstation/__init__.py +43 -17
  127. aws_cdk/aws_guardduty/__init__.py +42 -15
  128. aws_cdk/aws_healthimaging/__init__.py +16 -1
  129. aws_cdk/aws_healthlake/__init__.py +16 -1
  130. aws_cdk/aws_iam/__init__.py +16 -1
  131. aws_cdk/aws_identitystore/__init__.py +16 -1
  132. aws_cdk/aws_imagebuilder/__init__.py +16 -1
  133. aws_cdk/aws_inspector/__init__.py +16 -1
  134. aws_cdk/aws_inspectorv2/__init__.py +16 -1
  135. aws_cdk/aws_internetmonitor/__init__.py +16 -1
  136. aws_cdk/aws_iot/__init__.py +16 -1
  137. aws_cdk/aws_iot1click/__init__.py +16 -1
  138. aws_cdk/aws_iotanalytics/__init__.py +16 -1
  139. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +16 -1
  140. aws_cdk/aws_iotevents/__init__.py +16 -1
  141. aws_cdk/aws_iotfleethub/__init__.py +16 -1
  142. aws_cdk/aws_iotfleetwise/__init__.py +124 -1
  143. aws_cdk/aws_iotsitewise/__init__.py +16 -1
  144. aws_cdk/aws_iotthingsgraph/__init__.py +16 -1
  145. aws_cdk/aws_iottwinmaker/__init__.py +16 -1
  146. aws_cdk/aws_iotwireless/__init__.py +16 -1
  147. aws_cdk/aws_ivs/__init__.py +16 -1
  148. aws_cdk/aws_ivschat/__init__.py +16 -1
  149. aws_cdk/aws_kafkaconnect/__init__.py +16 -1
  150. aws_cdk/aws_kendra/__init__.py +16 -1
  151. aws_cdk/aws_kendraranking/__init__.py +16 -1
  152. aws_cdk/aws_kinesis/__init__.py +16 -1
  153. aws_cdk/aws_kinesisanalytics/__init__.py +16 -1
  154. aws_cdk/aws_kinesisanalyticsv2/__init__.py +16 -1
  155. aws_cdk/aws_kinesisfirehose/__init__.py +16 -1
  156. aws_cdk/aws_kinesisvideo/__init__.py +16 -1
  157. aws_cdk/aws_kms/__init__.py +16 -1
  158. aws_cdk/aws_lakeformation/__init__.py +16 -1
  159. aws_cdk/aws_lambda/__init__.py +163 -18
  160. aws_cdk/aws_lambda_destinations/__init__.py +16 -1
  161. aws_cdk/aws_lambda_event_sources/__init__.py +16 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +46 -4
  163. aws_cdk/aws_launchwizard/__init__.py +16 -1
  164. aws_cdk/aws_lex/__init__.py +16 -1
  165. aws_cdk/aws_licensemanager/__init__.py +16 -1
  166. aws_cdk/aws_lightsail/__init__.py +16 -1
  167. aws_cdk/aws_location/__init__.py +16 -1
  168. aws_cdk/aws_logs/__init__.py +16 -1
  169. aws_cdk/aws_logs_destinations/__init__.py +16 -1
  170. aws_cdk/aws_lookoutequipment/__init__.py +16 -1
  171. aws_cdk/aws_lookoutmetrics/__init__.py +16 -1
  172. aws_cdk/aws_lookoutvision/__init__.py +16 -1
  173. aws_cdk/aws_m2/__init__.py +16 -1
  174. aws_cdk/aws_macie/__init__.py +20 -5
  175. aws_cdk/aws_managedblockchain/__init__.py +16 -1
  176. aws_cdk/aws_mediaconnect/__init__.py +16 -1
  177. aws_cdk/aws_mediaconvert/__init__.py +16 -1
  178. aws_cdk/aws_medialive/__init__.py +364 -1
  179. aws_cdk/aws_mediapackage/__init__.py +16 -1
  180. aws_cdk/aws_mediapackagev2/__init__.py +54 -39
  181. aws_cdk/aws_mediastore/__init__.py +16 -1
  182. aws_cdk/aws_mediatailor/__init__.py +16 -1
  183. aws_cdk/aws_memorydb/__init__.py +16 -1
  184. aws_cdk/aws_msk/__init__.py +16 -1
  185. aws_cdk/aws_mwaa/__init__.py +16 -1
  186. aws_cdk/aws_neptune/__init__.py +30 -9
  187. aws_cdk/aws_neptunegraph/__init__.py +16 -1
  188. aws_cdk/aws_networkfirewall/__init__.py +16 -1
  189. aws_cdk/aws_networkmanager/__init__.py +16 -1
  190. aws_cdk/aws_nimblestudio/__init__.py +16 -1
  191. aws_cdk/aws_oam/__init__.py +16 -1
  192. aws_cdk/aws_omics/__init__.py +16 -1
  193. aws_cdk/aws_opensearchserverless/__init__.py +16 -1
  194. aws_cdk/aws_opensearchservice/__init__.py +210 -1
  195. aws_cdk/aws_opsworks/__init__.py +16 -1
  196. aws_cdk/aws_opsworkscm/__init__.py +16 -1
  197. aws_cdk/aws_organizations/__init__.py +16 -1
  198. aws_cdk/aws_osis/__init__.py +16 -1
  199. aws_cdk/aws_panorama/__init__.py +16 -1
  200. aws_cdk/aws_paymentcryptography/__init__.py +16 -1
  201. aws_cdk/aws_pcaconnectorad/__init__.py +16 -1
  202. aws_cdk/aws_pcaconnectorscep/__init__.py +899 -0
  203. aws_cdk/aws_personalize/__init__.py +18 -3
  204. aws_cdk/aws_pinpoint/__init__.py +16 -1
  205. aws_cdk/aws_pinpointemail/__init__.py +16 -1
  206. aws_cdk/aws_pipes/__init__.py +38 -23
  207. aws_cdk/aws_proton/__init__.py +16 -1
  208. aws_cdk/aws_qbusiness/__init__.py +691 -7
  209. aws_cdk/aws_qldb/__init__.py +16 -1
  210. aws_cdk/aws_quicksight/__init__.py +3301 -1
  211. aws_cdk/aws_ram/__init__.py +16 -1
  212. aws_cdk/aws_rds/__init__.py +58 -5
  213. aws_cdk/aws_redshift/__init__.py +16 -1
  214. aws_cdk/aws_redshiftserverless/__init__.py +16 -1
  215. aws_cdk/aws_refactorspaces/__init__.py +16 -1
  216. aws_cdk/aws_rekognition/__init__.py +16 -1
  217. aws_cdk/aws_resiliencehub/__init__.py +16 -1
  218. aws_cdk/aws_resourceexplorer2/__init__.py +16 -1
  219. aws_cdk/aws_resourcegroups/__init__.py +16 -1
  220. aws_cdk/aws_robomaker/__init__.py +16 -1
  221. aws_cdk/aws_rolesanywhere/__init__.py +16 -1
  222. aws_cdk/aws_route53/__init__.py +16 -1
  223. aws_cdk/aws_route53_patterns/__init__.py +16 -1
  224. aws_cdk/aws_route53_targets/__init__.py +16 -1
  225. aws_cdk/aws_route53profiles/__init__.py +16 -1
  226. aws_cdk/aws_route53recoverycontrol/__init__.py +16 -1
  227. aws_cdk/aws_route53recoveryreadiness/__init__.py +16 -1
  228. aws_cdk/aws_route53resolver/__init__.py +16 -1
  229. aws_cdk/aws_rum/__init__.py +16 -1
  230. aws_cdk/aws_s3/__init__.py +16 -1
  231. aws_cdk/aws_s3_assets/__init__.py +16 -1
  232. aws_cdk/aws_s3_deployment/__init__.py +16 -1
  233. aws_cdk/aws_s3_notifications/__init__.py +16 -1
  234. aws_cdk/aws_s3express/__init__.py +16 -1
  235. aws_cdk/aws_s3objectlambda/__init__.py +16 -1
  236. aws_cdk/aws_s3outposts/__init__.py +16 -1
  237. aws_cdk/aws_sagemaker/__init__.py +1183 -1
  238. aws_cdk/aws_sam/__init__.py +16 -1
  239. aws_cdk/aws_scheduler/__init__.py +16 -1
  240. aws_cdk/aws_sdb/__init__.py +16 -1
  241. aws_cdk/aws_secretsmanager/__init__.py +18 -4
  242. aws_cdk/aws_securityhub/__init__.py +124 -104
  243. aws_cdk/aws_securitylake/__init__.py +16 -1
  244. aws_cdk/aws_servicecatalog/__init__.py +16 -1
  245. aws_cdk/aws_servicecatalogappregistry/__init__.py +16 -1
  246. aws_cdk/aws_servicediscovery/__init__.py +16 -1
  247. aws_cdk/aws_ses/__init__.py +47 -1
  248. aws_cdk/aws_ses_actions/__init__.py +16 -1
  249. aws_cdk/aws_shield/__init__.py +16 -1
  250. aws_cdk/aws_signer/__init__.py +16 -1
  251. aws_cdk/aws_simspaceweaver/__init__.py +16 -1
  252. aws_cdk/aws_sns/__init__.py +35 -14
  253. aws_cdk/aws_sns_subscriptions/__init__.py +16 -1
  254. aws_cdk/aws_sqs/__init__.py +16 -1
  255. aws_cdk/aws_ssm/__init__.py +26 -7
  256. aws_cdk/aws_ssmcontacts/__init__.py +16 -1
  257. aws_cdk/aws_ssmincidents/__init__.py +16 -1
  258. aws_cdk/aws_ssmquicksetup/__init__.py +982 -0
  259. aws_cdk/aws_sso/__init__.py +16 -1
  260. aws_cdk/aws_stepfunctions/__init__.py +16 -1
  261. aws_cdk/aws_stepfunctions_tasks/__init__.py +20 -5
  262. aws_cdk/aws_supportapp/__init__.py +16 -1
  263. aws_cdk/aws_synthetics/__init__.py +16 -1
  264. aws_cdk/aws_systemsmanagersap/__init__.py +16 -1
  265. aws_cdk/aws_timestream/__init__.py +16 -1
  266. aws_cdk/aws_transfer/__init__.py +16 -1
  267. aws_cdk/aws_verifiedpermissions/__init__.py +16 -1
  268. aws_cdk/aws_voiceid/__init__.py +16 -1
  269. aws_cdk/aws_vpclattice/__init__.py +16 -1
  270. aws_cdk/aws_waf/__init__.py +16 -1
  271. aws_cdk/aws_wafregional/__init__.py +16 -1
  272. aws_cdk/aws_wafv2/__init__.py +16 -1
  273. aws_cdk/aws_wisdom/__init__.py +16 -1
  274. aws_cdk/aws_workspaces/__init__.py +16 -1
  275. aws_cdk/aws_workspacesthinclient/__init__.py +16 -1
  276. aws_cdk/aws_workspacesweb/__init__.py +16 -1
  277. aws_cdk/aws_xray/__init__.py +16 -1
  278. aws_cdk/cloud_assembly_schema/__init__.py +16 -1
  279. aws_cdk/cloudformation_include/__init__.py +16 -1
  280. aws_cdk/custom_resources/__init__.py +16 -1
  281. aws_cdk/cx_api/__init__.py +16 -1
  282. aws_cdk/lambda_layer_awscli/__init__.py +16 -1
  283. aws_cdk/lambda_layer_kubectl/__init__.py +16 -1
  284. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +16 -1
  285. aws_cdk/pipelines/__init__.py +16 -1
  286. aws_cdk/region_info/__init__.py +16 -1
  287. aws_cdk/triggers/__init__.py +46 -4
  288. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/METADATA +5 -5
  289. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/NOTICE +27 -8
  290. aws_cdk_lib-2.158.0.dist-info/RECORD +294 -0
  291. aws_cdk_lib-2.156.0.dist-info/RECORD +0 -292
  292. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/LICENSE +0 -0
  293. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/WHEEL +0 -0
  294. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/top_level.txt +0 -0
@@ -48,7 +48,22 @@ import jsii
48
48
  import publication
49
49
  import typing_extensions
50
50
 
51
- from typeguard import check_type
51
+ import typeguard
52
+ from importlib.metadata import version as _metadata_package_version
53
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
54
+
55
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
56
+ if TYPEGUARD_MAJOR_VERSION <= 2:
57
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
58
+ else:
59
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
60
+ pass
61
+ else:
62
+ if TYPEGUARD_MAJOR_VERSION == 3:
63
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
64
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
65
+ else:
66
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
52
67
 
53
68
  from .._jsii import *
54
69
 
@@ -160,6 +175,90 @@ class CfnServiceLevelObjective(
160
175
  ),
161
176
  warning_threshold=123
162
177
  ),
178
+ request_based_sli=applicationsignals.CfnServiceLevelObjective.RequestBasedSliProperty(
179
+ request_based_sli_metric=applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty(
180
+ key_attributes={
181
+ "key_attributes_key": "keyAttributes"
182
+ },
183
+ metric_type="metricType",
184
+ monitored_request_count_metric=applicationsignals.CfnServiceLevelObjective.MonitoredRequestCountMetricProperty(
185
+ bad_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
186
+ id="id",
187
+
188
+ # the properties below are optional
189
+ account_id="accountId",
190
+ expression="expression",
191
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
192
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
193
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
194
+ name="name",
195
+ value="value"
196
+ )],
197
+ metric_name="metricName",
198
+ namespace="namespace"
199
+ ),
200
+ period=123,
201
+ stat="stat",
202
+
203
+ # the properties below are optional
204
+ unit="unit"
205
+ ),
206
+ return_data=False
207
+ )],
208
+ good_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
209
+ id="id",
210
+
211
+ # the properties below are optional
212
+ account_id="accountId",
213
+ expression="expression",
214
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
215
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
216
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
217
+ name="name",
218
+ value="value"
219
+ )],
220
+ metric_name="metricName",
221
+ namespace="namespace"
222
+ ),
223
+ period=123,
224
+ stat="stat",
225
+
226
+ # the properties below are optional
227
+ unit="unit"
228
+ ),
229
+ return_data=False
230
+ )]
231
+ ),
232
+ operation_name="operationName",
233
+ total_request_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
234
+ id="id",
235
+
236
+ # the properties below are optional
237
+ account_id="accountId",
238
+ expression="expression",
239
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
240
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
241
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
242
+ name="name",
243
+ value="value"
244
+ )],
245
+ metric_name="metricName",
246
+ namespace="namespace"
247
+ ),
248
+ period=123,
249
+ stat="stat",
250
+
251
+ # the properties below are optional
252
+ unit="unit"
253
+ ),
254
+ return_data=False
255
+ )]
256
+ ),
257
+
258
+ # the properties below are optional
259
+ comparison_operator="comparisonOperator",
260
+ metric_threshold=123
261
+ ),
163
262
  tags=[CfnTag(
164
263
  key="key",
165
264
  value="value"
@@ -176,6 +275,7 @@ class CfnServiceLevelObjective(
176
275
  sli: typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.SliProperty", typing.Dict[builtins.str, typing.Any]]],
177
276
  description: typing.Optional[builtins.str] = None,
178
277
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.GoalProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
278
+ request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.RequestBasedSliProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
179
279
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
180
280
  ) -> None:
181
281
  '''
@@ -185,6 +285,7 @@ class CfnServiceLevelObjective(
185
285
  :param sli: A structure containing information about the performance metric that this SLO monitors.
186
286
  :param description: An optional description for this SLO. Default: - "No description"
187
287
  :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.
288
+ :param request_based_sli: This structure contains information about the performance metric that a request-based SLO monitors.
188
289
  :param tags: A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
189
290
  '''
190
291
  if __debug__:
@@ -192,7 +293,12 @@ class CfnServiceLevelObjective(
192
293
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
193
294
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
194
295
  props = CfnServiceLevelObjectiveProps(
195
- name=name, sli=sli, description=description, goal=goal, tags=tags
296
+ name=name,
297
+ sli=sli,
298
+ description=description,
299
+ goal=goal,
300
+ request_based_sli=request_based_sli,
301
+ tags=tags,
196
302
  )
197
303
 
198
304
  jsii.create(self.__class__, self, [scope, id, props])
@@ -245,6 +351,15 @@ class CfnServiceLevelObjective(
245
351
  '''
246
352
  return typing.cast(jsii.Number, jsii.get(self, "attrCreatedTime"))
247
353
 
354
+ @builtins.property
355
+ @jsii.member(jsii_name="attrEvaluationType")
356
+ def attr_evaluation_type(self) -> builtins.str:
357
+ '''Displays whether this is a period-based SLO or a request-based SLO.
358
+
359
+ :cloudformationAttribute: EvaluationType
360
+ '''
361
+ return typing.cast(builtins.str, jsii.get(self, "attrEvaluationType"))
362
+
248
363
  @builtins.property
249
364
  @jsii.member(jsii_name="attrLastUpdatedTime")
250
365
  def attr_last_updated_time(self) -> jsii.Number:
@@ -327,6 +442,24 @@ class CfnServiceLevelObjective(
327
442
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
328
443
  jsii.set(self, "goal", value) # pyright: ignore[reportArgumentType]
329
444
 
445
+ @builtins.property
446
+ @jsii.member(jsii_name="requestBasedSli")
447
+ def request_based_sli(
448
+ self,
449
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.RequestBasedSliProperty"]]:
450
+ '''This structure contains information about the performance metric that a request-based SLO monitors.'''
451
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.RequestBasedSliProperty"]], jsii.get(self, "requestBasedSli"))
452
+
453
+ @request_based_sli.setter
454
+ def request_based_sli(
455
+ self,
456
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.RequestBasedSliProperty"]],
457
+ ) -> None:
458
+ if __debug__:
459
+ type_hints = typing.get_type_hints(_typecheckingstub__85c3a53f1420ec52267d0c5ef83b407de2a88d1eff567b79facf44748e778f2f)
460
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
461
+ jsii.set(self, "requestBasedSli", value) # pyright: ignore[reportArgumentType]
462
+
330
463
  @builtins.property
331
464
  @jsii.member(jsii_name="tags")
332
465
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -1090,6 +1223,500 @@ class CfnServiceLevelObjective(
1090
1223
  k + "=" + repr(v) for k, v in self._values.items()
1091
1224
  )
1092
1225
 
1226
+ @jsii.data_type(
1227
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.MonitoredRequestCountMetricProperty",
1228
+ jsii_struct_bases=[],
1229
+ name_mapping={
1230
+ "bad_count_metric": "badCountMetric",
1231
+ "good_count_metric": "goodCountMetric",
1232
+ },
1233
+ )
1234
+ class MonitoredRequestCountMetricProperty:
1235
+ def __init__(
1236
+ self,
1237
+ *,
1238
+ bad_count_metric: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.MetricDataQueryProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1239
+ good_count_metric: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.MetricDataQueryProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1240
+ ) -> None:
1241
+ '''This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO.
1242
+
1243
+ This value observed for the metric defined in ``TotalRequestCountMetric`` is divided by the number found for ``MonitoredRequestCountMetric`` to determine the percentage of successful requests that this SLO tracks.
1244
+
1245
+ :param bad_count_metric: If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, this structure includes the information about that metric or expression.
1246
+ :param good_count_metric: If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, this structure includes the information about that metric or expression.
1247
+
1248
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-monitoredrequestcountmetric.html
1249
+ :exampleMetadata: fixture=_generated
1250
+
1251
+ Example::
1252
+
1253
+ # The code below shows an example of how to instantiate this type.
1254
+ # The values are placeholders you should change.
1255
+ from aws_cdk import aws_applicationsignals as applicationsignals
1256
+
1257
+ monitored_request_count_metric_property = applicationsignals.CfnServiceLevelObjective.MonitoredRequestCountMetricProperty(
1258
+ bad_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
1259
+ id="id",
1260
+
1261
+ # the properties below are optional
1262
+ account_id="accountId",
1263
+ expression="expression",
1264
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
1265
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
1266
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
1267
+ name="name",
1268
+ value="value"
1269
+ )],
1270
+ metric_name="metricName",
1271
+ namespace="namespace"
1272
+ ),
1273
+ period=123,
1274
+ stat="stat",
1275
+
1276
+ # the properties below are optional
1277
+ unit="unit"
1278
+ ),
1279
+ return_data=False
1280
+ )],
1281
+ good_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
1282
+ id="id",
1283
+
1284
+ # the properties below are optional
1285
+ account_id="accountId",
1286
+ expression="expression",
1287
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
1288
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
1289
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
1290
+ name="name",
1291
+ value="value"
1292
+ )],
1293
+ metric_name="metricName",
1294
+ namespace="namespace"
1295
+ ),
1296
+ period=123,
1297
+ stat="stat",
1298
+
1299
+ # the properties below are optional
1300
+ unit="unit"
1301
+ ),
1302
+ return_data=False
1303
+ )]
1304
+ )
1305
+ '''
1306
+ if __debug__:
1307
+ type_hints = typing.get_type_hints(_typecheckingstub__0e098e20f2cfc04332a5fbb15ca2b6cd689368d77d87938dc8d7467b0f3963de)
1308
+ check_type(argname="argument bad_count_metric", value=bad_count_metric, expected_type=type_hints["bad_count_metric"])
1309
+ check_type(argname="argument good_count_metric", value=good_count_metric, expected_type=type_hints["good_count_metric"])
1310
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1311
+ if bad_count_metric is not None:
1312
+ self._values["bad_count_metric"] = bad_count_metric
1313
+ if good_count_metric is not None:
1314
+ self._values["good_count_metric"] = good_count_metric
1315
+
1316
+ @builtins.property
1317
+ def bad_count_metric(
1318
+ self,
1319
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MetricDataQueryProperty"]]]]:
1320
+ '''If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, this structure includes the information about that metric or expression.
1321
+
1322
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-monitoredrequestcountmetric.html#cfn-applicationsignals-servicelevelobjective-monitoredrequestcountmetric-badcountmetric
1323
+ '''
1324
+ result = self._values.get("bad_count_metric")
1325
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MetricDataQueryProperty"]]]], result)
1326
+
1327
+ @builtins.property
1328
+ def good_count_metric(
1329
+ self,
1330
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MetricDataQueryProperty"]]]]:
1331
+ '''If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, this structure includes the information about that metric or expression.
1332
+
1333
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-monitoredrequestcountmetric.html#cfn-applicationsignals-servicelevelobjective-monitoredrequestcountmetric-goodcountmetric
1334
+ '''
1335
+ result = self._values.get("good_count_metric")
1336
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MetricDataQueryProperty"]]]], result)
1337
+
1338
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1339
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1340
+
1341
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1342
+ return not (rhs == self)
1343
+
1344
+ def __repr__(self) -> str:
1345
+ return "MonitoredRequestCountMetricProperty(%s)" % ", ".join(
1346
+ k + "=" + repr(v) for k, v in self._values.items()
1347
+ )
1348
+
1349
+ @jsii.data_type(
1350
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty",
1351
+ jsii_struct_bases=[],
1352
+ name_mapping={
1353
+ "key_attributes": "keyAttributes",
1354
+ "metric_type": "metricType",
1355
+ "monitored_request_count_metric": "monitoredRequestCountMetric",
1356
+ "operation_name": "operationName",
1357
+ "total_request_count_metric": "totalRequestCountMetric",
1358
+ },
1359
+ )
1360
+ class RequestBasedSliMetricProperty:
1361
+ def __init__(
1362
+ self,
1363
+ *,
1364
+ key_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
1365
+ metric_type: typing.Optional[builtins.str] = None,
1366
+ monitored_request_count_metric: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.MonitoredRequestCountMetricProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1367
+ operation_name: typing.Optional[builtins.str] = None,
1368
+ total_request_count_metric: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.MetricDataQueryProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1369
+ ) -> None:
1370
+ '''This structure contains the information about the metric that is used for a request-based SLO.
1371
+
1372
+ :param key_attributes: This is a string-to-string map that contains information about the type of object that this SLO is related to.
1373
+ :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.
1374
+ :param monitored_request_count_metric: This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO. This value observed for the metric defined in ``TotalRequestCountMetric`` is divided by the number found for ``MonitoredRequestCountMetric`` to determine the percentage of successful requests that this SLO tracks.
1375
+ :param operation_name: If the SLO monitors a specific operation of the service, this field displays that operation name.
1376
+ :param total_request_count_metric: If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, this structure includes the information about that metric or expression.
1377
+
1378
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html
1379
+ :exampleMetadata: fixture=_generated
1380
+
1381
+ Example::
1382
+
1383
+ # The code below shows an example of how to instantiate this type.
1384
+ # The values are placeholders you should change.
1385
+ from aws_cdk import aws_applicationsignals as applicationsignals
1386
+
1387
+ request_based_sli_metric_property = applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty(
1388
+ key_attributes={
1389
+ "key_attributes_key": "keyAttributes"
1390
+ },
1391
+ metric_type="metricType",
1392
+ monitored_request_count_metric=applicationsignals.CfnServiceLevelObjective.MonitoredRequestCountMetricProperty(
1393
+ bad_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
1394
+ id="id",
1395
+
1396
+ # the properties below are optional
1397
+ account_id="accountId",
1398
+ expression="expression",
1399
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
1400
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
1401
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
1402
+ name="name",
1403
+ value="value"
1404
+ )],
1405
+ metric_name="metricName",
1406
+ namespace="namespace"
1407
+ ),
1408
+ period=123,
1409
+ stat="stat",
1410
+
1411
+ # the properties below are optional
1412
+ unit="unit"
1413
+ ),
1414
+ return_data=False
1415
+ )],
1416
+ good_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
1417
+ id="id",
1418
+
1419
+ # the properties below are optional
1420
+ account_id="accountId",
1421
+ expression="expression",
1422
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
1423
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
1424
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
1425
+ name="name",
1426
+ value="value"
1427
+ )],
1428
+ metric_name="metricName",
1429
+ namespace="namespace"
1430
+ ),
1431
+ period=123,
1432
+ stat="stat",
1433
+
1434
+ # the properties below are optional
1435
+ unit="unit"
1436
+ ),
1437
+ return_data=False
1438
+ )]
1439
+ ),
1440
+ operation_name="operationName",
1441
+ total_request_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
1442
+ id="id",
1443
+
1444
+ # the properties below are optional
1445
+ account_id="accountId",
1446
+ expression="expression",
1447
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
1448
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
1449
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
1450
+ name="name",
1451
+ value="value"
1452
+ )],
1453
+ metric_name="metricName",
1454
+ namespace="namespace"
1455
+ ),
1456
+ period=123,
1457
+ stat="stat",
1458
+
1459
+ # the properties below are optional
1460
+ unit="unit"
1461
+ ),
1462
+ return_data=False
1463
+ )]
1464
+ )
1465
+ '''
1466
+ if __debug__:
1467
+ type_hints = typing.get_type_hints(_typecheckingstub__2e0bf3c4e354ab94132efc9fd8fa57b0d903b7020ec1b6c4d1c1388698e31a7d)
1468
+ check_type(argname="argument key_attributes", value=key_attributes, expected_type=type_hints["key_attributes"])
1469
+ check_type(argname="argument metric_type", value=metric_type, expected_type=type_hints["metric_type"])
1470
+ check_type(argname="argument monitored_request_count_metric", value=monitored_request_count_metric, expected_type=type_hints["monitored_request_count_metric"])
1471
+ check_type(argname="argument operation_name", value=operation_name, expected_type=type_hints["operation_name"])
1472
+ check_type(argname="argument total_request_count_metric", value=total_request_count_metric, expected_type=type_hints["total_request_count_metric"])
1473
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1474
+ if key_attributes is not None:
1475
+ self._values["key_attributes"] = key_attributes
1476
+ if metric_type is not None:
1477
+ self._values["metric_type"] = metric_type
1478
+ if monitored_request_count_metric is not None:
1479
+ self._values["monitored_request_count_metric"] = monitored_request_count_metric
1480
+ if operation_name is not None:
1481
+ self._values["operation_name"] = operation_name
1482
+ if total_request_count_metric is not None:
1483
+ self._values["total_request_count_metric"] = total_request_count_metric
1484
+
1485
+ @builtins.property
1486
+ def key_attributes(
1487
+ self,
1488
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
1489
+ '''This is a string-to-string map that contains information about the type of object that this SLO is related to.
1490
+
1491
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-keyattributes
1492
+ '''
1493
+ result = self._values.get("key_attributes")
1494
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], result)
1495
+
1496
+ @builtins.property
1497
+ def metric_type(self) -> typing.Optional[builtins.str]:
1498
+ '''If the SLO monitors either the LATENCY or AVAILABILITY metric that Application Signals collects, this field displays which of those metrics is used.
1499
+
1500
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-metrictype
1501
+ '''
1502
+ result = self._values.get("metric_type")
1503
+ return typing.cast(typing.Optional[builtins.str], result)
1504
+
1505
+ @builtins.property
1506
+ def monitored_request_count_metric(
1507
+ self,
1508
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MonitoredRequestCountMetricProperty"]]:
1509
+ '''This structure defines the metric that is used as the "good request" or "bad request" value for a request-based SLO.
1510
+
1511
+ This value observed for the metric defined in ``TotalRequestCountMetric`` is divided by the number found for ``MonitoredRequestCountMetric`` to determine the percentage of successful requests that this SLO tracks.
1512
+
1513
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-monitoredrequestcountmetric
1514
+ '''
1515
+ result = self._values.get("monitored_request_count_metric")
1516
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MonitoredRequestCountMetricProperty"]], result)
1517
+
1518
+ @builtins.property
1519
+ def operation_name(self) -> typing.Optional[builtins.str]:
1520
+ '''If the SLO monitors a specific operation of the service, this field displays that operation name.
1521
+
1522
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-operationname
1523
+ '''
1524
+ result = self._values.get("operation_name")
1525
+ return typing.cast(typing.Optional[builtins.str], result)
1526
+
1527
+ @builtins.property
1528
+ def total_request_count_metric(
1529
+ self,
1530
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MetricDataQueryProperty"]]]]:
1531
+ '''If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, this structure includes the information about that metric or expression.
1532
+
1533
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedslimetric.html#cfn-applicationsignals-servicelevelobjective-requestbasedslimetric-totalrequestcountmetric
1534
+ '''
1535
+ result = self._values.get("total_request_count_metric")
1536
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.MetricDataQueryProperty"]]]], result)
1537
+
1538
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1539
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1540
+
1541
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1542
+ return not (rhs == self)
1543
+
1544
+ def __repr__(self) -> str:
1545
+ return "RequestBasedSliMetricProperty(%s)" % ", ".join(
1546
+ k + "=" + repr(v) for k, v in self._values.items()
1547
+ )
1548
+
1549
+ @jsii.data_type(
1550
+ jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.RequestBasedSliProperty",
1551
+ jsii_struct_bases=[],
1552
+ name_mapping={
1553
+ "request_based_sli_metric": "requestBasedSliMetric",
1554
+ "comparison_operator": "comparisonOperator",
1555
+ "metric_threshold": "metricThreshold",
1556
+ },
1557
+ )
1558
+ class RequestBasedSliProperty:
1559
+ def __init__(
1560
+ self,
1561
+ *,
1562
+ request_based_sli_metric: typing.Union[_IResolvable_da3f097b, typing.Union["CfnServiceLevelObjective.RequestBasedSliMetricProperty", typing.Dict[builtins.str, typing.Any]]],
1563
+ comparison_operator: typing.Optional[builtins.str] = None,
1564
+ metric_threshold: typing.Optional[jsii.Number] = None,
1565
+ ) -> None:
1566
+ '''This structure contains information about the performance metric that a request-based SLO monitors.
1567
+
1568
+ :param request_based_sli_metric: This structure contains the information about the metric that is used for a request-based SLO.
1569
+ :param comparison_operator: The arithmetic operation used when comparing the specified metric to the threshold.
1570
+ :param metric_threshold: The value that the SLI metric is compared to.
1571
+
1572
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html
1573
+ :exampleMetadata: fixture=_generated
1574
+
1575
+ Example::
1576
+
1577
+ # The code below shows an example of how to instantiate this type.
1578
+ # The values are placeholders you should change.
1579
+ from aws_cdk import aws_applicationsignals as applicationsignals
1580
+
1581
+ request_based_sli_property = applicationsignals.CfnServiceLevelObjective.RequestBasedSliProperty(
1582
+ request_based_sli_metric=applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty(
1583
+ key_attributes={
1584
+ "key_attributes_key": "keyAttributes"
1585
+ },
1586
+ metric_type="metricType",
1587
+ monitored_request_count_metric=applicationsignals.CfnServiceLevelObjective.MonitoredRequestCountMetricProperty(
1588
+ bad_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
1589
+ id="id",
1590
+
1591
+ # the properties below are optional
1592
+ account_id="accountId",
1593
+ expression="expression",
1594
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
1595
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
1596
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
1597
+ name="name",
1598
+ value="value"
1599
+ )],
1600
+ metric_name="metricName",
1601
+ namespace="namespace"
1602
+ ),
1603
+ period=123,
1604
+ stat="stat",
1605
+
1606
+ # the properties below are optional
1607
+ unit="unit"
1608
+ ),
1609
+ return_data=False
1610
+ )],
1611
+ good_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
1612
+ id="id",
1613
+
1614
+ # the properties below are optional
1615
+ account_id="accountId",
1616
+ expression="expression",
1617
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
1618
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
1619
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
1620
+ name="name",
1621
+ value="value"
1622
+ )],
1623
+ metric_name="metricName",
1624
+ namespace="namespace"
1625
+ ),
1626
+ period=123,
1627
+ stat="stat",
1628
+
1629
+ # the properties below are optional
1630
+ unit="unit"
1631
+ ),
1632
+ return_data=False
1633
+ )]
1634
+ ),
1635
+ operation_name="operationName",
1636
+ total_request_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
1637
+ id="id",
1638
+
1639
+ # the properties below are optional
1640
+ account_id="accountId",
1641
+ expression="expression",
1642
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
1643
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
1644
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
1645
+ name="name",
1646
+ value="value"
1647
+ )],
1648
+ metric_name="metricName",
1649
+ namespace="namespace"
1650
+ ),
1651
+ period=123,
1652
+ stat="stat",
1653
+
1654
+ # the properties below are optional
1655
+ unit="unit"
1656
+ ),
1657
+ return_data=False
1658
+ )]
1659
+ ),
1660
+
1661
+ # the properties below are optional
1662
+ comparison_operator="comparisonOperator",
1663
+ metric_threshold=123
1664
+ )
1665
+ '''
1666
+ if __debug__:
1667
+ type_hints = typing.get_type_hints(_typecheckingstub__387849408a1ac74889f2dec7244d223e0b97c35e19e4915f6a024667214f0cbb)
1668
+ check_type(argname="argument request_based_sli_metric", value=request_based_sli_metric, expected_type=type_hints["request_based_sli_metric"])
1669
+ check_type(argname="argument comparison_operator", value=comparison_operator, expected_type=type_hints["comparison_operator"])
1670
+ check_type(argname="argument metric_threshold", value=metric_threshold, expected_type=type_hints["metric_threshold"])
1671
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1672
+ "request_based_sli_metric": request_based_sli_metric,
1673
+ }
1674
+ if comparison_operator is not None:
1675
+ self._values["comparison_operator"] = comparison_operator
1676
+ if metric_threshold is not None:
1677
+ self._values["metric_threshold"] = metric_threshold
1678
+
1679
+ @builtins.property
1680
+ def request_based_sli_metric(
1681
+ self,
1682
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.RequestBasedSliMetricProperty"]:
1683
+ '''This structure contains the information about the metric that is used for a request-based SLO.
1684
+
1685
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli-requestbasedslimetric
1686
+ '''
1687
+ result = self._values.get("request_based_sli_metric")
1688
+ assert result is not None, "Required property 'request_based_sli_metric' is missing"
1689
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnServiceLevelObjective.RequestBasedSliMetricProperty"], result)
1690
+
1691
+ @builtins.property
1692
+ def comparison_operator(self) -> typing.Optional[builtins.str]:
1693
+ '''The arithmetic operation used when comparing the specified metric to the threshold.
1694
+
1695
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli-comparisonoperator
1696
+ '''
1697
+ result = self._values.get("comparison_operator")
1698
+ return typing.cast(typing.Optional[builtins.str], result)
1699
+
1700
+ @builtins.property
1701
+ def metric_threshold(self) -> typing.Optional[jsii.Number]:
1702
+ '''The value that the SLI metric is compared to.
1703
+
1704
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationsignals-servicelevelobjective-requestbasedsli.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli-metricthreshold
1705
+ '''
1706
+ result = self._values.get("metric_threshold")
1707
+ return typing.cast(typing.Optional[jsii.Number], result)
1708
+
1709
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1710
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1711
+
1712
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1713
+ return not (rhs == self)
1714
+
1715
+ def __repr__(self) -> str:
1716
+ return "RequestBasedSliProperty(%s)" % ", ".join(
1717
+ k + "=" + repr(v) for k, v in self._values.items()
1718
+ )
1719
+
1093
1720
  @jsii.data_type(
1094
1721
  jsii_type="aws-cdk-lib.aws_applicationsignals.CfnServiceLevelObjective.RollingIntervalProperty",
1095
1722
  jsii_struct_bases=[],
@@ -1474,6 +2101,7 @@ class CfnServiceLevelObjective(
1474
2101
  "sli": "sli",
1475
2102
  "description": "description",
1476
2103
  "goal": "goal",
2104
+ "request_based_sli": "requestBasedSli",
1477
2105
  "tags": "tags",
1478
2106
  },
1479
2107
  )
@@ -1485,6 +2113,7 @@ class CfnServiceLevelObjectiveProps:
1485
2113
  sli: typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]],
1486
2114
  description: typing.Optional[builtins.str] = None,
1487
2115
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2116
+ request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1488
2117
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1489
2118
  ) -> None:
1490
2119
  '''Properties for defining a ``CfnServiceLevelObjective``.
@@ -1493,6 +2122,7 @@ class CfnServiceLevelObjectiveProps:
1493
2122
  :param sli: A structure containing information about the performance metric that this SLO monitors.
1494
2123
  :param description: An optional description for this SLO. Default: - "No description"
1495
2124
  :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.
2125
+ :param request_based_sli: This structure contains information about the performance metric that a request-based SLO monitors.
1496
2126
  :param tags: A list of key-value pairs to associate with the SLO. You can associate as many as 50 tags with an SLO. To be able to associate tags with the SLO when you create the SLO, you must have the cloudwatch:TagResource permission. Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.
1497
2127
 
1498
2128
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html
@@ -1560,6 +2190,90 @@ class CfnServiceLevelObjectiveProps:
1560
2190
  ),
1561
2191
  warning_threshold=123
1562
2192
  ),
2193
+ request_based_sli=applicationsignals.CfnServiceLevelObjective.RequestBasedSliProperty(
2194
+ request_based_sli_metric=applicationsignals.CfnServiceLevelObjective.RequestBasedSliMetricProperty(
2195
+ key_attributes={
2196
+ "key_attributes_key": "keyAttributes"
2197
+ },
2198
+ metric_type="metricType",
2199
+ monitored_request_count_metric=applicationsignals.CfnServiceLevelObjective.MonitoredRequestCountMetricProperty(
2200
+ bad_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
2201
+ id="id",
2202
+
2203
+ # the properties below are optional
2204
+ account_id="accountId",
2205
+ expression="expression",
2206
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
2207
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
2208
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
2209
+ name="name",
2210
+ value="value"
2211
+ )],
2212
+ metric_name="metricName",
2213
+ namespace="namespace"
2214
+ ),
2215
+ period=123,
2216
+ stat="stat",
2217
+
2218
+ # the properties below are optional
2219
+ unit="unit"
2220
+ ),
2221
+ return_data=False
2222
+ )],
2223
+ good_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
2224
+ id="id",
2225
+
2226
+ # the properties below are optional
2227
+ account_id="accountId",
2228
+ expression="expression",
2229
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
2230
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
2231
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
2232
+ name="name",
2233
+ value="value"
2234
+ )],
2235
+ metric_name="metricName",
2236
+ namespace="namespace"
2237
+ ),
2238
+ period=123,
2239
+ stat="stat",
2240
+
2241
+ # the properties below are optional
2242
+ unit="unit"
2243
+ ),
2244
+ return_data=False
2245
+ )]
2246
+ ),
2247
+ operation_name="operationName",
2248
+ total_request_count_metric=[applicationsignals.CfnServiceLevelObjective.MetricDataQueryProperty(
2249
+ id="id",
2250
+
2251
+ # the properties below are optional
2252
+ account_id="accountId",
2253
+ expression="expression",
2254
+ metric_stat=applicationsignals.CfnServiceLevelObjective.MetricStatProperty(
2255
+ metric=applicationsignals.CfnServiceLevelObjective.MetricProperty(
2256
+ dimensions=[applicationsignals.CfnServiceLevelObjective.DimensionProperty(
2257
+ name="name",
2258
+ value="value"
2259
+ )],
2260
+ metric_name="metricName",
2261
+ namespace="namespace"
2262
+ ),
2263
+ period=123,
2264
+ stat="stat",
2265
+
2266
+ # the properties below are optional
2267
+ unit="unit"
2268
+ ),
2269
+ return_data=False
2270
+ )]
2271
+ ),
2272
+
2273
+ # the properties below are optional
2274
+ comparison_operator="comparisonOperator",
2275
+ metric_threshold=123
2276
+ ),
1563
2277
  tags=[CfnTag(
1564
2278
  key="key",
1565
2279
  value="value"
@@ -1572,6 +2286,7 @@ class CfnServiceLevelObjectiveProps:
1572
2286
  check_type(argname="argument sli", value=sli, expected_type=type_hints["sli"])
1573
2287
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
1574
2288
  check_type(argname="argument goal", value=goal, expected_type=type_hints["goal"])
2289
+ check_type(argname="argument request_based_sli", value=request_based_sli, expected_type=type_hints["request_based_sli"])
1575
2290
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1576
2291
  self._values: typing.Dict[builtins.str, typing.Any] = {
1577
2292
  "name": name,
@@ -1581,6 +2296,8 @@ class CfnServiceLevelObjectiveProps:
1581
2296
  self._values["description"] = description
1582
2297
  if goal is not None:
1583
2298
  self._values["goal"] = goal
2299
+ if request_based_sli is not None:
2300
+ self._values["request_based_sli"] = request_based_sli
1584
2301
  if tags is not None:
1585
2302
  self._values["tags"] = tags
1586
2303
 
@@ -1630,6 +2347,17 @@ class CfnServiceLevelObjectiveProps:
1630
2347
  result = self._values.get("goal")
1631
2348
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.GoalProperty]], result)
1632
2349
 
2350
+ @builtins.property
2351
+ def request_based_sli(
2352
+ self,
2353
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.RequestBasedSliProperty]]:
2354
+ '''This structure contains information about the performance metric that a request-based SLO monitors.
2355
+
2356
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationsignals-servicelevelobjective.html#cfn-applicationsignals-servicelevelobjective-requestbasedsli
2357
+ '''
2358
+ result = self._values.get("request_based_sli")
2359
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.RequestBasedSliProperty]], result)
2360
+
1633
2361
  @builtins.property
1634
2362
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1635
2363
  '''A list of key-value pairs to associate with the SLO.
@@ -1670,6 +2398,7 @@ def _typecheckingstub__8476d024be5b448cfb8f9ae2f80fa7f2083296f712cdb7cd12e69365d
1670
2398
  sli: typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]],
1671
2399
  description: typing.Optional[builtins.str] = None,
1672
2400
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2401
+ request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1673
2402
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1674
2403
  ) -> None:
1675
2404
  """Type checking stubs"""
@@ -1711,6 +2440,12 @@ def _typecheckingstub__f72f1f3f286714a7cb6611be91fc84bc135d11974635585192dc6a6bb
1711
2440
  """Type checking stubs"""
1712
2441
  pass
1713
2442
 
2443
+ def _typecheckingstub__85c3a53f1420ec52267d0c5ef83b407de2a88d1eff567b79facf44748e778f2f(
2444
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServiceLevelObjective.RequestBasedSliProperty]],
2445
+ ) -> None:
2446
+ """Type checking stubs"""
2447
+ pass
2448
+
1714
2449
  def _typecheckingstub__45578973503123093d3b0c8f845e2df0c9ad023b7df510f3a7b7ee7abcccd506(
1715
2450
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
1716
2451
  ) -> None:
@@ -1781,6 +2516,34 @@ def _typecheckingstub__9112cc9d5e83260e285e14202026cd0c682ccbbd611252cb22444f31a
1781
2516
  """Type checking stubs"""
1782
2517
  pass
1783
2518
 
2519
+ def _typecheckingstub__0e098e20f2cfc04332a5fbb15ca2b6cd689368d77d87938dc8d7467b0f3963de(
2520
+ *,
2521
+ bad_count_metric: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.MetricDataQueryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2522
+ good_count_metric: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.MetricDataQueryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2523
+ ) -> None:
2524
+ """Type checking stubs"""
2525
+ pass
2526
+
2527
+ def _typecheckingstub__2e0bf3c4e354ab94132efc9fd8fa57b0d903b7020ec1b6c4d1c1388698e31a7d(
2528
+ *,
2529
+ key_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]] = None,
2530
+ metric_type: typing.Optional[builtins.str] = None,
2531
+ monitored_request_count_metric: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.MonitoredRequestCountMetricProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2532
+ operation_name: typing.Optional[builtins.str] = None,
2533
+ total_request_count_metric: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.MetricDataQueryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
2534
+ ) -> None:
2535
+ """Type checking stubs"""
2536
+ pass
2537
+
2538
+ def _typecheckingstub__387849408a1ac74889f2dec7244d223e0b97c35e19e4915f6a024667214f0cbb(
2539
+ *,
2540
+ request_based_sli_metric: typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliMetricProperty, typing.Dict[builtins.str, typing.Any]]],
2541
+ comparison_operator: typing.Optional[builtins.str] = None,
2542
+ metric_threshold: typing.Optional[jsii.Number] = None,
2543
+ ) -> None:
2544
+ """Type checking stubs"""
2545
+ pass
2546
+
1784
2547
  def _typecheckingstub__3ea5efcc7f9d7eb11cc8de5d96525adb6a7e2bfc30446b0fcdb3c7cd640413c1(
1785
2548
  *,
1786
2549
  duration: jsii.Number,
@@ -1816,6 +2579,7 @@ def _typecheckingstub__8a302456885343cc9ce5e0497feed773de1ef0f44e2934f97458bfdc5
1816
2579
  sli: typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.SliProperty, typing.Dict[builtins.str, typing.Any]]],
1817
2580
  description: typing.Optional[builtins.str] = None,
1818
2581
  goal: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.GoalProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2582
+ request_based_sli: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServiceLevelObjective.RequestBasedSliProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
1819
2583
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1820
2584
  ) -> None:
1821
2585
  """Type checking stubs"""