aws-cdk-lib 2.195.0__py3-none-any.whl → 2.224.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 (572) hide show
  1. aws_cdk/__init__.py +1806 -417
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.195.0.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1245 -215
  12. aws_cdk/aws_apigatewayv2/__init__.py +3890 -476
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +618 -91
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +75 -10
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +136 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +350 -94
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +2188 -94
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +165 -60
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +370 -42
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1462 -163
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +7867 -727
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +611 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +258 -32
  45. aws_cdk/aws_chatbot/__init__.py +76 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +362 -189
  50. aws_cdk/aws_cloudfront/__init__.py +2188 -674
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +114 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +615 -74
  53. aws_cdk/aws_cloudtrail/__init__.py +311 -21
  54. aws_cdk/aws_cloudwatch/__init__.py +3093 -1038
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  56. aws_cdk/aws_codeartifact/__init__.py +35 -6
  57. aws_cdk/aws_codebuild/__init__.py +1303 -135
  58. aws_cdk/aws_codecommit/__init__.py +29 -9
  59. aws_cdk/aws_codeconnections/__init__.py +13 -2
  60. aws_cdk/aws_codedeploy/__init__.py +130 -6
  61. aws_cdk/aws_codeguruprofiler/__init__.py +80 -2
  62. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  63. aws_cdk/aws_codepipeline/__init__.py +177 -71
  64. aws_cdk/aws_codepipeline_actions/__init__.py +753 -4
  65. aws_cdk/aws_codestar/__init__.py +13 -2
  66. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  67. aws_cdk/aws_codestarnotifications/__init__.py +22 -2
  68. aws_cdk/aws_cognito/__init__.py +905 -92
  69. aws_cdk/aws_cognito_identitypool/__init__.py +23 -12
  70. aws_cdk/aws_comprehend/__init__.py +24 -4
  71. aws_cdk/aws_config/__init__.py +227 -30
  72. aws_cdk/aws_connect/__init__.py +2736 -191
  73. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  74. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  75. aws_cdk/aws_controltower/__init__.py +35 -6
  76. aws_cdk/aws_cur/__init__.py +100 -4
  77. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  78. aws_cdk/aws_databrew/__init__.py +68 -12
  79. aws_cdk/aws_datapipeline/__init__.py +42 -2
  80. aws_cdk/aws_datasync/__init__.py +1514 -977
  81. aws_cdk/aws_datazone/__init__.py +7426 -1763
  82. aws_cdk/aws_dax/__init__.py +83 -6
  83. aws_cdk/aws_deadline/__init__.py +511 -36
  84. aws_cdk/aws_detective/__init__.py +35 -6
  85. aws_cdk/aws_devicefarm/__init__.py +68 -12
  86. aws_cdk/aws_devopsguru/__init__.py +37 -6
  87. aws_cdk/aws_directoryservice/__init__.py +53 -4
  88. aws_cdk/aws_dlm/__init__.py +13 -2
  89. aws_cdk/aws_dms/__init__.py +184 -27
  90. aws_cdk/aws_docdb/__init__.py +350 -49
  91. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  92. aws_cdk/aws_dsql/__init__.py +386 -16
  93. aws_cdk/aws_dynamodb/__init__.py +1479 -170
  94. aws_cdk/aws_ec2/__init__.py +10465 -1335
  95. aws_cdk/aws_ecr/__init__.py +637 -43
  96. aws_cdk/aws_ecr_assets/__init__.py +10 -0
  97. aws_cdk/aws_ecs/__init__.py +6629 -490
  98. aws_cdk/aws_ecs_patterns/__init__.py +124 -12
  99. aws_cdk/aws_efs/__init__.py +276 -24
  100. aws_cdk/aws_eks/__init__.py +1132 -227
  101. aws_cdk/aws_elasticache/__init__.py +378 -25
  102. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  103. aws_cdk/aws_elasticloadbalancing/__init__.py +22 -2
  104. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1796 -123
  105. aws_cdk/aws_elasticsearch/__init__.py +291 -9
  106. aws_cdk/aws_emr/__init__.py +219 -18
  107. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  108. aws_cdk/aws_emrserverless/__init__.py +188 -3
  109. aws_cdk/aws_entityresolution/__init__.py +585 -58
  110. aws_cdk/aws_events/__init__.py +1007 -126
  111. aws_cdk/aws_events_targets/__init__.py +398 -65
  112. aws_cdk/aws_eventschemas/__init__.py +46 -8
  113. aws_cdk/aws_evidently/__init__.py +57 -10
  114. aws_cdk/aws_evs/__init__.py +2244 -0
  115. aws_cdk/aws_finspace/__init__.py +71 -2
  116. aws_cdk/aws_fis/__init__.py +26 -4
  117. aws_cdk/aws_fms/__init__.py +35 -6
  118. aws_cdk/aws_forecast/__init__.py +24 -4
  119. aws_cdk/aws_frauddetector/__init__.py +79 -14
  120. aws_cdk/aws_fsx/__init__.py +1349 -127
  121. aws_cdk/aws_gamelift/__init__.py +755 -94
  122. aws_cdk/aws_gameliftstreams/__init__.py +44 -22
  123. aws_cdk/aws_globalaccelerator/__init__.py +73 -14
  124. aws_cdk/aws_glue/__init__.py +1455 -378
  125. aws_cdk/aws_grafana/__init__.py +13 -2
  126. aws_cdk/aws_greengrass/__init__.py +654 -32
  127. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  128. aws_cdk/aws_groundstation/__init__.py +122 -6
  129. aws_cdk/aws_guardduty/__init__.py +1613 -123
  130. aws_cdk/aws_healthimaging/__init__.py +71 -2
  131. aws_cdk/aws_healthlake/__init__.py +42 -2
  132. aws_cdk/aws_iam/__init__.py +921 -141
  133. aws_cdk/aws_identitystore/__init__.py +24 -4
  134. aws_cdk/aws_imagebuilder/__init__.py +1454 -199
  135. aws_cdk/aws_inspector/__init__.py +44 -6
  136. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  137. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  138. aws_cdk/aws_invoicing/__init__.py +13 -2
  139. aws_cdk/aws_iot/__init__.py +1760 -64
  140. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  141. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  142. aws_cdk/aws_iotevents/__init__.py +122 -6
  143. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  144. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  145. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  146. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  147. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  148. aws_cdk/aws_iotwireless/__init__.py +649 -22
  149. aws_cdk/aws_ivs/__init__.py +561 -57
  150. aws_cdk/aws_ivschat/__init__.py +24 -4
  151. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  152. aws_cdk/aws_kendra/__init__.py +120 -28
  153. aws_cdk/aws_kendraranking/__init__.py +13 -2
  154. aws_cdk/aws_kinesis/__init__.py +641 -23
  155. aws_cdk/aws_kinesisanalytics/__init__.py +467 -96
  156. aws_cdk/aws_kinesisanalyticsv2/__init__.py +207 -19
  157. aws_cdk/aws_kinesisfirehose/__init__.py +3087 -295
  158. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  159. aws_cdk/aws_kms/__init__.py +204 -45
  160. aws_cdk/aws_lakeformation/__init__.py +80 -15
  161. aws_cdk/aws_lambda/__init__.py +2236 -297
  162. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  163. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  164. aws_cdk/aws_launchwizard/__init__.py +13 -2
  165. aws_cdk/aws_lex/__init__.py +2162 -212
  166. aws_cdk/aws_licensemanager/__init__.py +24 -4
  167. aws_cdk/aws_lightsail/__init__.py +2958 -1322
  168. aws_cdk/aws_location/__init__.py +618 -14
  169. aws_cdk/aws_logs/__init__.py +6014 -923
  170. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  171. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  172. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  173. aws_cdk/aws_m2/__init__.py +94 -19
  174. aws_cdk/aws_macie/__init__.py +49 -11
  175. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  176. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  177. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  178. aws_cdk/aws_medialive/__init__.py +1938 -532
  179. aws_cdk/aws_mediapackage/__init__.py +59 -12
  180. aws_cdk/aws_mediapackagev2/__init__.py +1616 -233
  181. aws_cdk/aws_mediastore/__init__.py +13 -2
  182. aws_cdk/aws_mediatailor/__init__.py +583 -12
  183. aws_cdk/aws_memorydb/__init__.py +271 -12
  184. aws_cdk/aws_mpa/__init__.py +1495 -0
  185. aws_cdk/aws_msk/__init__.py +108 -22
  186. aws_cdk/aws_mwaa/__init__.py +121 -9
  187. aws_cdk/aws_neptune/__init__.py +290 -78
  188. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  189. aws_cdk/aws_networkfirewall/__init__.py +1184 -164
  190. aws_cdk/aws_networkmanager/__init__.py +349 -33
  191. aws_cdk/aws_nimblestudio/__init__.py +283 -408
  192. aws_cdk/aws_notifications/__init__.py +317 -12
  193. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  194. aws_cdk/aws_oam/__init__.py +24 -4
  195. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  196. aws_cdk/aws_odb/__init__.py +5872 -0
  197. aws_cdk/aws_omics/__init__.py +2967 -162
  198. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  199. aws_cdk/aws_opensearchservice/__init__.py +501 -19
  200. aws_cdk/aws_opsworks/__init__.py +235 -139
  201. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  202. aws_cdk/aws_organizations/__init__.py +70 -10
  203. aws_cdk/aws_osis/__init__.py +167 -2
  204. aws_cdk/aws_panorama/__init__.py +181 -9
  205. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  206. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  207. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  208. aws_cdk/aws_pcs/__init__.py +516 -64
  209. aws_cdk/aws_personalize/__init__.py +46 -8
  210. aws_cdk/aws_pinpoint/__init__.py +329 -38
  211. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  212. aws_cdk/aws_pipes/__init__.py +12 -2
  213. aws_cdk/aws_proton/__init__.py +37 -6
  214. aws_cdk/aws_qbusiness/__init__.py +635 -34
  215. aws_cdk/aws_qldb/__init__.py +24 -4
  216. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  217. aws_cdk/aws_ram/__init__.py +24 -4
  218. aws_cdk/aws_rbin/__init__.py +12 -2
  219. aws_cdk/aws_rds/__init__.py +3721 -573
  220. aws_cdk/aws_redshift/__init__.py +143 -20
  221. aws_cdk/aws_redshiftserverless/__init__.py +699 -11
  222. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  223. aws_cdk/aws_rekognition/__init__.py +93 -6
  224. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  225. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  226. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  227. aws_cdk/aws_robomaker/__init__.py +72 -12
  228. aws_cdk/aws_rolesanywhere/__init__.py +194 -19
  229. aws_cdk/aws_route53/__init__.py +3965 -1436
  230. aws_cdk/aws_route53_targets/__init__.py +3 -0
  231. aws_cdk/aws_route53profiles/__init__.py +37 -6
  232. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  233. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  234. aws_cdk/aws_route53resolver/__init__.py +189 -40
  235. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  236. aws_cdk/aws_rum/__init__.py +13 -2
  237. aws_cdk/aws_s3/__init__.py +1742 -221
  238. aws_cdk/aws_s3_assets/__init__.py +11 -11
  239. aws_cdk/aws_s3_deployment/__init__.py +153 -11
  240. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  241. aws_cdk/aws_s3express/__init__.py +1053 -6
  242. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  243. aws_cdk/aws_s3outposts/__init__.py +46 -8
  244. aws_cdk/aws_s3tables/__init__.py +2000 -323
  245. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  246. aws_cdk/aws_sagemaker/__init__.py +6848 -373
  247. aws_cdk/aws_sam/__init__.py +79 -14
  248. aws_cdk/aws_scheduler/__init__.py +249 -4
  249. aws_cdk/aws_sdb/__init__.py +12 -2
  250. aws_cdk/aws_secretsmanager/__init__.py +194 -14
  251. aws_cdk/aws_securityhub/__init__.py +3121 -176
  252. aws_cdk/aws_securitylake/__init__.py +46 -8
  253. aws_cdk/aws_servicecatalog/__init__.py +429 -246
  254. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  255. aws_cdk/aws_servicediscovery/__init__.py +188 -47
  256. aws_cdk/aws_ses/__init__.py +2265 -369
  257. aws_cdk/aws_shield/__init__.py +46 -8
  258. aws_cdk/aws_signer/__init__.py +33 -4
  259. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  260. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  261. aws_cdk/aws_sns/__init__.py +263 -29
  262. aws_cdk/aws_sns_subscriptions/__init__.py +265 -2
  263. aws_cdk/aws_sqs/__init__.py +223 -14
  264. aws_cdk/aws_ssm/__init__.py +413 -58
  265. aws_cdk/aws_ssmcontacts/__init__.py +98 -9
  266. aws_cdk/aws_ssmguiconnect/__init__.py +20 -9
  267. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  268. aws_cdk/aws_ssmquicksetup/__init__.py +393 -8
  269. aws_cdk/aws_sso/__init__.py +70 -12
  270. aws_cdk/aws_stepfunctions/__init__.py +823 -94
  271. aws_cdk/aws_stepfunctions_tasks/__init__.py +2323 -150
  272. aws_cdk/aws_supportapp/__init__.py +39 -6
  273. aws_cdk/aws_synthetics/__init__.py +1088 -126
  274. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  275. aws_cdk/aws_timestream/__init__.py +104 -8
  276. aws_cdk/aws_transfer/__init__.py +784 -87
  277. aws_cdk/aws_verifiedpermissions/__init__.py +306 -13
  278. aws_cdk/aws_voiceid/__init__.py +54 -5
  279. aws_cdk/aws_vpclattice/__init__.py +589 -231
  280. aws_cdk/aws_waf/__init__.py +79 -14
  281. aws_cdk/aws_wafregional/__init__.py +123 -22
  282. aws_cdk/aws_wafv2/__init__.py +1183 -64
  283. aws_cdk/aws_wisdom/__init__.py +1403 -90
  284. aws_cdk/aws_workspaces/__init__.py +134 -6
  285. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  286. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  287. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  288. aws_cdk/aws_xray/__init__.py +48 -8
  289. aws_cdk/cloud_assembly_schema/__init__.py +368 -48
  290. aws_cdk/custom_resources/__init__.py +58 -12
  291. aws_cdk/cx_api/__init__.py +125 -21
  292. aws_cdk/interfaces/__init__.py +739 -0
  293. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  295. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  296. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  297. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  298. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  299. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  300. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  301. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  302. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  303. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  304. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  305. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  306. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  307. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  308. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  309. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  310. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  311. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  312. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  313. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  314. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  315. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  316. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  317. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  318. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  319. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  320. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  321. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  322. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  323. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  324. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  325. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  326. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  327. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  328. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  329. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  330. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  331. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  332. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  333. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  334. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  335. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  336. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  337. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  338. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  339. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  340. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  341. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  342. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  343. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  344. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  345. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  346. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  347. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  348. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  349. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  350. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  351. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  352. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  353. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  354. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  355. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  356. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  358. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  359. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  360. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  361. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  362. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  363. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  364. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  365. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  366. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  367. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  368. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  369. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  370. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  371. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  372. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  373. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  374. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  376. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  377. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  378. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  379. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  380. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  381. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  382. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  383. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  385. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  386. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  387. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  388. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  389. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  390. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  391. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  392. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  393. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  394. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  396. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  397. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  398. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  399. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  400. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  401. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  402. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  403. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  404. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  405. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  406. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  407. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  408. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  409. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  410. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  411. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  412. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  413. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  414. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  415. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  416. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  417. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  418. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  419. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  420. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  421. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  422. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  423. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  424. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  425. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  426. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  427. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  428. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  429. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  430. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  431. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  432. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  433. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  434. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  436. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  437. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  438. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  439. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  440. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  441. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  442. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  443. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  444. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  445. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  446. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  447. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  448. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  449. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  450. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  451. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  452. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  453. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  454. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  455. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  456. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  457. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  458. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  459. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  460. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  461. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  462. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  463. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  464. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  465. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  466. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  467. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  468. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  469. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  470. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  471. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  472. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  473. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  474. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  475. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  476. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  477. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  478. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  479. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  480. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  481. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  482. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  483. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  484. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  485. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  486. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  487. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  488. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  489. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  490. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  491. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  492. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  493. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  494. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  495. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  496. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  497. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  498. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  499. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  500. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  501. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  502. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  503. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  504. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  505. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  506. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  507. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  508. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  509. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  510. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  511. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  512. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  513. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  514. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  515. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  516. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  517. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  518. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  519. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  520. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  521. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  522. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  523. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  524. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  525. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  526. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  527. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  528. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  529. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  530. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  531. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  532. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  533. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  534. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  535. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  536. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  537. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  538. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  539. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  540. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  541. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  542. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  543. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  544. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  545. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  546. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  547. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  548. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  549. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  550. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  551. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  552. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  553. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  554. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  555. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  556. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  557. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  558. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  559. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  560. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  561. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  562. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  563. aws_cdk/pipelines/__init__.py +202 -52
  564. aws_cdk/region_info/__init__.py +3 -0
  565. aws_cdk/triggers/__init__.py +66 -18
  566. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +418 -18
  567. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  568. aws_cdk_lib-2.195.0.dist-info/RECORD +0 -304
  569. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  570. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  571. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  572. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -66,9 +66,15 @@ from .. import (
66
66
  TagManager as _TagManager_0a598cb3,
67
67
  TreeInspector as _TreeInspector_488e0dd5,
68
68
  )
69
+ from ..interfaces.aws_budgets import (
70
+ BudgetReference as _BudgetReference_5d1c4f96,
71
+ BudgetsActionReference as _BudgetsActionReference_ff861c45,
72
+ IBudgetRef as _IBudgetRef_61c293a1,
73
+ IBudgetsActionRef as _IBudgetsActionRef_4397c25b,
74
+ )
69
75
 
70
76
 
71
- @jsii.implements(_IInspectable_c2943556)
77
+ @jsii.implements(_IInspectable_c2943556, _IBudgetRef_61c293a1)
72
78
  class CfnBudget(
73
79
  _CfnResource_9df397a6,
74
80
  metaclass=jsii.JSIIMeta,
@@ -89,6 +95,7 @@ class CfnBudget(
89
95
  from aws_cdk import aws_budgets as budgets
90
96
 
91
97
  # cost_filters: Any
98
+ # expression_property_: budgets.CfnBudget.ExpressionProperty
92
99
  # planned_budget_limits: Any
93
100
 
94
101
  cfn_budget = budgets.CfnBudget(self, "MyCfnBudget",
@@ -105,6 +112,7 @@ class CfnBudget(
105
112
  budget_adjustment_period=123
106
113
  )
107
114
  ),
115
+ billing_view_arn="billingViewArn",
108
116
  budget_limit=budgets.CfnBudget.SpendProperty(
109
117
  amount=123,
110
118
  unit="unit"
@@ -124,6 +132,27 @@ class CfnBudget(
124
132
  use_amortized=False,
125
133
  use_blended=False
126
134
  ),
135
+ filter_expression=budgets.CfnBudget.ExpressionProperty(
136
+ and=[expression_property_],
137
+ cost_categories=budgets.CfnBudget.CostCategoryValuesProperty(
138
+ key="key",
139
+ match_options=["matchOptions"],
140
+ values=["values"]
141
+ ),
142
+ dimensions=budgets.CfnBudget.ExpressionDimensionValuesProperty(
143
+ key="key",
144
+ match_options=["matchOptions"],
145
+ values=["values"]
146
+ ),
147
+ not=expression_property_,
148
+ or=[expression_property_],
149
+ tags=budgets.CfnBudget.TagValuesProperty(
150
+ key="key",
151
+ match_options=["matchOptions"],
152
+ values=["values"]
153
+ )
154
+ ),
155
+ metrics=["metrics"],
127
156
  planned_budget_limits=planned_budget_limits,
128
157
  time_period=budgets.CfnBudget.TimePeriodProperty(
129
158
  end="end",
@@ -164,7 +193,8 @@ class CfnBudget(
164
193
  notifications_with_subscribers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.NotificationWithSubscribersProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
165
194
  resource_tags: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.ResourceTagProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
166
195
  ) -> None:
167
- '''
196
+ '''Create a new ``AWS::Budgets::Budget``.
197
+
168
198
  :param scope: Scope in which this resource is defined.
169
199
  :param id: Construct identifier for this resource (unique in its scope).
170
200
  :param budget: The budget object that you want to create.
@@ -221,6 +251,12 @@ class CfnBudget(
221
251
  '''
222
252
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
223
253
 
254
+ @builtins.property
255
+ @jsii.member(jsii_name="budgetRef")
256
+ def budget_ref(self) -> _BudgetReference_5d1c4f96:
257
+ '''A reference to a Budget resource.'''
258
+ return typing.cast(_BudgetReference_5d1c4f96, jsii.get(self, "budgetRef"))
259
+
224
260
  @builtins.property
225
261
  @jsii.member(jsii_name="cfnProperties")
226
262
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -367,10 +403,13 @@ class CfnBudget(
367
403
  "budget_type": "budgetType",
368
404
  "time_unit": "timeUnit",
369
405
  "auto_adjust_data": "autoAdjustData",
406
+ "billing_view_arn": "billingViewArn",
370
407
  "budget_limit": "budgetLimit",
371
408
  "budget_name": "budgetName",
372
409
  "cost_filters": "costFilters",
373
410
  "cost_types": "costTypes",
411
+ "filter_expression": "filterExpression",
412
+ "metrics": "metrics",
374
413
  "planned_budget_limits": "plannedBudgetLimits",
375
414
  "time_period": "timePeriod",
376
415
  },
@@ -382,10 +421,13 @@ class CfnBudget(
382
421
  budget_type: builtins.str,
383
422
  time_unit: builtins.str,
384
423
  auto_adjust_data: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.AutoAdjustDataProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
424
+ billing_view_arn: typing.Optional[builtins.str] = None,
385
425
  budget_limit: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.SpendProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
386
426
  budget_name: typing.Optional[builtins.str] = None,
387
427
  cost_filters: typing.Any = None,
388
428
  cost_types: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.CostTypesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
429
+ filter_expression: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.ExpressionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
430
+ metrics: typing.Optional[typing.Sequence[builtins.str]] = None,
389
431
  planned_budget_limits: typing.Any = None,
390
432
  time_period: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.TimePeriodProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
391
433
  ) -> None:
@@ -400,10 +442,13 @@ class CfnBudget(
400
442
  :param budget_type: Specifies whether this budget tracks costs, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage.
401
443
  :param time_unit: The length of time until a budget resets the actual and forecasted spend. ``DAILY`` is available only for ``RI_UTILIZATION`` and ``RI_COVERAGE`` budgets.
402
444
  :param auto_adjust_data: Determine the budget amount for an auto-adjusting budget.
445
+ :param billing_view_arn:
403
446
  :param budget_limit: The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget. ``BudgetLimit`` is required for cost or usage budgets, but optional for RI or Savings Plans utilization or coverage budgets. RI and Savings Plans utilization or coverage budgets default to ``100`` . This is the only valid value for RI or Savings Plans utilization or coverage budgets. You can't use ``BudgetLimit`` with ``PlannedBudgetLimits`` for ``CreateBudget`` and ``UpdateBudget`` actions.
404
447
  :param budget_name: The name of a budget. The value must be unique within an account. ``BudgetName`` can't include ``:`` and ``\\`` characters. If you don't include value for ``BudgetName`` in the template, Billing and Cost Management assigns your budget a randomly generated name.
405
448
  :param cost_filters: The cost filters, such as ``Region`` , ``Service`` , ``LinkedAccount`` , ``Tag`` , or ``CostCategory`` , that are applied to a budget. AWS Budgets supports the following services as a ``Service`` filter for RI budgets: - Amazon EC2 - Amazon Redshift - Amazon Relational Database Service - Amazon ElastiCache - Amazon OpenSearch Service
406
449
  :param cost_types: The types of costs that are included in this ``COST`` budget. ``USAGE`` , ``RI_UTILIZATION`` , ``RI_COVERAGE`` , ``SAVINGS_PLANS_UTILIZATION`` , and ``SAVINGS_PLANS_COVERAGE`` budgets do not have ``CostTypes`` .
450
+ :param filter_expression:
451
+ :param metrics:
407
452
  :param planned_budget_limits: A map containing multiple ``BudgetLimit`` , including current or future limits. ``PlannedBudgetLimits`` is available for cost or usage budget and supports both monthly and quarterly ``TimeUnit`` . For monthly budgets, provide 12 months of ``PlannedBudgetLimits`` values. This must start from the current month and include the next 11 months. The ``key`` is the start of the month, ``UTC`` in epoch seconds. For quarterly budgets, provide four quarters of ``PlannedBudgetLimits`` value entries in standard calendar quarter increments. This must start from the current quarter and include the next three quarters. The ``key`` is the start of the quarter, ``UTC`` in epoch seconds. If the planned budget expires before 12 months for monthly or four quarters for quarterly, provide the ``PlannedBudgetLimits`` values only for the remaining periods. If the budget begins at a date in the future, provide ``PlannedBudgetLimits`` values from the start date of the budget. After all of the ``BudgetLimit`` values in ``PlannedBudgetLimits`` are used, the budget continues to use the last limit as the ``BudgetLimit`` . At that point, the planned budget provides the same experience as a fixed budget. ``DescribeBudget`` and ``DescribeBudgets`` response along with ``PlannedBudgetLimits`` also contain ``BudgetLimit`` representing the current month or quarter limit present in ``PlannedBudgetLimits`` . This only applies to budgets that are created with ``PlannedBudgetLimits`` . Budgets that are created without ``PlannedBudgetLimits`` only contain ``BudgetLimit`` . They don't contain ``PlannedBudgetLimits`` .
408
453
  :param time_period: The period of time that is covered by a budget. The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date. The start date for a budget. If you created your budget and didn't specify a start date, the start date defaults to the start of the chosen time period (MONTHLY, QUARTERLY, or ANNUALLY). For example, if you create your budget on January 24, 2019, choose ``MONTHLY`` , and don't set a start date, the start date defaults to ``01/01/19 00:00 UTC`` . The defaults are the same for the Billing and Cost Management console and the API. You can change your start date with the ``UpdateBudget`` operation. After the end date, AWS deletes the budget and all associated notifications and subscribers.
409
454
 
@@ -417,6 +462,7 @@ class CfnBudget(
417
462
  from aws_cdk import aws_budgets as budgets
418
463
 
419
464
  # cost_filters: Any
465
+ # expression_property_: budgets.CfnBudget.ExpressionProperty
420
466
  # planned_budget_limits: Any
421
467
 
422
468
  budget_data_property = budgets.CfnBudget.BudgetDataProperty(
@@ -432,6 +478,7 @@ class CfnBudget(
432
478
  budget_adjustment_period=123
433
479
  )
434
480
  ),
481
+ billing_view_arn="billingViewArn",
435
482
  budget_limit=budgets.CfnBudget.SpendProperty(
436
483
  amount=123,
437
484
  unit="unit"
@@ -451,6 +498,27 @@ class CfnBudget(
451
498
  use_amortized=False,
452
499
  use_blended=False
453
500
  ),
501
+ filter_expression=budgets.CfnBudget.ExpressionProperty(
502
+ and=[expression_property_],
503
+ cost_categories=budgets.CfnBudget.CostCategoryValuesProperty(
504
+ key="key",
505
+ match_options=["matchOptions"],
506
+ values=["values"]
507
+ ),
508
+ dimensions=budgets.CfnBudget.ExpressionDimensionValuesProperty(
509
+ key="key",
510
+ match_options=["matchOptions"],
511
+ values=["values"]
512
+ ),
513
+ not=expression_property_,
514
+ or=[expression_property_],
515
+ tags=budgets.CfnBudget.TagValuesProperty(
516
+ key="key",
517
+ match_options=["matchOptions"],
518
+ values=["values"]
519
+ )
520
+ ),
521
+ metrics=["metrics"],
454
522
  planned_budget_limits=planned_budget_limits,
455
523
  time_period=budgets.CfnBudget.TimePeriodProperty(
456
524
  end="end",
@@ -463,10 +531,13 @@ class CfnBudget(
463
531
  check_type(argname="argument budget_type", value=budget_type, expected_type=type_hints["budget_type"])
464
532
  check_type(argname="argument time_unit", value=time_unit, expected_type=type_hints["time_unit"])
465
533
  check_type(argname="argument auto_adjust_data", value=auto_adjust_data, expected_type=type_hints["auto_adjust_data"])
534
+ check_type(argname="argument billing_view_arn", value=billing_view_arn, expected_type=type_hints["billing_view_arn"])
466
535
  check_type(argname="argument budget_limit", value=budget_limit, expected_type=type_hints["budget_limit"])
467
536
  check_type(argname="argument budget_name", value=budget_name, expected_type=type_hints["budget_name"])
468
537
  check_type(argname="argument cost_filters", value=cost_filters, expected_type=type_hints["cost_filters"])
469
538
  check_type(argname="argument cost_types", value=cost_types, expected_type=type_hints["cost_types"])
539
+ check_type(argname="argument filter_expression", value=filter_expression, expected_type=type_hints["filter_expression"])
540
+ check_type(argname="argument metrics", value=metrics, expected_type=type_hints["metrics"])
470
541
  check_type(argname="argument planned_budget_limits", value=planned_budget_limits, expected_type=type_hints["planned_budget_limits"])
471
542
  check_type(argname="argument time_period", value=time_period, expected_type=type_hints["time_period"])
472
543
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -475,6 +546,8 @@ class CfnBudget(
475
546
  }
476
547
  if auto_adjust_data is not None:
477
548
  self._values["auto_adjust_data"] = auto_adjust_data
549
+ if billing_view_arn is not None:
550
+ self._values["billing_view_arn"] = billing_view_arn
478
551
  if budget_limit is not None:
479
552
  self._values["budget_limit"] = budget_limit
480
553
  if budget_name is not None:
@@ -483,6 +556,10 @@ class CfnBudget(
483
556
  self._values["cost_filters"] = cost_filters
484
557
  if cost_types is not None:
485
558
  self._values["cost_types"] = cost_types
559
+ if filter_expression is not None:
560
+ self._values["filter_expression"] = filter_expression
561
+ if metrics is not None:
562
+ self._values["metrics"] = metrics
486
563
  if planned_budget_limits is not None:
487
564
  self._values["planned_budget_limits"] = planned_budget_limits
488
565
  if time_period is not None:
@@ -521,6 +598,14 @@ class CfnBudget(
521
598
  result = self._values.get("auto_adjust_data")
522
599
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.AutoAdjustDataProperty"]], result)
523
600
 
601
+ @builtins.property
602
+ def billing_view_arn(self) -> typing.Optional[builtins.str]:
603
+ '''
604
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-billingviewarn
605
+ '''
606
+ result = self._values.get("billing_view_arn")
607
+ return typing.cast(typing.Optional[builtins.str], result)
608
+
524
609
  @builtins.property
525
610
  def budget_limit(
526
611
  self,
@@ -575,6 +660,24 @@ class CfnBudget(
575
660
  result = self._values.get("cost_types")
576
661
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.CostTypesProperty"]], result)
577
662
 
663
+ @builtins.property
664
+ def filter_expression(
665
+ self,
666
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]:
667
+ '''
668
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-filterexpression
669
+ '''
670
+ result = self._values.get("filter_expression")
671
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]], result)
672
+
673
+ @builtins.property
674
+ def metrics(self) -> typing.Optional[typing.List[builtins.str]]:
675
+ '''
676
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-budgetdata.html#cfn-budgets-budget-budgetdata-metrics
677
+ '''
678
+ result = self._values.get("metrics")
679
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
680
+
578
681
  @builtins.property
579
682
  def planned_budget_limits(self) -> typing.Any:
580
683
  '''A map containing multiple ``BudgetLimit`` , including current or future limits.
@@ -628,6 +731,95 @@ class CfnBudget(
628
731
  k + "=" + repr(v) for k, v in self._values.items()
629
732
  )
630
733
 
734
+ @jsii.data_type(
735
+ jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.CostCategoryValuesProperty",
736
+ jsii_struct_bases=[],
737
+ name_mapping={
738
+ "key": "key",
739
+ "match_options": "matchOptions",
740
+ "values": "values",
741
+ },
742
+ )
743
+ class CostCategoryValuesProperty:
744
+ def __init__(
745
+ self,
746
+ *,
747
+ key: typing.Optional[builtins.str] = None,
748
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
749
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
750
+ ) -> None:
751
+ '''The cost category values used for filtering the costs.
752
+
753
+ :param key: The unique name of the cost category.
754
+ :param match_options: The match options that you can use to filter your results.
755
+ :param values: The specific value of the cost category.
756
+
757
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html
758
+ :exampleMetadata: fixture=_generated
759
+
760
+ Example::
761
+
762
+ # The code below shows an example of how to instantiate this type.
763
+ # The values are placeholders you should change.
764
+ from aws_cdk import aws_budgets as budgets
765
+
766
+ cost_category_values_property = budgets.CfnBudget.CostCategoryValuesProperty(
767
+ key="key",
768
+ match_options=["matchOptions"],
769
+ values=["values"]
770
+ )
771
+ '''
772
+ if __debug__:
773
+ type_hints = typing.get_type_hints(_typecheckingstub__6fec62209c71ad186d3dce49e5d480b003e62ed76aa01d5734d80cbfd5b050cb)
774
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
775
+ check_type(argname="argument match_options", value=match_options, expected_type=type_hints["match_options"])
776
+ check_type(argname="argument values", value=values, expected_type=type_hints["values"])
777
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
778
+ if key is not None:
779
+ self._values["key"] = key
780
+ if match_options is not None:
781
+ self._values["match_options"] = match_options
782
+ if values is not None:
783
+ self._values["values"] = values
784
+
785
+ @builtins.property
786
+ def key(self) -> typing.Optional[builtins.str]:
787
+ '''The unique name of the cost category.
788
+
789
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html#cfn-budgets-budget-costcategoryvalues-key
790
+ '''
791
+ result = self._values.get("key")
792
+ return typing.cast(typing.Optional[builtins.str], result)
793
+
794
+ @builtins.property
795
+ def match_options(self) -> typing.Optional[typing.List[builtins.str]]:
796
+ '''The match options that you can use to filter your results.
797
+
798
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html#cfn-budgets-budget-costcategoryvalues-matchoptions
799
+ '''
800
+ result = self._values.get("match_options")
801
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
802
+
803
+ @builtins.property
804
+ def values(self) -> typing.Optional[typing.List[builtins.str]]:
805
+ '''The specific value of the cost category.
806
+
807
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-costcategoryvalues.html#cfn-budgets-budget-costcategoryvalues-values
808
+ '''
809
+ result = self._values.get("values")
810
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
811
+
812
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
813
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
814
+
815
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
816
+ return not (rhs == self)
817
+
818
+ def __repr__(self) -> str:
819
+ return "CostCategoryValuesProperty(%s)" % ", ".join(
820
+ k + "=" + repr(v) for k, v in self._values.items()
821
+ )
822
+
631
823
  @jsii.data_type(
632
824
  jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.CostTypesProperty",
633
825
  jsii_struct_bases=[],
@@ -891,6 +1083,260 @@ class CfnBudget(
891
1083
  k + "=" + repr(v) for k, v in self._values.items()
892
1084
  )
893
1085
 
1086
+ @jsii.data_type(
1087
+ jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.ExpressionDimensionValuesProperty",
1088
+ jsii_struct_bases=[],
1089
+ name_mapping={
1090
+ "key": "key",
1091
+ "match_options": "matchOptions",
1092
+ "values": "values",
1093
+ },
1094
+ )
1095
+ class ExpressionDimensionValuesProperty:
1096
+ def __init__(
1097
+ self,
1098
+ *,
1099
+ key: typing.Optional[builtins.str] = None,
1100
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
1101
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
1102
+ ) -> None:
1103
+ '''Contains the specifications for the filters to use for your request.
1104
+
1105
+ :param key: The name of the dimension that you want to filter on.
1106
+ :param match_options: The match options that you can use to filter your results. You can specify only one of these values in the array.
1107
+ :param values: The metadata values you can specify to filter upon, so that the results all match at least one of the specified values.
1108
+
1109
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html
1110
+ :exampleMetadata: fixture=_generated
1111
+
1112
+ Example::
1113
+
1114
+ # The code below shows an example of how to instantiate this type.
1115
+ # The values are placeholders you should change.
1116
+ from aws_cdk import aws_budgets as budgets
1117
+
1118
+ expression_dimension_values_property = budgets.CfnBudget.ExpressionDimensionValuesProperty(
1119
+ key="key",
1120
+ match_options=["matchOptions"],
1121
+ values=["values"]
1122
+ )
1123
+ '''
1124
+ if __debug__:
1125
+ type_hints = typing.get_type_hints(_typecheckingstub__46271189f69022d8735b1bf112d5cddaac665cdc9fd75885c426b8af000590bb)
1126
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
1127
+ check_type(argname="argument match_options", value=match_options, expected_type=type_hints["match_options"])
1128
+ check_type(argname="argument values", value=values, expected_type=type_hints["values"])
1129
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1130
+ if key is not None:
1131
+ self._values["key"] = key
1132
+ if match_options is not None:
1133
+ self._values["match_options"] = match_options
1134
+ if values is not None:
1135
+ self._values["values"] = values
1136
+
1137
+ @builtins.property
1138
+ def key(self) -> typing.Optional[builtins.str]:
1139
+ '''The name of the dimension that you want to filter on.
1140
+
1141
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html#cfn-budgets-budget-expressiondimensionvalues-key
1142
+ '''
1143
+ result = self._values.get("key")
1144
+ return typing.cast(typing.Optional[builtins.str], result)
1145
+
1146
+ @builtins.property
1147
+ def match_options(self) -> typing.Optional[typing.List[builtins.str]]:
1148
+ '''The match options that you can use to filter your results.
1149
+
1150
+ You can specify only one of these values in the array.
1151
+
1152
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html#cfn-budgets-budget-expressiondimensionvalues-matchoptions
1153
+ '''
1154
+ result = self._values.get("match_options")
1155
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1156
+
1157
+ @builtins.property
1158
+ def values(self) -> typing.Optional[typing.List[builtins.str]]:
1159
+ '''The metadata values you can specify to filter upon, so that the results all match at least one of the specified values.
1160
+
1161
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expressiondimensionvalues.html#cfn-budgets-budget-expressiondimensionvalues-values
1162
+ '''
1163
+ result = self._values.get("values")
1164
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1165
+
1166
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1167
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1168
+
1169
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1170
+ return not (rhs == self)
1171
+
1172
+ def __repr__(self) -> str:
1173
+ return "ExpressionDimensionValuesProperty(%s)" % ", ".join(
1174
+ k + "=" + repr(v) for k, v in self._values.items()
1175
+ )
1176
+
1177
+ @jsii.data_type(
1178
+ jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.ExpressionProperty",
1179
+ jsii_struct_bases=[],
1180
+ name_mapping={
1181
+ "and_": "and",
1182
+ "cost_categories": "costCategories",
1183
+ "dimensions": "dimensions",
1184
+ "not_": "not",
1185
+ "or_": "or",
1186
+ "tags": "tags",
1187
+ },
1188
+ )
1189
+ class ExpressionProperty:
1190
+ def __init__(
1191
+ self,
1192
+ *,
1193
+ and_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.ExpressionProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1194
+ cost_categories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.CostCategoryValuesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1195
+ dimensions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.ExpressionDimensionValuesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1196
+ not_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.ExpressionProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1197
+ or_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnBudget.ExpressionProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1198
+ tags: typing.Optional[typing.Union["CfnBudget.TagValuesProperty", typing.Dict[builtins.str, typing.Any]]] = None,
1199
+ ) -> None:
1200
+ '''Use Expression to filter in various Budgets APIs.
1201
+
1202
+ :param and_: Return results that match both Dimension objects.
1203
+ :param cost_categories: The filter that's based on CostCategoryValues.
1204
+ :param dimensions: The specific Dimension to use for Expression.
1205
+ :param not_: Return results that don't match a Dimension object.
1206
+ :param or_: Return results that match either Dimension object.
1207
+ :param tags: The specific Tag to use for Expression.
1208
+
1209
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html
1210
+ :exampleMetadata: fixture=_generated
1211
+
1212
+ Example::
1213
+
1214
+ # The code below shows an example of how to instantiate this type.
1215
+ # The values are placeholders you should change.
1216
+ from aws_cdk import aws_budgets as budgets
1217
+
1218
+ # expression_property_: budgets.CfnBudget.ExpressionProperty
1219
+
1220
+ expression_property = budgets.CfnBudget.ExpressionProperty(
1221
+ and=[expression_property_],
1222
+ cost_categories=budgets.CfnBudget.CostCategoryValuesProperty(
1223
+ key="key",
1224
+ match_options=["matchOptions"],
1225
+ values=["values"]
1226
+ ),
1227
+ dimensions=budgets.CfnBudget.ExpressionDimensionValuesProperty(
1228
+ key="key",
1229
+ match_options=["matchOptions"],
1230
+ values=["values"]
1231
+ ),
1232
+ not=expression_property_,
1233
+ or=[expression_property_],
1234
+ tags=budgets.CfnBudget.TagValuesProperty(
1235
+ key="key",
1236
+ match_options=["matchOptions"],
1237
+ values=["values"]
1238
+ )
1239
+ )
1240
+ '''
1241
+ if isinstance(tags, dict):
1242
+ tags = CfnBudget.TagValuesProperty(**tags)
1243
+ if __debug__:
1244
+ type_hints = typing.get_type_hints(_typecheckingstub__eb71e1eb3b48926947e35d102ec777f08901def25ae4961947e1ab68d1692ace)
1245
+ check_type(argname="argument and_", value=and_, expected_type=type_hints["and_"])
1246
+ check_type(argname="argument cost_categories", value=cost_categories, expected_type=type_hints["cost_categories"])
1247
+ check_type(argname="argument dimensions", value=dimensions, expected_type=type_hints["dimensions"])
1248
+ check_type(argname="argument not_", value=not_, expected_type=type_hints["not_"])
1249
+ check_type(argname="argument or_", value=or_, expected_type=type_hints["or_"])
1250
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
1251
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1252
+ if and_ is not None:
1253
+ self._values["and_"] = and_
1254
+ if cost_categories is not None:
1255
+ self._values["cost_categories"] = cost_categories
1256
+ if dimensions is not None:
1257
+ self._values["dimensions"] = dimensions
1258
+ if not_ is not None:
1259
+ self._values["not_"] = not_
1260
+ if or_ is not None:
1261
+ self._values["or_"] = or_
1262
+ if tags is not None:
1263
+ self._values["tags"] = tags
1264
+
1265
+ @builtins.property
1266
+ def and_(
1267
+ self,
1268
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]]]:
1269
+ '''Return results that match both Dimension objects.
1270
+
1271
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-and
1272
+ '''
1273
+ result = self._values.get("and_")
1274
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]]], result)
1275
+
1276
+ @builtins.property
1277
+ def cost_categories(
1278
+ self,
1279
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.CostCategoryValuesProperty"]]:
1280
+ '''The filter that's based on CostCategoryValues.
1281
+
1282
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-costcategories
1283
+ '''
1284
+ result = self._values.get("cost_categories")
1285
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.CostCategoryValuesProperty"]], result)
1286
+
1287
+ @builtins.property
1288
+ def dimensions(
1289
+ self,
1290
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionDimensionValuesProperty"]]:
1291
+ '''The specific Dimension to use for Expression.
1292
+
1293
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-dimensions
1294
+ '''
1295
+ result = self._values.get("dimensions")
1296
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionDimensionValuesProperty"]], result)
1297
+
1298
+ @builtins.property
1299
+ def not_(
1300
+ self,
1301
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]:
1302
+ '''Return results that don't match a Dimension object.
1303
+
1304
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-not
1305
+ '''
1306
+ result = self._values.get("not_")
1307
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]], result)
1308
+
1309
+ @builtins.property
1310
+ def or_(
1311
+ self,
1312
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]]]:
1313
+ '''Return results that match either Dimension object.
1314
+
1315
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-or
1316
+ '''
1317
+ result = self._values.get("or_")
1318
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnBudget.ExpressionProperty"]]]], result)
1319
+
1320
+ @builtins.property
1321
+ def tags(self) -> typing.Optional["CfnBudget.TagValuesProperty"]:
1322
+ '''The specific Tag to use for Expression.
1323
+
1324
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-expression.html#cfn-budgets-budget-expression-tags
1325
+ '''
1326
+ result = self._values.get("tags")
1327
+ return typing.cast(typing.Optional["CfnBudget.TagValuesProperty"], result)
1328
+
1329
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1330
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1331
+
1332
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1333
+ return not (rhs == self)
1334
+
1335
+ def __repr__(self) -> str:
1336
+ return "ExpressionProperty(%s)" % ", ".join(
1337
+ k + "=" + repr(v) for k, v in self._values.items()
1338
+ )
1339
+
894
1340
  @jsii.data_type(
895
1341
  jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.HistoricalOptionsProperty",
896
1342
  jsii_struct_bases=[],
@@ -1387,6 +1833,95 @@ class CfnBudget(
1387
1833
  k + "=" + repr(v) for k, v in self._values.items()
1388
1834
  )
1389
1835
 
1836
+ @jsii.data_type(
1837
+ jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.TagValuesProperty",
1838
+ jsii_struct_bases=[],
1839
+ name_mapping={
1840
+ "key": "key",
1841
+ "match_options": "matchOptions",
1842
+ "values": "values",
1843
+ },
1844
+ )
1845
+ class TagValuesProperty:
1846
+ def __init__(
1847
+ self,
1848
+ *,
1849
+ key: typing.Optional[builtins.str] = None,
1850
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
1851
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
1852
+ ) -> None:
1853
+ '''The values that are available for a tag.
1854
+
1855
+ :param key: The key for the tag.
1856
+ :param match_options: The match options that you can use to filter your results.
1857
+ :param values: The specific value of the tag.
1858
+
1859
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html
1860
+ :exampleMetadata: fixture=_generated
1861
+
1862
+ Example::
1863
+
1864
+ # The code below shows an example of how to instantiate this type.
1865
+ # The values are placeholders you should change.
1866
+ from aws_cdk import aws_budgets as budgets
1867
+
1868
+ tag_values_property = budgets.CfnBudget.TagValuesProperty(
1869
+ key="key",
1870
+ match_options=["matchOptions"],
1871
+ values=["values"]
1872
+ )
1873
+ '''
1874
+ if __debug__:
1875
+ type_hints = typing.get_type_hints(_typecheckingstub__ffd9b3bd7b99090fed06a8003a3319bf7bba070cdd4b3ec936c178caac26d0de)
1876
+ check_type(argname="argument key", value=key, expected_type=type_hints["key"])
1877
+ check_type(argname="argument match_options", value=match_options, expected_type=type_hints["match_options"])
1878
+ check_type(argname="argument values", value=values, expected_type=type_hints["values"])
1879
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1880
+ if key is not None:
1881
+ self._values["key"] = key
1882
+ if match_options is not None:
1883
+ self._values["match_options"] = match_options
1884
+ if values is not None:
1885
+ self._values["values"] = values
1886
+
1887
+ @builtins.property
1888
+ def key(self) -> typing.Optional[builtins.str]:
1889
+ '''The key for the tag.
1890
+
1891
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html#cfn-budgets-budget-tagvalues-key
1892
+ '''
1893
+ result = self._values.get("key")
1894
+ return typing.cast(typing.Optional[builtins.str], result)
1895
+
1896
+ @builtins.property
1897
+ def match_options(self) -> typing.Optional[typing.List[builtins.str]]:
1898
+ '''The match options that you can use to filter your results.
1899
+
1900
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html#cfn-budgets-budget-tagvalues-matchoptions
1901
+ '''
1902
+ result = self._values.get("match_options")
1903
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1904
+
1905
+ @builtins.property
1906
+ def values(self) -> typing.Optional[typing.List[builtins.str]]:
1907
+ '''The specific value of the tag.
1908
+
1909
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-budgets-budget-tagvalues.html#cfn-budgets-budget-tagvalues-values
1910
+ '''
1911
+ result = self._values.get("values")
1912
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1913
+
1914
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1915
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1916
+
1917
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1918
+ return not (rhs == self)
1919
+
1920
+ def __repr__(self) -> str:
1921
+ return "TagValuesProperty(%s)" % ", ".join(
1922
+ k + "=" + repr(v) for k, v in self._values.items()
1923
+ )
1924
+
1390
1925
  @jsii.data_type(
1391
1926
  jsii_type="aws-cdk-lib.aws_budgets.CfnBudget.TimePeriodProperty",
1392
1927
  jsii_struct_bases=[],
@@ -1506,6 +2041,7 @@ class CfnBudgetProps:
1506
2041
  from aws_cdk import aws_budgets as budgets
1507
2042
 
1508
2043
  # cost_filters: Any
2044
+ # expression_property_: budgets.CfnBudget.ExpressionProperty
1509
2045
  # planned_budget_limits: Any
1510
2046
 
1511
2047
  cfn_budget_props = budgets.CfnBudgetProps(
@@ -1522,6 +2058,7 @@ class CfnBudgetProps:
1522
2058
  budget_adjustment_period=123
1523
2059
  )
1524
2060
  ),
2061
+ billing_view_arn="billingViewArn",
1525
2062
  budget_limit=budgets.CfnBudget.SpendProperty(
1526
2063
  amount=123,
1527
2064
  unit="unit"
@@ -1541,6 +2078,27 @@ class CfnBudgetProps:
1541
2078
  use_amortized=False,
1542
2079
  use_blended=False
1543
2080
  ),
2081
+ filter_expression=budgets.CfnBudget.ExpressionProperty(
2082
+ and=[expression_property_],
2083
+ cost_categories=budgets.CfnBudget.CostCategoryValuesProperty(
2084
+ key="key",
2085
+ match_options=["matchOptions"],
2086
+ values=["values"]
2087
+ ),
2088
+ dimensions=budgets.CfnBudget.ExpressionDimensionValuesProperty(
2089
+ key="key",
2090
+ match_options=["matchOptions"],
2091
+ values=["values"]
2092
+ ),
2093
+ not=expression_property_,
2094
+ or=[expression_property_],
2095
+ tags=budgets.CfnBudget.TagValuesProperty(
2096
+ key="key",
2097
+ match_options=["matchOptions"],
2098
+ values=["values"]
2099
+ )
2100
+ ),
2101
+ metrics=["metrics"],
1544
2102
  planned_budget_limits=planned_budget_limits,
1545
2103
  time_period=budgets.CfnBudget.TimePeriodProperty(
1546
2104
  end="end",
@@ -1634,7 +2192,7 @@ class CfnBudgetProps:
1634
2192
  )
1635
2193
 
1636
2194
 
1637
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
2195
+ @jsii.implements(_IInspectable_c2943556, _IBudgetsActionRef_4397c25b, _ITaggableV2_4e6798f8)
1638
2196
  class CfnBudgetsAction(
1639
2197
  _CfnResource_9df397a6,
1640
2198
  metaclass=jsii.JSIIMeta,
@@ -1711,7 +2269,8 @@ class CfnBudgetsAction(
1711
2269
  approval_model: typing.Optional[builtins.str] = None,
1712
2270
  resource_tags: typing.Optional[typing.Sequence[typing.Union["CfnBudgetsAction.ResourceTagProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1713
2271
  ) -> None:
1714
- '''
2272
+ '''Create a new ``AWS::Budgets::BudgetsAction``.
2273
+
1715
2274
  :param scope: Scope in which this resource is defined.
1716
2275
  :param id: Construct identifier for this resource (unique in its scope).
1717
2276
  :param action_threshold: The trigger threshold of the action.
@@ -1781,6 +2340,12 @@ class CfnBudgetsAction(
1781
2340
  '''
1782
2341
  return typing.cast(builtins.str, jsii.get(self, "attrActionId"))
1783
2342
 
2343
+ @builtins.property
2344
+ @jsii.member(jsii_name="budgetsActionRef")
2345
+ def budgets_action_ref(self) -> _BudgetsActionReference_ff861c45:
2346
+ '''A reference to a BudgetsAction resource.'''
2347
+ return typing.cast(_BudgetsActionReference_ff861c45, jsii.get(self, "budgetsActionRef"))
2348
+
1784
2349
  @builtins.property
1785
2350
  @jsii.member(jsii_name="cdkTagManager")
1786
2351
  def cdk_tag_manager(self) -> _TagManager_0a598cb3:
@@ -2816,16 +3381,28 @@ def _typecheckingstub__b2c7f5c59209a2623bf116ca3a20b23835ececd0df52736e4f148622f
2816
3381
  budget_type: builtins.str,
2817
3382
  time_unit: builtins.str,
2818
3383
  auto_adjust_data: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.AutoAdjustDataProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3384
+ billing_view_arn: typing.Optional[builtins.str] = None,
2819
3385
  budget_limit: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.SpendProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2820
3386
  budget_name: typing.Optional[builtins.str] = None,
2821
3387
  cost_filters: typing.Any = None,
2822
3388
  cost_types: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.CostTypesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3389
+ filter_expression: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.ExpressionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3390
+ metrics: typing.Optional[typing.Sequence[builtins.str]] = None,
2823
3391
  planned_budget_limits: typing.Any = None,
2824
3392
  time_period: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.TimePeriodProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2825
3393
  ) -> None:
2826
3394
  """Type checking stubs"""
2827
3395
  pass
2828
3396
 
3397
+ def _typecheckingstub__6fec62209c71ad186d3dce49e5d480b003e62ed76aa01d5734d80cbfd5b050cb(
3398
+ *,
3399
+ key: typing.Optional[builtins.str] = None,
3400
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
3401
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
3402
+ ) -> None:
3403
+ """Type checking stubs"""
3404
+ pass
3405
+
2829
3406
  def _typecheckingstub__ca892e141a9adeb986265203927fc16b8a26091edacd45cbc9ebe6689e4857bb(
2830
3407
  *,
2831
3408
  include_credit: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -2843,6 +3420,27 @@ def _typecheckingstub__ca892e141a9adeb986265203927fc16b8a26091edacd45cbc9ebe6689
2843
3420
  """Type checking stubs"""
2844
3421
  pass
2845
3422
 
3423
+ def _typecheckingstub__46271189f69022d8735b1bf112d5cddaac665cdc9fd75885c426b8af000590bb(
3424
+ *,
3425
+ key: typing.Optional[builtins.str] = None,
3426
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
3427
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
3428
+ ) -> None:
3429
+ """Type checking stubs"""
3430
+ pass
3431
+
3432
+ def _typecheckingstub__eb71e1eb3b48926947e35d102ec777f08901def25ae4961947e1ab68d1692ace(
3433
+ *,
3434
+ and_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.ExpressionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3435
+ cost_categories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.CostCategoryValuesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3436
+ dimensions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.ExpressionDimensionValuesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3437
+ not_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.ExpressionProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
3438
+ or_: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnBudget.ExpressionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
3439
+ tags: typing.Optional[typing.Union[CfnBudget.TagValuesProperty, typing.Dict[builtins.str, typing.Any]]] = None,
3440
+ ) -> None:
3441
+ """Type checking stubs"""
3442
+ pass
3443
+
2846
3444
  def _typecheckingstub__ba7bd7cc2be23305dffbf6031c061df699ccd87872fbd4ec418a99be7cf81185(
2847
3445
  *,
2848
3446
  budget_adjustment_period: jsii.Number,
@@ -2892,6 +3490,15 @@ def _typecheckingstub__e5d0b208f458ade09c3843fe83aba0d6db3ddb09a594e82cdd14537ff
2892
3490
  """Type checking stubs"""
2893
3491
  pass
2894
3492
 
3493
+ def _typecheckingstub__ffd9b3bd7b99090fed06a8003a3319bf7bba070cdd4b3ec936c178caac26d0de(
3494
+ *,
3495
+ key: typing.Optional[builtins.str] = None,
3496
+ match_options: typing.Optional[typing.Sequence[builtins.str]] = None,
3497
+ values: typing.Optional[typing.Sequence[builtins.str]] = None,
3498
+ ) -> None:
3499
+ """Type checking stubs"""
3500
+ pass
3501
+
2895
3502
  def _typecheckingstub__77f51cb94a1e5a0ae65deee87b45596400f57823b1add7660a12635b0a091886(
2896
3503
  *,
2897
3504
  end: typing.Optional[builtins.str] = None,