aws-cdk-lib 2.200.2__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 (569) hide show
  1. aws_cdk/__init__.py +1349 -373
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.200.2.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 +1017 -155
  12. aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +298 -43
  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 +29 -6
  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 +94 -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 +227 -53
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +1875 -132
  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 +135 -55
  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 +317 -28
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1405 -178
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +6747 -627
  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 +42 -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 +237 -32
  45. aws_cdk/aws_chatbot/__init__.py +70 -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 +345 -166
  50. aws_cdk/aws_cloudfront/__init__.py +2101 -680
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
  53. aws_cdk/aws_cloudtrail/__init__.py +301 -17
  54. aws_cdk/aws_cloudwatch/__init__.py +1414 -153
  55. aws_cdk/aws_codeartifact/__init__.py +35 -6
  56. aws_cdk/aws_codebuild/__init__.py +1103 -118
  57. aws_cdk/aws_codecommit/__init__.py +23 -9
  58. aws_cdk/aws_codeconnections/__init__.py +13 -2
  59. aws_cdk/aws_codedeploy/__init__.py +67 -6
  60. aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
  61. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  62. aws_cdk/aws_codepipeline/__init__.py +127 -64
  63. aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
  64. aws_cdk/aws_codestar/__init__.py +13 -2
  65. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  66. aws_cdk/aws_codestarnotifications/__init__.py +16 -2
  67. aws_cdk/aws_cognito/__init__.py +814 -80
  68. aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
  69. aws_cdk/aws_comprehend/__init__.py +24 -4
  70. aws_cdk/aws_config/__init__.py +191 -30
  71. aws_cdk/aws_connect/__init__.py +2736 -191
  72. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  73. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  74. aws_cdk/aws_controltower/__init__.py +35 -6
  75. aws_cdk/aws_cur/__init__.py +100 -4
  76. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  77. aws_cdk/aws_databrew/__init__.py +68 -12
  78. aws_cdk/aws_datapipeline/__init__.py +42 -2
  79. aws_cdk/aws_datasync/__init__.py +723 -203
  80. aws_cdk/aws_datazone/__init__.py +4425 -608
  81. aws_cdk/aws_dax/__init__.py +83 -6
  82. aws_cdk/aws_deadline/__init__.py +321 -32
  83. aws_cdk/aws_detective/__init__.py +35 -6
  84. aws_cdk/aws_devicefarm/__init__.py +68 -12
  85. aws_cdk/aws_devopsguru/__init__.py +37 -6
  86. aws_cdk/aws_directoryservice/__init__.py +53 -4
  87. aws_cdk/aws_dlm/__init__.py +13 -2
  88. aws_cdk/aws_dms/__init__.py +184 -27
  89. aws_cdk/aws_docdb/__init__.py +323 -46
  90. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  91. aws_cdk/aws_dsql/__init__.py +340 -12
  92. aws_cdk/aws_dynamodb/__init__.py +1463 -166
  93. aws_cdk/aws_ec2/__init__.py +9636 -1120
  94. aws_cdk/aws_ecr/__init__.py +631 -43
  95. aws_cdk/aws_ecr_assets/__init__.py +4 -0
  96. aws_cdk/aws_ecs/__init__.py +6524 -497
  97. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  98. aws_cdk/aws_efs/__init__.py +264 -24
  99. aws_cdk/aws_eks/__init__.py +1050 -218
  100. aws_cdk/aws_elasticache/__init__.py +373 -20
  101. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  102. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
  103. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
  104. aws_cdk/aws_elasticsearch/__init__.py +282 -9
  105. aws_cdk/aws_emr/__init__.py +187 -20
  106. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  107. aws_cdk/aws_emrserverless/__init__.py +188 -3
  108. aws_cdk/aws_entityresolution/__init__.py +585 -58
  109. aws_cdk/aws_events/__init__.py +969 -124
  110. aws_cdk/aws_events_targets/__init__.py +310 -54
  111. aws_cdk/aws_eventschemas/__init__.py +46 -8
  112. aws_cdk/aws_evidently/__init__.py +57 -10
  113. aws_cdk/aws_evs/__init__.py +2244 -0
  114. aws_cdk/aws_finspace/__init__.py +71 -2
  115. aws_cdk/aws_fis/__init__.py +26 -4
  116. aws_cdk/aws_fms/__init__.py +35 -6
  117. aws_cdk/aws_forecast/__init__.py +24 -4
  118. aws_cdk/aws_frauddetector/__init__.py +79 -14
  119. aws_cdk/aws_fsx/__init__.py +1236 -142
  120. aws_cdk/aws_gamelift/__init__.py +653 -78
  121. aws_cdk/aws_gameliftstreams/__init__.py +38 -16
  122. aws_cdk/aws_globalaccelerator/__init__.py +55 -14
  123. aws_cdk/aws_glue/__init__.py +1368 -320
  124. aws_cdk/aws_grafana/__init__.py +13 -2
  125. aws_cdk/aws_greengrass/__init__.py +654 -32
  126. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  127. aws_cdk/aws_groundstation/__init__.py +122 -6
  128. aws_cdk/aws_guardduty/__init__.py +1613 -123
  129. aws_cdk/aws_healthimaging/__init__.py +71 -2
  130. aws_cdk/aws_healthlake/__init__.py +42 -2
  131. aws_cdk/aws_iam/__init__.py +480 -140
  132. aws_cdk/aws_identitystore/__init__.py +24 -4
  133. aws_cdk/aws_imagebuilder/__init__.py +1433 -183
  134. aws_cdk/aws_inspector/__init__.py +38 -6
  135. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  136. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  137. aws_cdk/aws_invoicing/__init__.py +13 -2
  138. aws_cdk/aws_iot/__init__.py +1730 -86
  139. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  140. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  141. aws_cdk/aws_iotevents/__init__.py +122 -6
  142. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  143. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  144. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  145. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  146. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  147. aws_cdk/aws_iotwireless/__init__.py +649 -22
  148. aws_cdk/aws_ivs/__init__.py +561 -57
  149. aws_cdk/aws_ivschat/__init__.py +24 -4
  150. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  151. aws_cdk/aws_kendra/__init__.py +120 -28
  152. aws_cdk/aws_kendraranking/__init__.py +13 -2
  153. aws_cdk/aws_kinesis/__init__.py +622 -22
  154. aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
  155. aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
  156. aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
  157. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  158. aws_cdk/aws_kms/__init__.py +188 -41
  159. aws_cdk/aws_lakeformation/__init__.py +80 -15
  160. aws_cdk/aws_lambda/__init__.py +2101 -252
  161. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  163. aws_cdk/aws_launchwizard/__init__.py +13 -2
  164. aws_cdk/aws_lex/__init__.py +871 -8
  165. aws_cdk/aws_licensemanager/__init__.py +24 -4
  166. aws_cdk/aws_lightsail/__init__.py +2159 -975
  167. aws_cdk/aws_location/__init__.py +618 -14
  168. aws_cdk/aws_logs/__init__.py +5904 -956
  169. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  170. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  171. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  172. aws_cdk/aws_m2/__init__.py +94 -19
  173. aws_cdk/aws_macie/__init__.py +49 -11
  174. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  175. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  176. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  177. aws_cdk/aws_medialive/__init__.py +1239 -35
  178. aws_cdk/aws_mediapackage/__init__.py +59 -12
  179. aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
  180. aws_cdk/aws_mediastore/__init__.py +13 -2
  181. aws_cdk/aws_mediatailor/__init__.py +583 -12
  182. aws_cdk/aws_memorydb/__init__.py +271 -12
  183. aws_cdk/aws_mpa/__init__.py +1495 -0
  184. aws_cdk/aws_msk/__init__.py +104 -18
  185. aws_cdk/aws_mwaa/__init__.py +121 -9
  186. aws_cdk/aws_neptune/__init__.py +290 -78
  187. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  188. aws_cdk/aws_networkfirewall/__init__.py +1289 -273
  189. aws_cdk/aws_networkmanager/__init__.py +349 -33
  190. aws_cdk/aws_nimblestudio/__init__.py +75 -8
  191. aws_cdk/aws_notifications/__init__.py +317 -12
  192. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  193. aws_cdk/aws_oam/__init__.py +24 -4
  194. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  195. aws_cdk/aws_odb/__init__.py +5872 -0
  196. aws_cdk/aws_omics/__init__.py +2495 -529
  197. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  198. aws_cdk/aws_opensearchservice/__init__.py +495 -19
  199. aws_cdk/aws_opsworks/__init__.py +235 -139
  200. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  201. aws_cdk/aws_organizations/__init__.py +70 -10
  202. aws_cdk/aws_osis/__init__.py +167 -2
  203. aws_cdk/aws_panorama/__init__.py +151 -6
  204. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  205. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  206. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  207. aws_cdk/aws_pcs/__init__.py +387 -68
  208. aws_cdk/aws_personalize/__init__.py +46 -8
  209. aws_cdk/aws_pinpoint/__init__.py +329 -38
  210. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  211. aws_cdk/aws_pipes/__init__.py +12 -2
  212. aws_cdk/aws_proton/__init__.py +37 -6
  213. aws_cdk/aws_qbusiness/__init__.py +635 -34
  214. aws_cdk/aws_qldb/__init__.py +24 -4
  215. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  216. aws_cdk/aws_ram/__init__.py +24 -4
  217. aws_cdk/aws_rbin/__init__.py +12 -2
  218. aws_cdk/aws_rds/__init__.py +3345 -512
  219. aws_cdk/aws_redshift/__init__.py +143 -20
  220. aws_cdk/aws_redshiftserverless/__init__.py +692 -4
  221. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  222. aws_cdk/aws_rekognition/__init__.py +93 -6
  223. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  224. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  225. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  226. aws_cdk/aws_robomaker/__init__.py +72 -12
  227. aws_cdk/aws_rolesanywhere/__init__.py +180 -6
  228. aws_cdk/aws_route53/__init__.py +3273 -1442
  229. aws_cdk/aws_route53_targets/__init__.py +3 -0
  230. aws_cdk/aws_route53profiles/__init__.py +37 -6
  231. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  232. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  233. aws_cdk/aws_route53resolver/__init__.py +226 -36
  234. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  235. aws_cdk/aws_rum/__init__.py +13 -2
  236. aws_cdk/aws_s3/__init__.py +1291 -158
  237. aws_cdk/aws_s3_assets/__init__.py +11 -11
  238. aws_cdk/aws_s3_deployment/__init__.py +147 -11
  239. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  240. aws_cdk/aws_s3express/__init__.py +266 -8
  241. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  242. aws_cdk/aws_s3outposts/__init__.py +46 -8
  243. aws_cdk/aws_s3tables/__init__.py +2000 -323
  244. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  245. aws_cdk/aws_sagemaker/__init__.py +6617 -363
  246. aws_cdk/aws_sam/__init__.py +79 -14
  247. aws_cdk/aws_scheduler/__init__.py +237 -4
  248. aws_cdk/aws_sdb/__init__.py +12 -2
  249. aws_cdk/aws_secretsmanager/__init__.py +170 -14
  250. aws_cdk/aws_securityhub/__init__.py +3121 -176
  251. aws_cdk/aws_securitylake/__init__.py +46 -8
  252. aws_cdk/aws_servicecatalog/__init__.py +405 -246
  253. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  254. aws_cdk/aws_servicediscovery/__init__.py +140 -47
  255. aws_cdk/aws_ses/__init__.py +1231 -140
  256. aws_cdk/aws_shield/__init__.py +46 -8
  257. aws_cdk/aws_signer/__init__.py +27 -4
  258. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  259. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  260. aws_cdk/aws_sns/__init__.py +245 -29
  261. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  262. aws_cdk/aws_sqs/__init__.py +211 -14
  263. aws_cdk/aws_ssm/__init__.py +401 -58
  264. aws_cdk/aws_ssmcontacts/__init__.py +46 -8
  265. aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
  266. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  267. aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
  268. aws_cdk/aws_sso/__init__.py +70 -12
  269. aws_cdk/aws_stepfunctions/__init__.py +615 -70
  270. aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
  271. aws_cdk/aws_supportapp/__init__.py +39 -6
  272. aws_cdk/aws_synthetics/__init__.py +861 -75
  273. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  274. aws_cdk/aws_timestream/__init__.py +104 -8
  275. aws_cdk/aws_transfer/__init__.py +784 -87
  276. aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
  277. aws_cdk/aws_voiceid/__init__.py +41 -2
  278. aws_cdk/aws_vpclattice/__init__.py +376 -30
  279. aws_cdk/aws_waf/__init__.py +79 -14
  280. aws_cdk/aws_wafregional/__init__.py +123 -22
  281. aws_cdk/aws_wafv2/__init__.py +1179 -60
  282. aws_cdk/aws_wisdom/__init__.py +1401 -90
  283. aws_cdk/aws_workspaces/__init__.py +93 -6
  284. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  285. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  286. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  287. aws_cdk/aws_xray/__init__.py +48 -8
  288. aws_cdk/cloud_assembly_schema/__init__.py +231 -6
  289. aws_cdk/custom_resources/__init__.py +40 -12
  290. aws_cdk/cx_api/__init__.py +85 -14
  291. aws_cdk/interfaces/__init__.py +739 -0
  292. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  293. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  295. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  296. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  297. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  298. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  299. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  300. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  301. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  302. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  303. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  304. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  305. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  306. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  307. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  308. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  309. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  310. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  311. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  312. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  313. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  314. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  315. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  316. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  317. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  318. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  319. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  320. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  321. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  322. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  323. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  324. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  325. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  326. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  327. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  328. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  329. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  330. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  331. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  332. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  333. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  334. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  335. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  336. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  337. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  338. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  339. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  340. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  341. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  342. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  343. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  344. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  345. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  346. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  347. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  348. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  349. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  350. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  351. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  352. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  353. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  354. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  355. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  356. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  358. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  359. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  360. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  361. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  362. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  363. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  364. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  365. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  366. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  367. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  368. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  369. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  370. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  371. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  372. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  373. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  374. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  376. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  377. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  378. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  379. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  380. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  381. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  382. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  383. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  385. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  386. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  387. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  388. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  389. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  390. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  391. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  392. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  393. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  394. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  396. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  397. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  398. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  399. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  400. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  401. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  402. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  403. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  404. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  405. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  406. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  407. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  408. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  409. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  410. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  411. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  412. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  413. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  414. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  415. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  416. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  417. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  418. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  419. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  420. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  421. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  422. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  423. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  424. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  425. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  426. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  427. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  428. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  429. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  430. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  431. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  432. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  433. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  434. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  436. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  437. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  438. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  439. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  440. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  441. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  442. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  443. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  444. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  445. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  446. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  447. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  448. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  449. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  450. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  451. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  452. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  453. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  454. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  455. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  456. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  457. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  458. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  459. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  460. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  461. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  462. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  463. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  464. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  465. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  466. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  467. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  468. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  469. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  470. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  471. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  472. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  473. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  474. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  475. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  476. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  477. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  478. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  479. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  480. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  481. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  482. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  483. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  484. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  485. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  486. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  487. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  488. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  489. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  490. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  491. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  492. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  493. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  494. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  495. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  496. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  497. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  498. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  499. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  500. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  501. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  502. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  503. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  504. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  505. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  506. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  507. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  508. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  509. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  510. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  511. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  512. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  513. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  514. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  515. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  516. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  517. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  518. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  519. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  520. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  521. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  522. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  523. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  524. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  525. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  526. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  527. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  528. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  529. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  530. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  531. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  532. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  533. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  534. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  535. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  536. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  537. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  538. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  539. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  540. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  541. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  542. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  543. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  544. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  545. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  546. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  547. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  548. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  549. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  550. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  551. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  552. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  553. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  554. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  555. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  556. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  557. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  558. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  559. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  560. aws_cdk/pipelines/__init__.py +192 -42
  561. aws_cdk/region_info/__init__.py +3 -0
  562. aws_cdk/triggers/__init__.py +60 -18
  563. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
  564. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  565. aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
  566. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  567. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  568. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  569. {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1998 @@
1
+ from pkgutil import extend_path
2
+ __path__ = extend_path(__path__, __name__)
3
+
4
+ import abc
5
+ import builtins
6
+ import datetime
7
+ import enum
8
+ import typing
9
+
10
+ import jsii
11
+ import publication
12
+ import typing_extensions
13
+
14
+ import typeguard
15
+ from importlib.metadata import version as _metadata_package_version
16
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
17
+
18
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
19
+ if TYPEGUARD_MAJOR_VERSION <= 2:
20
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
21
+ else:
22
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
23
+ pass
24
+ else:
25
+ if TYPEGUARD_MAJOR_VERSION == 3:
26
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
27
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
28
+ else:
29
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
30
+
31
+ from ..._jsii import *
32
+
33
+ import constructs as _constructs_77d1e7e8
34
+ from .. import IEnvironmentAware as _IEnvironmentAware_f39049ee
35
+
36
+
37
+ @jsii.data_type(
38
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.AnycastIpListReference",
39
+ jsii_struct_bases=[],
40
+ name_mapping={"anycast_ip_list_id": "anycastIpListId"},
41
+ )
42
+ class AnycastIpListReference:
43
+ def __init__(self, *, anycast_ip_list_id: builtins.str) -> None:
44
+ '''A reference to a AnycastIpList resource.
45
+
46
+ :param anycast_ip_list_id: The Id of the AnycastIpList resource.
47
+
48
+ :exampleMetadata: fixture=_generated
49
+
50
+ Example::
51
+
52
+ # The code below shows an example of how to instantiate this type.
53
+ # The values are placeholders you should change.
54
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
55
+
56
+ anycast_ip_list_reference = interfaces_aws_cloudfront.AnycastIpListReference(
57
+ anycast_ip_list_id="anycastIpListId"
58
+ )
59
+ '''
60
+ if __debug__:
61
+ type_hints = typing.get_type_hints(_typecheckingstub__b0935893f040727b890159b2a61c53744a19e903fa583f51fd1335094286a882)
62
+ check_type(argname="argument anycast_ip_list_id", value=anycast_ip_list_id, expected_type=type_hints["anycast_ip_list_id"])
63
+ self._values: typing.Dict[builtins.str, typing.Any] = {
64
+ "anycast_ip_list_id": anycast_ip_list_id,
65
+ }
66
+
67
+ @builtins.property
68
+ def anycast_ip_list_id(self) -> builtins.str:
69
+ '''The Id of the AnycastIpList resource.'''
70
+ result = self._values.get("anycast_ip_list_id")
71
+ assert result is not None, "Required property 'anycast_ip_list_id' is missing"
72
+ return typing.cast(builtins.str, result)
73
+
74
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
75
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
76
+
77
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
78
+ return not (rhs == self)
79
+
80
+ def __repr__(self) -> str:
81
+ return "AnycastIpListReference(%s)" % ", ".join(
82
+ k + "=" + repr(v) for k, v in self._values.items()
83
+ )
84
+
85
+
86
+ @jsii.data_type(
87
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.CachePolicyReference",
88
+ jsii_struct_bases=[],
89
+ name_mapping={"cache_policy_id": "cachePolicyId"},
90
+ )
91
+ class CachePolicyReference:
92
+ def __init__(self, *, cache_policy_id: builtins.str) -> None:
93
+ '''A reference to a CachePolicy resource.
94
+
95
+ :param cache_policy_id: The Id of the CachePolicy resource.
96
+
97
+ :exampleMetadata: fixture=_generated
98
+
99
+ Example::
100
+
101
+ # The code below shows an example of how to instantiate this type.
102
+ # The values are placeholders you should change.
103
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
104
+
105
+ cache_policy_reference = interfaces_aws_cloudfront.CachePolicyReference(
106
+ cache_policy_id="cachePolicyId"
107
+ )
108
+ '''
109
+ if __debug__:
110
+ type_hints = typing.get_type_hints(_typecheckingstub__eafc53ec8d44d91d599196eff2812b8d3e750f75445fecc22787175206a425f4)
111
+ check_type(argname="argument cache_policy_id", value=cache_policy_id, expected_type=type_hints["cache_policy_id"])
112
+ self._values: typing.Dict[builtins.str, typing.Any] = {
113
+ "cache_policy_id": cache_policy_id,
114
+ }
115
+
116
+ @builtins.property
117
+ def cache_policy_id(self) -> builtins.str:
118
+ '''The Id of the CachePolicy resource.'''
119
+ result = self._values.get("cache_policy_id")
120
+ assert result is not None, "Required property 'cache_policy_id' is missing"
121
+ return typing.cast(builtins.str, result)
122
+
123
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
124
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
125
+
126
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
127
+ return not (rhs == self)
128
+
129
+ def __repr__(self) -> str:
130
+ return "CachePolicyReference(%s)" % ", ".join(
131
+ k + "=" + repr(v) for k, v in self._values.items()
132
+ )
133
+
134
+
135
+ @jsii.data_type(
136
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.CloudFrontOriginAccessIdentityReference",
137
+ jsii_struct_bases=[],
138
+ name_mapping={
139
+ "cloud_front_origin_access_identity_id": "cloudFrontOriginAccessIdentityId",
140
+ },
141
+ )
142
+ class CloudFrontOriginAccessIdentityReference:
143
+ def __init__(self, *, cloud_front_origin_access_identity_id: builtins.str) -> None:
144
+ '''A reference to a CloudFrontOriginAccessIdentity resource.
145
+
146
+ :param cloud_front_origin_access_identity_id: The Id of the CloudFrontOriginAccessIdentity resource.
147
+
148
+ :exampleMetadata: fixture=_generated
149
+
150
+ Example::
151
+
152
+ # The code below shows an example of how to instantiate this type.
153
+ # The values are placeholders you should change.
154
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
155
+
156
+ cloud_front_origin_access_identity_reference = interfaces_aws_cloudfront.CloudFrontOriginAccessIdentityReference(
157
+ cloud_front_origin_access_identity_id="cloudFrontOriginAccessIdentityId"
158
+ )
159
+ '''
160
+ if __debug__:
161
+ type_hints = typing.get_type_hints(_typecheckingstub__ac62879d2ba5cdd6aa45b9be7d13a0247d5901fc9a2cbb8b4ce248ceeae24403)
162
+ check_type(argname="argument cloud_front_origin_access_identity_id", value=cloud_front_origin_access_identity_id, expected_type=type_hints["cloud_front_origin_access_identity_id"])
163
+ self._values: typing.Dict[builtins.str, typing.Any] = {
164
+ "cloud_front_origin_access_identity_id": cloud_front_origin_access_identity_id,
165
+ }
166
+
167
+ @builtins.property
168
+ def cloud_front_origin_access_identity_id(self) -> builtins.str:
169
+ '''The Id of the CloudFrontOriginAccessIdentity resource.'''
170
+ result = self._values.get("cloud_front_origin_access_identity_id")
171
+ assert result is not None, "Required property 'cloud_front_origin_access_identity_id' is missing"
172
+ return typing.cast(builtins.str, result)
173
+
174
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
175
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
176
+
177
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
178
+ return not (rhs == self)
179
+
180
+ def __repr__(self) -> str:
181
+ return "CloudFrontOriginAccessIdentityReference(%s)" % ", ".join(
182
+ k + "=" + repr(v) for k, v in self._values.items()
183
+ )
184
+
185
+
186
+ @jsii.data_type(
187
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.ConnectionGroupReference",
188
+ jsii_struct_bases=[],
189
+ name_mapping={
190
+ "connection_group_arn": "connectionGroupArn",
191
+ "connection_group_id": "connectionGroupId",
192
+ },
193
+ )
194
+ class ConnectionGroupReference:
195
+ def __init__(
196
+ self,
197
+ *,
198
+ connection_group_arn: builtins.str,
199
+ connection_group_id: builtins.str,
200
+ ) -> None:
201
+ '''A reference to a ConnectionGroup resource.
202
+
203
+ :param connection_group_arn: The ARN of the ConnectionGroup resource.
204
+ :param connection_group_id: The Id of the ConnectionGroup resource.
205
+
206
+ :exampleMetadata: fixture=_generated
207
+
208
+ Example::
209
+
210
+ # The code below shows an example of how to instantiate this type.
211
+ # The values are placeholders you should change.
212
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
213
+
214
+ connection_group_reference = interfaces_aws_cloudfront.ConnectionGroupReference(
215
+ connection_group_arn="connectionGroupArn",
216
+ connection_group_id="connectionGroupId"
217
+ )
218
+ '''
219
+ if __debug__:
220
+ type_hints = typing.get_type_hints(_typecheckingstub__03040cdfe38372fca8182c71a8a7787ed0a443239bca593242923e506cd17202)
221
+ check_type(argname="argument connection_group_arn", value=connection_group_arn, expected_type=type_hints["connection_group_arn"])
222
+ check_type(argname="argument connection_group_id", value=connection_group_id, expected_type=type_hints["connection_group_id"])
223
+ self._values: typing.Dict[builtins.str, typing.Any] = {
224
+ "connection_group_arn": connection_group_arn,
225
+ "connection_group_id": connection_group_id,
226
+ }
227
+
228
+ @builtins.property
229
+ def connection_group_arn(self) -> builtins.str:
230
+ '''The ARN of the ConnectionGroup resource.'''
231
+ result = self._values.get("connection_group_arn")
232
+ assert result is not None, "Required property 'connection_group_arn' is missing"
233
+ return typing.cast(builtins.str, result)
234
+
235
+ @builtins.property
236
+ def connection_group_id(self) -> builtins.str:
237
+ '''The Id of the ConnectionGroup resource.'''
238
+ result = self._values.get("connection_group_id")
239
+ assert result is not None, "Required property 'connection_group_id' is missing"
240
+ return typing.cast(builtins.str, result)
241
+
242
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
243
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
244
+
245
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
246
+ return not (rhs == self)
247
+
248
+ def __repr__(self) -> str:
249
+ return "ConnectionGroupReference(%s)" % ", ".join(
250
+ k + "=" + repr(v) for k, v in self._values.items()
251
+ )
252
+
253
+
254
+ @jsii.data_type(
255
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.ContinuousDeploymentPolicyReference",
256
+ jsii_struct_bases=[],
257
+ name_mapping={"continuous_deployment_policy_id": "continuousDeploymentPolicyId"},
258
+ )
259
+ class ContinuousDeploymentPolicyReference:
260
+ def __init__(self, *, continuous_deployment_policy_id: builtins.str) -> None:
261
+ '''A reference to a ContinuousDeploymentPolicy resource.
262
+
263
+ :param continuous_deployment_policy_id: The Id of the ContinuousDeploymentPolicy resource.
264
+
265
+ :exampleMetadata: fixture=_generated
266
+
267
+ Example::
268
+
269
+ # The code below shows an example of how to instantiate this type.
270
+ # The values are placeholders you should change.
271
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
272
+
273
+ continuous_deployment_policy_reference = interfaces_aws_cloudfront.ContinuousDeploymentPolicyReference(
274
+ continuous_deployment_policy_id="continuousDeploymentPolicyId"
275
+ )
276
+ '''
277
+ if __debug__:
278
+ type_hints = typing.get_type_hints(_typecheckingstub__45ecf47f2529275c1a72313ada238b7dd48f33d72dcbaad3303f04dc5489a6c4)
279
+ check_type(argname="argument continuous_deployment_policy_id", value=continuous_deployment_policy_id, expected_type=type_hints["continuous_deployment_policy_id"])
280
+ self._values: typing.Dict[builtins.str, typing.Any] = {
281
+ "continuous_deployment_policy_id": continuous_deployment_policy_id,
282
+ }
283
+
284
+ @builtins.property
285
+ def continuous_deployment_policy_id(self) -> builtins.str:
286
+ '''The Id of the ContinuousDeploymentPolicy resource.'''
287
+ result = self._values.get("continuous_deployment_policy_id")
288
+ assert result is not None, "Required property 'continuous_deployment_policy_id' is missing"
289
+ return typing.cast(builtins.str, result)
290
+
291
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
292
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
293
+
294
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
295
+ return not (rhs == self)
296
+
297
+ def __repr__(self) -> str:
298
+ return "ContinuousDeploymentPolicyReference(%s)" % ", ".join(
299
+ k + "=" + repr(v) for k, v in self._values.items()
300
+ )
301
+
302
+
303
+ @jsii.data_type(
304
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.DistributionReference",
305
+ jsii_struct_bases=[],
306
+ name_mapping={"distribution_id": "distributionId"},
307
+ )
308
+ class DistributionReference:
309
+ def __init__(self, *, distribution_id: builtins.str) -> None:
310
+ '''A reference to a Distribution resource.
311
+
312
+ :param distribution_id: The Id of the Distribution resource.
313
+
314
+ :exampleMetadata: fixture=_generated
315
+
316
+ Example::
317
+
318
+ # The code below shows an example of how to instantiate this type.
319
+ # The values are placeholders you should change.
320
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
321
+
322
+ distribution_reference = interfaces_aws_cloudfront.DistributionReference(
323
+ distribution_id="distributionId"
324
+ )
325
+ '''
326
+ if __debug__:
327
+ type_hints = typing.get_type_hints(_typecheckingstub__f97cc6a786fec9feb4764e7b259ccc05ed440a2e51df2dded3b144c438636683)
328
+ check_type(argname="argument distribution_id", value=distribution_id, expected_type=type_hints["distribution_id"])
329
+ self._values: typing.Dict[builtins.str, typing.Any] = {
330
+ "distribution_id": distribution_id,
331
+ }
332
+
333
+ @builtins.property
334
+ def distribution_id(self) -> builtins.str:
335
+ '''The Id of the Distribution resource.'''
336
+ result = self._values.get("distribution_id")
337
+ assert result is not None, "Required property 'distribution_id' is missing"
338
+ return typing.cast(builtins.str, result)
339
+
340
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
341
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
342
+
343
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
344
+ return not (rhs == self)
345
+
346
+ def __repr__(self) -> str:
347
+ return "DistributionReference(%s)" % ", ".join(
348
+ k + "=" + repr(v) for k, v in self._values.items()
349
+ )
350
+
351
+
352
+ @jsii.data_type(
353
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.DistributionTenantReference",
354
+ jsii_struct_bases=[],
355
+ name_mapping={
356
+ "distribution_tenant_arn": "distributionTenantArn",
357
+ "distribution_tenant_id": "distributionTenantId",
358
+ },
359
+ )
360
+ class DistributionTenantReference:
361
+ def __init__(
362
+ self,
363
+ *,
364
+ distribution_tenant_arn: builtins.str,
365
+ distribution_tenant_id: builtins.str,
366
+ ) -> None:
367
+ '''A reference to a DistributionTenant resource.
368
+
369
+ :param distribution_tenant_arn: The ARN of the DistributionTenant resource.
370
+ :param distribution_tenant_id: The Id of the DistributionTenant resource.
371
+
372
+ :exampleMetadata: fixture=_generated
373
+
374
+ Example::
375
+
376
+ # The code below shows an example of how to instantiate this type.
377
+ # The values are placeholders you should change.
378
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
379
+
380
+ distribution_tenant_reference = interfaces_aws_cloudfront.DistributionTenantReference(
381
+ distribution_tenant_arn="distributionTenantArn",
382
+ distribution_tenant_id="distributionTenantId"
383
+ )
384
+ '''
385
+ if __debug__:
386
+ type_hints = typing.get_type_hints(_typecheckingstub__2d850f4f750196ae341c242dc801ed452e2f72f450f61ca0bec654fc3744e247)
387
+ check_type(argname="argument distribution_tenant_arn", value=distribution_tenant_arn, expected_type=type_hints["distribution_tenant_arn"])
388
+ check_type(argname="argument distribution_tenant_id", value=distribution_tenant_id, expected_type=type_hints["distribution_tenant_id"])
389
+ self._values: typing.Dict[builtins.str, typing.Any] = {
390
+ "distribution_tenant_arn": distribution_tenant_arn,
391
+ "distribution_tenant_id": distribution_tenant_id,
392
+ }
393
+
394
+ @builtins.property
395
+ def distribution_tenant_arn(self) -> builtins.str:
396
+ '''The ARN of the DistributionTenant resource.'''
397
+ result = self._values.get("distribution_tenant_arn")
398
+ assert result is not None, "Required property 'distribution_tenant_arn' is missing"
399
+ return typing.cast(builtins.str, result)
400
+
401
+ @builtins.property
402
+ def distribution_tenant_id(self) -> builtins.str:
403
+ '''The Id of the DistributionTenant resource.'''
404
+ result = self._values.get("distribution_tenant_id")
405
+ assert result is not None, "Required property 'distribution_tenant_id' is missing"
406
+ return typing.cast(builtins.str, result)
407
+
408
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
409
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
410
+
411
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
412
+ return not (rhs == self)
413
+
414
+ def __repr__(self) -> str:
415
+ return "DistributionTenantReference(%s)" % ", ".join(
416
+ k + "=" + repr(v) for k, v in self._values.items()
417
+ )
418
+
419
+
420
+ @jsii.data_type(
421
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.FunctionReference",
422
+ jsii_struct_bases=[],
423
+ name_mapping={"function_arn": "functionArn"},
424
+ )
425
+ class FunctionReference:
426
+ def __init__(self, *, function_arn: builtins.str) -> None:
427
+ '''A reference to a Function resource.
428
+
429
+ :param function_arn: The FunctionARN of the Function resource.
430
+
431
+ :exampleMetadata: fixture=_generated
432
+
433
+ Example::
434
+
435
+ # The code below shows an example of how to instantiate this type.
436
+ # The values are placeholders you should change.
437
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
438
+
439
+ function_reference = interfaces_aws_cloudfront.FunctionReference(
440
+ function_arn="functionArn"
441
+ )
442
+ '''
443
+ if __debug__:
444
+ type_hints = typing.get_type_hints(_typecheckingstub__32506104c4cd233c3476b42913670893c3370f22bfb6aca3a771d89e4c4cd669)
445
+ check_type(argname="argument function_arn", value=function_arn, expected_type=type_hints["function_arn"])
446
+ self._values: typing.Dict[builtins.str, typing.Any] = {
447
+ "function_arn": function_arn,
448
+ }
449
+
450
+ @builtins.property
451
+ def function_arn(self) -> builtins.str:
452
+ '''The FunctionARN of the Function resource.'''
453
+ result = self._values.get("function_arn")
454
+ assert result is not None, "Required property 'function_arn' is missing"
455
+ return typing.cast(builtins.str, result)
456
+
457
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
458
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
459
+
460
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
461
+ return not (rhs == self)
462
+
463
+ def __repr__(self) -> str:
464
+ return "FunctionReference(%s)" % ", ".join(
465
+ k + "=" + repr(v) for k, v in self._values.items()
466
+ )
467
+
468
+
469
+ @jsii.interface(jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IAnycastIpListRef")
470
+ class IAnycastIpListRef(
471
+ _constructs_77d1e7e8.IConstruct,
472
+ _IEnvironmentAware_f39049ee,
473
+ typing_extensions.Protocol,
474
+ ):
475
+ '''(experimental) Indicates that this resource can be referenced as a AnycastIpList.
476
+
477
+ :stability: experimental
478
+ '''
479
+
480
+ @builtins.property
481
+ @jsii.member(jsii_name="anycastIpListRef")
482
+ def anycast_ip_list_ref(self) -> AnycastIpListReference:
483
+ '''(experimental) A reference to a AnycastIpList resource.
484
+
485
+ :stability: experimental
486
+ '''
487
+ ...
488
+
489
+
490
+ class _IAnycastIpListRefProxy(
491
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
492
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
493
+ ):
494
+ '''(experimental) Indicates that this resource can be referenced as a AnycastIpList.
495
+
496
+ :stability: experimental
497
+ '''
498
+
499
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IAnycastIpListRef"
500
+
501
+ @builtins.property
502
+ @jsii.member(jsii_name="anycastIpListRef")
503
+ def anycast_ip_list_ref(self) -> AnycastIpListReference:
504
+ '''(experimental) A reference to a AnycastIpList resource.
505
+
506
+ :stability: experimental
507
+ '''
508
+ return typing.cast(AnycastIpListReference, jsii.get(self, "anycastIpListRef"))
509
+
510
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
511
+ typing.cast(typing.Any, IAnycastIpListRef).__jsii_proxy_class__ = lambda : _IAnycastIpListRefProxy
512
+
513
+
514
+ @jsii.interface(jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.ICachePolicyRef")
515
+ class ICachePolicyRef(
516
+ _constructs_77d1e7e8.IConstruct,
517
+ _IEnvironmentAware_f39049ee,
518
+ typing_extensions.Protocol,
519
+ ):
520
+ '''(experimental) Indicates that this resource can be referenced as a CachePolicy.
521
+
522
+ :stability: experimental
523
+ '''
524
+
525
+ @builtins.property
526
+ @jsii.member(jsii_name="cachePolicyRef")
527
+ def cache_policy_ref(self) -> CachePolicyReference:
528
+ '''(experimental) A reference to a CachePolicy resource.
529
+
530
+ :stability: experimental
531
+ '''
532
+ ...
533
+
534
+
535
+ class _ICachePolicyRefProxy(
536
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
537
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
538
+ ):
539
+ '''(experimental) Indicates that this resource can be referenced as a CachePolicy.
540
+
541
+ :stability: experimental
542
+ '''
543
+
544
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.ICachePolicyRef"
545
+
546
+ @builtins.property
547
+ @jsii.member(jsii_name="cachePolicyRef")
548
+ def cache_policy_ref(self) -> CachePolicyReference:
549
+ '''(experimental) A reference to a CachePolicy resource.
550
+
551
+ :stability: experimental
552
+ '''
553
+ return typing.cast(CachePolicyReference, jsii.get(self, "cachePolicyRef"))
554
+
555
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
556
+ typing.cast(typing.Any, ICachePolicyRef).__jsii_proxy_class__ = lambda : _ICachePolicyRefProxy
557
+
558
+
559
+ @jsii.interface(
560
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.ICloudFrontOriginAccessIdentityRef"
561
+ )
562
+ class ICloudFrontOriginAccessIdentityRef(
563
+ _constructs_77d1e7e8.IConstruct,
564
+ _IEnvironmentAware_f39049ee,
565
+ typing_extensions.Protocol,
566
+ ):
567
+ '''(experimental) Indicates that this resource can be referenced as a CloudFrontOriginAccessIdentity.
568
+
569
+ :stability: experimental
570
+ '''
571
+
572
+ @builtins.property
573
+ @jsii.member(jsii_name="cloudFrontOriginAccessIdentityRef")
574
+ def cloud_front_origin_access_identity_ref(
575
+ self,
576
+ ) -> CloudFrontOriginAccessIdentityReference:
577
+ '''(experimental) A reference to a CloudFrontOriginAccessIdentity resource.
578
+
579
+ :stability: experimental
580
+ '''
581
+ ...
582
+
583
+
584
+ class _ICloudFrontOriginAccessIdentityRefProxy(
585
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
586
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
587
+ ):
588
+ '''(experimental) Indicates that this resource can be referenced as a CloudFrontOriginAccessIdentity.
589
+
590
+ :stability: experimental
591
+ '''
592
+
593
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.ICloudFrontOriginAccessIdentityRef"
594
+
595
+ @builtins.property
596
+ @jsii.member(jsii_name="cloudFrontOriginAccessIdentityRef")
597
+ def cloud_front_origin_access_identity_ref(
598
+ self,
599
+ ) -> CloudFrontOriginAccessIdentityReference:
600
+ '''(experimental) A reference to a CloudFrontOriginAccessIdentity resource.
601
+
602
+ :stability: experimental
603
+ '''
604
+ return typing.cast(CloudFrontOriginAccessIdentityReference, jsii.get(self, "cloudFrontOriginAccessIdentityRef"))
605
+
606
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
607
+ typing.cast(typing.Any, ICloudFrontOriginAccessIdentityRef).__jsii_proxy_class__ = lambda : _ICloudFrontOriginAccessIdentityRefProxy
608
+
609
+
610
+ @jsii.interface(jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IConnectionGroupRef")
611
+ class IConnectionGroupRef(
612
+ _constructs_77d1e7e8.IConstruct,
613
+ _IEnvironmentAware_f39049ee,
614
+ typing_extensions.Protocol,
615
+ ):
616
+ '''(experimental) Indicates that this resource can be referenced as a ConnectionGroup.
617
+
618
+ :stability: experimental
619
+ '''
620
+
621
+ @builtins.property
622
+ @jsii.member(jsii_name="connectionGroupRef")
623
+ def connection_group_ref(self) -> ConnectionGroupReference:
624
+ '''(experimental) A reference to a ConnectionGroup resource.
625
+
626
+ :stability: experimental
627
+ '''
628
+ ...
629
+
630
+
631
+ class _IConnectionGroupRefProxy(
632
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
633
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
634
+ ):
635
+ '''(experimental) Indicates that this resource can be referenced as a ConnectionGroup.
636
+
637
+ :stability: experimental
638
+ '''
639
+
640
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IConnectionGroupRef"
641
+
642
+ @builtins.property
643
+ @jsii.member(jsii_name="connectionGroupRef")
644
+ def connection_group_ref(self) -> ConnectionGroupReference:
645
+ '''(experimental) A reference to a ConnectionGroup resource.
646
+
647
+ :stability: experimental
648
+ '''
649
+ return typing.cast(ConnectionGroupReference, jsii.get(self, "connectionGroupRef"))
650
+
651
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
652
+ typing.cast(typing.Any, IConnectionGroupRef).__jsii_proxy_class__ = lambda : _IConnectionGroupRefProxy
653
+
654
+
655
+ @jsii.interface(
656
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IContinuousDeploymentPolicyRef"
657
+ )
658
+ class IContinuousDeploymentPolicyRef(
659
+ _constructs_77d1e7e8.IConstruct,
660
+ _IEnvironmentAware_f39049ee,
661
+ typing_extensions.Protocol,
662
+ ):
663
+ '''(experimental) Indicates that this resource can be referenced as a ContinuousDeploymentPolicy.
664
+
665
+ :stability: experimental
666
+ '''
667
+
668
+ @builtins.property
669
+ @jsii.member(jsii_name="continuousDeploymentPolicyRef")
670
+ def continuous_deployment_policy_ref(self) -> ContinuousDeploymentPolicyReference:
671
+ '''(experimental) A reference to a ContinuousDeploymentPolicy resource.
672
+
673
+ :stability: experimental
674
+ '''
675
+ ...
676
+
677
+
678
+ class _IContinuousDeploymentPolicyRefProxy(
679
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
680
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
681
+ ):
682
+ '''(experimental) Indicates that this resource can be referenced as a ContinuousDeploymentPolicy.
683
+
684
+ :stability: experimental
685
+ '''
686
+
687
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IContinuousDeploymentPolicyRef"
688
+
689
+ @builtins.property
690
+ @jsii.member(jsii_name="continuousDeploymentPolicyRef")
691
+ def continuous_deployment_policy_ref(self) -> ContinuousDeploymentPolicyReference:
692
+ '''(experimental) A reference to a ContinuousDeploymentPolicy resource.
693
+
694
+ :stability: experimental
695
+ '''
696
+ return typing.cast(ContinuousDeploymentPolicyReference, jsii.get(self, "continuousDeploymentPolicyRef"))
697
+
698
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
699
+ typing.cast(typing.Any, IContinuousDeploymentPolicyRef).__jsii_proxy_class__ = lambda : _IContinuousDeploymentPolicyRefProxy
700
+
701
+
702
+ @jsii.interface(jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IDistributionRef")
703
+ class IDistributionRef(
704
+ _constructs_77d1e7e8.IConstruct,
705
+ _IEnvironmentAware_f39049ee,
706
+ typing_extensions.Protocol,
707
+ ):
708
+ '''(experimental) Indicates that this resource can be referenced as a Distribution.
709
+
710
+ :stability: experimental
711
+ '''
712
+
713
+ @builtins.property
714
+ @jsii.member(jsii_name="distributionRef")
715
+ def distribution_ref(self) -> DistributionReference:
716
+ '''(experimental) A reference to a Distribution resource.
717
+
718
+ :stability: experimental
719
+ '''
720
+ ...
721
+
722
+
723
+ class _IDistributionRefProxy(
724
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
725
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
726
+ ):
727
+ '''(experimental) Indicates that this resource can be referenced as a Distribution.
728
+
729
+ :stability: experimental
730
+ '''
731
+
732
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IDistributionRef"
733
+
734
+ @builtins.property
735
+ @jsii.member(jsii_name="distributionRef")
736
+ def distribution_ref(self) -> DistributionReference:
737
+ '''(experimental) A reference to a Distribution resource.
738
+
739
+ :stability: experimental
740
+ '''
741
+ return typing.cast(DistributionReference, jsii.get(self, "distributionRef"))
742
+
743
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
744
+ typing.cast(typing.Any, IDistributionRef).__jsii_proxy_class__ = lambda : _IDistributionRefProxy
745
+
746
+
747
+ @jsii.interface(
748
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IDistributionTenantRef"
749
+ )
750
+ class IDistributionTenantRef(
751
+ _constructs_77d1e7e8.IConstruct,
752
+ _IEnvironmentAware_f39049ee,
753
+ typing_extensions.Protocol,
754
+ ):
755
+ '''(experimental) Indicates that this resource can be referenced as a DistributionTenant.
756
+
757
+ :stability: experimental
758
+ '''
759
+
760
+ @builtins.property
761
+ @jsii.member(jsii_name="distributionTenantRef")
762
+ def distribution_tenant_ref(self) -> DistributionTenantReference:
763
+ '''(experimental) A reference to a DistributionTenant resource.
764
+
765
+ :stability: experimental
766
+ '''
767
+ ...
768
+
769
+
770
+ class _IDistributionTenantRefProxy(
771
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
772
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
773
+ ):
774
+ '''(experimental) Indicates that this resource can be referenced as a DistributionTenant.
775
+
776
+ :stability: experimental
777
+ '''
778
+
779
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IDistributionTenantRef"
780
+
781
+ @builtins.property
782
+ @jsii.member(jsii_name="distributionTenantRef")
783
+ def distribution_tenant_ref(self) -> DistributionTenantReference:
784
+ '''(experimental) A reference to a DistributionTenant resource.
785
+
786
+ :stability: experimental
787
+ '''
788
+ return typing.cast(DistributionTenantReference, jsii.get(self, "distributionTenantRef"))
789
+
790
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
791
+ typing.cast(typing.Any, IDistributionTenantRef).__jsii_proxy_class__ = lambda : _IDistributionTenantRefProxy
792
+
793
+
794
+ @jsii.interface(jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IFunctionRef")
795
+ class IFunctionRef(
796
+ _constructs_77d1e7e8.IConstruct,
797
+ _IEnvironmentAware_f39049ee,
798
+ typing_extensions.Protocol,
799
+ ):
800
+ '''(experimental) Indicates that this resource can be referenced as a Function.
801
+
802
+ :stability: experimental
803
+ '''
804
+
805
+ @builtins.property
806
+ @jsii.member(jsii_name="functionRef")
807
+ def function_ref(self) -> FunctionReference:
808
+ '''(experimental) A reference to a Function resource.
809
+
810
+ :stability: experimental
811
+ '''
812
+ ...
813
+
814
+
815
+ class _IFunctionRefProxy(
816
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
817
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
818
+ ):
819
+ '''(experimental) Indicates that this resource can be referenced as a Function.
820
+
821
+ :stability: experimental
822
+ '''
823
+
824
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IFunctionRef"
825
+
826
+ @builtins.property
827
+ @jsii.member(jsii_name="functionRef")
828
+ def function_ref(self) -> FunctionReference:
829
+ '''(experimental) A reference to a Function resource.
830
+
831
+ :stability: experimental
832
+ '''
833
+ return typing.cast(FunctionReference, jsii.get(self, "functionRef"))
834
+
835
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
836
+ typing.cast(typing.Any, IFunctionRef).__jsii_proxy_class__ = lambda : _IFunctionRefProxy
837
+
838
+
839
+ @jsii.interface(jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IKeyGroupRef")
840
+ class IKeyGroupRef(
841
+ _constructs_77d1e7e8.IConstruct,
842
+ _IEnvironmentAware_f39049ee,
843
+ typing_extensions.Protocol,
844
+ ):
845
+ '''(experimental) Indicates that this resource can be referenced as a KeyGroup.
846
+
847
+ :stability: experimental
848
+ '''
849
+
850
+ @builtins.property
851
+ @jsii.member(jsii_name="keyGroupRef")
852
+ def key_group_ref(self) -> "KeyGroupReference":
853
+ '''(experimental) A reference to a KeyGroup resource.
854
+
855
+ :stability: experimental
856
+ '''
857
+ ...
858
+
859
+
860
+ class _IKeyGroupRefProxy(
861
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
862
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
863
+ ):
864
+ '''(experimental) Indicates that this resource can be referenced as a KeyGroup.
865
+
866
+ :stability: experimental
867
+ '''
868
+
869
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IKeyGroupRef"
870
+
871
+ @builtins.property
872
+ @jsii.member(jsii_name="keyGroupRef")
873
+ def key_group_ref(self) -> "KeyGroupReference":
874
+ '''(experimental) A reference to a KeyGroup resource.
875
+
876
+ :stability: experimental
877
+ '''
878
+ return typing.cast("KeyGroupReference", jsii.get(self, "keyGroupRef"))
879
+
880
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
881
+ typing.cast(typing.Any, IKeyGroupRef).__jsii_proxy_class__ = lambda : _IKeyGroupRefProxy
882
+
883
+
884
+ @jsii.interface(jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IKeyValueStoreRef")
885
+ class IKeyValueStoreRef(
886
+ _constructs_77d1e7e8.IConstruct,
887
+ _IEnvironmentAware_f39049ee,
888
+ typing_extensions.Protocol,
889
+ ):
890
+ '''(experimental) Indicates that this resource can be referenced as a KeyValueStore.
891
+
892
+ :stability: experimental
893
+ '''
894
+
895
+ @builtins.property
896
+ @jsii.member(jsii_name="keyValueStoreRef")
897
+ def key_value_store_ref(self) -> "KeyValueStoreReference":
898
+ '''(experimental) A reference to a KeyValueStore resource.
899
+
900
+ :stability: experimental
901
+ '''
902
+ ...
903
+
904
+
905
+ class _IKeyValueStoreRefProxy(
906
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
907
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
908
+ ):
909
+ '''(experimental) Indicates that this resource can be referenced as a KeyValueStore.
910
+
911
+ :stability: experimental
912
+ '''
913
+
914
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IKeyValueStoreRef"
915
+
916
+ @builtins.property
917
+ @jsii.member(jsii_name="keyValueStoreRef")
918
+ def key_value_store_ref(self) -> "KeyValueStoreReference":
919
+ '''(experimental) A reference to a KeyValueStore resource.
920
+
921
+ :stability: experimental
922
+ '''
923
+ return typing.cast("KeyValueStoreReference", jsii.get(self, "keyValueStoreRef"))
924
+
925
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
926
+ typing.cast(typing.Any, IKeyValueStoreRef).__jsii_proxy_class__ = lambda : _IKeyValueStoreRefProxy
927
+
928
+
929
+ @jsii.interface(
930
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IMonitoringSubscriptionRef"
931
+ )
932
+ class IMonitoringSubscriptionRef(
933
+ _constructs_77d1e7e8.IConstruct,
934
+ _IEnvironmentAware_f39049ee,
935
+ typing_extensions.Protocol,
936
+ ):
937
+ '''(experimental) Indicates that this resource can be referenced as a MonitoringSubscription.
938
+
939
+ :stability: experimental
940
+ '''
941
+
942
+ @builtins.property
943
+ @jsii.member(jsii_name="monitoringSubscriptionRef")
944
+ def monitoring_subscription_ref(self) -> "MonitoringSubscriptionReference":
945
+ '''(experimental) A reference to a MonitoringSubscription resource.
946
+
947
+ :stability: experimental
948
+ '''
949
+ ...
950
+
951
+
952
+ class _IMonitoringSubscriptionRefProxy(
953
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
954
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
955
+ ):
956
+ '''(experimental) Indicates that this resource can be referenced as a MonitoringSubscription.
957
+
958
+ :stability: experimental
959
+ '''
960
+
961
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IMonitoringSubscriptionRef"
962
+
963
+ @builtins.property
964
+ @jsii.member(jsii_name="monitoringSubscriptionRef")
965
+ def monitoring_subscription_ref(self) -> "MonitoringSubscriptionReference":
966
+ '''(experimental) A reference to a MonitoringSubscription resource.
967
+
968
+ :stability: experimental
969
+ '''
970
+ return typing.cast("MonitoringSubscriptionReference", jsii.get(self, "monitoringSubscriptionRef"))
971
+
972
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
973
+ typing.cast(typing.Any, IMonitoringSubscriptionRef).__jsii_proxy_class__ = lambda : _IMonitoringSubscriptionRefProxy
974
+
975
+
976
+ @jsii.interface(
977
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IOriginAccessControlRef"
978
+ )
979
+ class IOriginAccessControlRef(
980
+ _constructs_77d1e7e8.IConstruct,
981
+ _IEnvironmentAware_f39049ee,
982
+ typing_extensions.Protocol,
983
+ ):
984
+ '''(experimental) Indicates that this resource can be referenced as a OriginAccessControl.
985
+
986
+ :stability: experimental
987
+ '''
988
+
989
+ @builtins.property
990
+ @jsii.member(jsii_name="originAccessControlRef")
991
+ def origin_access_control_ref(self) -> "OriginAccessControlReference":
992
+ '''(experimental) A reference to a OriginAccessControl resource.
993
+
994
+ :stability: experimental
995
+ '''
996
+ ...
997
+
998
+
999
+ class _IOriginAccessControlRefProxy(
1000
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
1001
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
1002
+ ):
1003
+ '''(experimental) Indicates that this resource can be referenced as a OriginAccessControl.
1004
+
1005
+ :stability: experimental
1006
+ '''
1007
+
1008
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IOriginAccessControlRef"
1009
+
1010
+ @builtins.property
1011
+ @jsii.member(jsii_name="originAccessControlRef")
1012
+ def origin_access_control_ref(self) -> "OriginAccessControlReference":
1013
+ '''(experimental) A reference to a OriginAccessControl resource.
1014
+
1015
+ :stability: experimental
1016
+ '''
1017
+ return typing.cast("OriginAccessControlReference", jsii.get(self, "originAccessControlRef"))
1018
+
1019
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
1020
+ typing.cast(typing.Any, IOriginAccessControlRef).__jsii_proxy_class__ = lambda : _IOriginAccessControlRefProxy
1021
+
1022
+
1023
+ @jsii.interface(
1024
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IOriginRequestPolicyRef"
1025
+ )
1026
+ class IOriginRequestPolicyRef(
1027
+ _constructs_77d1e7e8.IConstruct,
1028
+ _IEnvironmentAware_f39049ee,
1029
+ typing_extensions.Protocol,
1030
+ ):
1031
+ '''(experimental) Indicates that this resource can be referenced as a OriginRequestPolicy.
1032
+
1033
+ :stability: experimental
1034
+ '''
1035
+
1036
+ @builtins.property
1037
+ @jsii.member(jsii_name="originRequestPolicyRef")
1038
+ def origin_request_policy_ref(self) -> "OriginRequestPolicyReference":
1039
+ '''(experimental) A reference to a OriginRequestPolicy resource.
1040
+
1041
+ :stability: experimental
1042
+ '''
1043
+ ...
1044
+
1045
+
1046
+ class _IOriginRequestPolicyRefProxy(
1047
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
1048
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
1049
+ ):
1050
+ '''(experimental) Indicates that this resource can be referenced as a OriginRequestPolicy.
1051
+
1052
+ :stability: experimental
1053
+ '''
1054
+
1055
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IOriginRequestPolicyRef"
1056
+
1057
+ @builtins.property
1058
+ @jsii.member(jsii_name="originRequestPolicyRef")
1059
+ def origin_request_policy_ref(self) -> "OriginRequestPolicyReference":
1060
+ '''(experimental) A reference to a OriginRequestPolicy resource.
1061
+
1062
+ :stability: experimental
1063
+ '''
1064
+ return typing.cast("OriginRequestPolicyReference", jsii.get(self, "originRequestPolicyRef"))
1065
+
1066
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
1067
+ typing.cast(typing.Any, IOriginRequestPolicyRef).__jsii_proxy_class__ = lambda : _IOriginRequestPolicyRefProxy
1068
+
1069
+
1070
+ @jsii.interface(jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IPublicKeyRef")
1071
+ class IPublicKeyRef(
1072
+ _constructs_77d1e7e8.IConstruct,
1073
+ _IEnvironmentAware_f39049ee,
1074
+ typing_extensions.Protocol,
1075
+ ):
1076
+ '''(experimental) Indicates that this resource can be referenced as a PublicKey.
1077
+
1078
+ :stability: experimental
1079
+ '''
1080
+
1081
+ @builtins.property
1082
+ @jsii.member(jsii_name="publicKeyRef")
1083
+ def public_key_ref(self) -> "PublicKeyReference":
1084
+ '''(experimental) A reference to a PublicKey resource.
1085
+
1086
+ :stability: experimental
1087
+ '''
1088
+ ...
1089
+
1090
+
1091
+ class _IPublicKeyRefProxy(
1092
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
1093
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
1094
+ ):
1095
+ '''(experimental) Indicates that this resource can be referenced as a PublicKey.
1096
+
1097
+ :stability: experimental
1098
+ '''
1099
+
1100
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IPublicKeyRef"
1101
+
1102
+ @builtins.property
1103
+ @jsii.member(jsii_name="publicKeyRef")
1104
+ def public_key_ref(self) -> "PublicKeyReference":
1105
+ '''(experimental) A reference to a PublicKey resource.
1106
+
1107
+ :stability: experimental
1108
+ '''
1109
+ return typing.cast("PublicKeyReference", jsii.get(self, "publicKeyRef"))
1110
+
1111
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
1112
+ typing.cast(typing.Any, IPublicKeyRef).__jsii_proxy_class__ = lambda : _IPublicKeyRefProxy
1113
+
1114
+
1115
+ @jsii.interface(
1116
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IRealtimeLogConfigRef"
1117
+ )
1118
+ class IRealtimeLogConfigRef(
1119
+ _constructs_77d1e7e8.IConstruct,
1120
+ _IEnvironmentAware_f39049ee,
1121
+ typing_extensions.Protocol,
1122
+ ):
1123
+ '''(experimental) Indicates that this resource can be referenced as a RealtimeLogConfig.
1124
+
1125
+ :stability: experimental
1126
+ '''
1127
+
1128
+ @builtins.property
1129
+ @jsii.member(jsii_name="realtimeLogConfigRef")
1130
+ def realtime_log_config_ref(self) -> "RealtimeLogConfigReference":
1131
+ '''(experimental) A reference to a RealtimeLogConfig resource.
1132
+
1133
+ :stability: experimental
1134
+ '''
1135
+ ...
1136
+
1137
+
1138
+ class _IRealtimeLogConfigRefProxy(
1139
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
1140
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
1141
+ ):
1142
+ '''(experimental) Indicates that this resource can be referenced as a RealtimeLogConfig.
1143
+
1144
+ :stability: experimental
1145
+ '''
1146
+
1147
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IRealtimeLogConfigRef"
1148
+
1149
+ @builtins.property
1150
+ @jsii.member(jsii_name="realtimeLogConfigRef")
1151
+ def realtime_log_config_ref(self) -> "RealtimeLogConfigReference":
1152
+ '''(experimental) A reference to a RealtimeLogConfig resource.
1153
+
1154
+ :stability: experimental
1155
+ '''
1156
+ return typing.cast("RealtimeLogConfigReference", jsii.get(self, "realtimeLogConfigRef"))
1157
+
1158
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
1159
+ typing.cast(typing.Any, IRealtimeLogConfigRef).__jsii_proxy_class__ = lambda : _IRealtimeLogConfigRefProxy
1160
+
1161
+
1162
+ @jsii.interface(
1163
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IResponseHeadersPolicyRef"
1164
+ )
1165
+ class IResponseHeadersPolicyRef(
1166
+ _constructs_77d1e7e8.IConstruct,
1167
+ _IEnvironmentAware_f39049ee,
1168
+ typing_extensions.Protocol,
1169
+ ):
1170
+ '''(experimental) Indicates that this resource can be referenced as a ResponseHeadersPolicy.
1171
+
1172
+ :stability: experimental
1173
+ '''
1174
+
1175
+ @builtins.property
1176
+ @jsii.member(jsii_name="responseHeadersPolicyRef")
1177
+ def response_headers_policy_ref(self) -> "ResponseHeadersPolicyReference":
1178
+ '''(experimental) A reference to a ResponseHeadersPolicy resource.
1179
+
1180
+ :stability: experimental
1181
+ '''
1182
+ ...
1183
+
1184
+
1185
+ class _IResponseHeadersPolicyRefProxy(
1186
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
1187
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
1188
+ ):
1189
+ '''(experimental) Indicates that this resource can be referenced as a ResponseHeadersPolicy.
1190
+
1191
+ :stability: experimental
1192
+ '''
1193
+
1194
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IResponseHeadersPolicyRef"
1195
+
1196
+ @builtins.property
1197
+ @jsii.member(jsii_name="responseHeadersPolicyRef")
1198
+ def response_headers_policy_ref(self) -> "ResponseHeadersPolicyReference":
1199
+ '''(experimental) A reference to a ResponseHeadersPolicy resource.
1200
+
1201
+ :stability: experimental
1202
+ '''
1203
+ return typing.cast("ResponseHeadersPolicyReference", jsii.get(self, "responseHeadersPolicyRef"))
1204
+
1205
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
1206
+ typing.cast(typing.Any, IResponseHeadersPolicyRef).__jsii_proxy_class__ = lambda : _IResponseHeadersPolicyRefProxy
1207
+
1208
+
1209
+ @jsii.interface(
1210
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IStreamingDistributionRef"
1211
+ )
1212
+ class IStreamingDistributionRef(
1213
+ _constructs_77d1e7e8.IConstruct,
1214
+ _IEnvironmentAware_f39049ee,
1215
+ typing_extensions.Protocol,
1216
+ ):
1217
+ '''(experimental) Indicates that this resource can be referenced as a StreamingDistribution.
1218
+
1219
+ :stability: experimental
1220
+ '''
1221
+
1222
+ @builtins.property
1223
+ @jsii.member(jsii_name="streamingDistributionRef")
1224
+ def streaming_distribution_ref(self) -> "StreamingDistributionReference":
1225
+ '''(experimental) A reference to a StreamingDistribution resource.
1226
+
1227
+ :stability: experimental
1228
+ '''
1229
+ ...
1230
+
1231
+
1232
+ class _IStreamingDistributionRefProxy(
1233
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
1234
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
1235
+ ):
1236
+ '''(experimental) Indicates that this resource can be referenced as a StreamingDistribution.
1237
+
1238
+ :stability: experimental
1239
+ '''
1240
+
1241
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IStreamingDistributionRef"
1242
+
1243
+ @builtins.property
1244
+ @jsii.member(jsii_name="streamingDistributionRef")
1245
+ def streaming_distribution_ref(self) -> "StreamingDistributionReference":
1246
+ '''(experimental) A reference to a StreamingDistribution resource.
1247
+
1248
+ :stability: experimental
1249
+ '''
1250
+ return typing.cast("StreamingDistributionReference", jsii.get(self, "streamingDistributionRef"))
1251
+
1252
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
1253
+ typing.cast(typing.Any, IStreamingDistributionRef).__jsii_proxy_class__ = lambda : _IStreamingDistributionRefProxy
1254
+
1255
+
1256
+ @jsii.interface(jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.IVpcOriginRef")
1257
+ class IVpcOriginRef(
1258
+ _constructs_77d1e7e8.IConstruct,
1259
+ _IEnvironmentAware_f39049ee,
1260
+ typing_extensions.Protocol,
1261
+ ):
1262
+ '''(experimental) Indicates that this resource can be referenced as a VpcOrigin.
1263
+
1264
+ :stability: experimental
1265
+ '''
1266
+
1267
+ @builtins.property
1268
+ @jsii.member(jsii_name="vpcOriginRef")
1269
+ def vpc_origin_ref(self) -> "VpcOriginReference":
1270
+ '''(experimental) A reference to a VpcOrigin resource.
1271
+
1272
+ :stability: experimental
1273
+ '''
1274
+ ...
1275
+
1276
+
1277
+ class _IVpcOriginRefProxy(
1278
+ jsii.proxy_for(_constructs_77d1e7e8.IConstruct), # type: ignore[misc]
1279
+ jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
1280
+ ):
1281
+ '''(experimental) Indicates that this resource can be referenced as a VpcOrigin.
1282
+
1283
+ :stability: experimental
1284
+ '''
1285
+
1286
+ __jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.interfaces.aws_cloudfront.IVpcOriginRef"
1287
+
1288
+ @builtins.property
1289
+ @jsii.member(jsii_name="vpcOriginRef")
1290
+ def vpc_origin_ref(self) -> "VpcOriginReference":
1291
+ '''(experimental) A reference to a VpcOrigin resource.
1292
+
1293
+ :stability: experimental
1294
+ '''
1295
+ return typing.cast("VpcOriginReference", jsii.get(self, "vpcOriginRef"))
1296
+
1297
+ # Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
1298
+ typing.cast(typing.Any, IVpcOriginRef).__jsii_proxy_class__ = lambda : _IVpcOriginRefProxy
1299
+
1300
+
1301
+ @jsii.data_type(
1302
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.KeyGroupReference",
1303
+ jsii_struct_bases=[],
1304
+ name_mapping={"key_group_id": "keyGroupId"},
1305
+ )
1306
+ class KeyGroupReference:
1307
+ def __init__(self, *, key_group_id: builtins.str) -> None:
1308
+ '''A reference to a KeyGroup resource.
1309
+
1310
+ :param key_group_id: The Id of the KeyGroup resource.
1311
+
1312
+ :exampleMetadata: fixture=_generated
1313
+
1314
+ Example::
1315
+
1316
+ # The code below shows an example of how to instantiate this type.
1317
+ # The values are placeholders you should change.
1318
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
1319
+
1320
+ key_group_reference = interfaces_aws_cloudfront.KeyGroupReference(
1321
+ key_group_id="keyGroupId"
1322
+ )
1323
+ '''
1324
+ if __debug__:
1325
+ type_hints = typing.get_type_hints(_typecheckingstub__464ae77084d63c7646b271a3e37cb2e98cacce805a2d61d9f5dbdda96f46dff5)
1326
+ check_type(argname="argument key_group_id", value=key_group_id, expected_type=type_hints["key_group_id"])
1327
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1328
+ "key_group_id": key_group_id,
1329
+ }
1330
+
1331
+ @builtins.property
1332
+ def key_group_id(self) -> builtins.str:
1333
+ '''The Id of the KeyGroup resource.'''
1334
+ result = self._values.get("key_group_id")
1335
+ assert result is not None, "Required property 'key_group_id' is missing"
1336
+ return typing.cast(builtins.str, 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 "KeyGroupReference(%s)" % ", ".join(
1346
+ k + "=" + repr(v) for k, v in self._values.items()
1347
+ )
1348
+
1349
+
1350
+ @jsii.data_type(
1351
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.KeyValueStoreReference",
1352
+ jsii_struct_bases=[],
1353
+ name_mapping={
1354
+ "key_value_store_arn": "keyValueStoreArn",
1355
+ "key_value_store_name": "keyValueStoreName",
1356
+ },
1357
+ )
1358
+ class KeyValueStoreReference:
1359
+ def __init__(
1360
+ self,
1361
+ *,
1362
+ key_value_store_arn: builtins.str,
1363
+ key_value_store_name: builtins.str,
1364
+ ) -> None:
1365
+ '''A reference to a KeyValueStore resource.
1366
+
1367
+ :param key_value_store_arn: The ARN of the KeyValueStore resource.
1368
+ :param key_value_store_name: The Name of the KeyValueStore resource.
1369
+
1370
+ :exampleMetadata: fixture=_generated
1371
+
1372
+ Example::
1373
+
1374
+ # The code below shows an example of how to instantiate this type.
1375
+ # The values are placeholders you should change.
1376
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
1377
+
1378
+ key_value_store_reference = interfaces_aws_cloudfront.KeyValueStoreReference(
1379
+ key_value_store_arn="keyValueStoreArn",
1380
+ key_value_store_name="keyValueStoreName"
1381
+ )
1382
+ '''
1383
+ if __debug__:
1384
+ type_hints = typing.get_type_hints(_typecheckingstub__6d2ab8f161da96de4216494194339f84571b4f0f1cfe710f61f155cda66cbac5)
1385
+ check_type(argname="argument key_value_store_arn", value=key_value_store_arn, expected_type=type_hints["key_value_store_arn"])
1386
+ check_type(argname="argument key_value_store_name", value=key_value_store_name, expected_type=type_hints["key_value_store_name"])
1387
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1388
+ "key_value_store_arn": key_value_store_arn,
1389
+ "key_value_store_name": key_value_store_name,
1390
+ }
1391
+
1392
+ @builtins.property
1393
+ def key_value_store_arn(self) -> builtins.str:
1394
+ '''The ARN of the KeyValueStore resource.'''
1395
+ result = self._values.get("key_value_store_arn")
1396
+ assert result is not None, "Required property 'key_value_store_arn' is missing"
1397
+ return typing.cast(builtins.str, result)
1398
+
1399
+ @builtins.property
1400
+ def key_value_store_name(self) -> builtins.str:
1401
+ '''The Name of the KeyValueStore resource.'''
1402
+ result = self._values.get("key_value_store_name")
1403
+ assert result is not None, "Required property 'key_value_store_name' is missing"
1404
+ return typing.cast(builtins.str, result)
1405
+
1406
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1407
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1408
+
1409
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1410
+ return not (rhs == self)
1411
+
1412
+ def __repr__(self) -> str:
1413
+ return "KeyValueStoreReference(%s)" % ", ".join(
1414
+ k + "=" + repr(v) for k, v in self._values.items()
1415
+ )
1416
+
1417
+
1418
+ @jsii.data_type(
1419
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.MonitoringSubscriptionReference",
1420
+ jsii_struct_bases=[],
1421
+ name_mapping={"distribution_id": "distributionId"},
1422
+ )
1423
+ class MonitoringSubscriptionReference:
1424
+ def __init__(self, *, distribution_id: builtins.str) -> None:
1425
+ '''A reference to a MonitoringSubscription resource.
1426
+
1427
+ :param distribution_id: The DistributionId of the MonitoringSubscription resource.
1428
+
1429
+ :exampleMetadata: fixture=_generated
1430
+
1431
+ Example::
1432
+
1433
+ # The code below shows an example of how to instantiate this type.
1434
+ # The values are placeholders you should change.
1435
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
1436
+
1437
+ monitoring_subscription_reference = interfaces_aws_cloudfront.MonitoringSubscriptionReference(
1438
+ distribution_id="distributionId"
1439
+ )
1440
+ '''
1441
+ if __debug__:
1442
+ type_hints = typing.get_type_hints(_typecheckingstub__8d5bb5962d3c7a0d02baa196ea6a6d69ae11b813483a64036a3f44a0ae233a1b)
1443
+ check_type(argname="argument distribution_id", value=distribution_id, expected_type=type_hints["distribution_id"])
1444
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1445
+ "distribution_id": distribution_id,
1446
+ }
1447
+
1448
+ @builtins.property
1449
+ def distribution_id(self) -> builtins.str:
1450
+ '''The DistributionId of the MonitoringSubscription resource.'''
1451
+ result = self._values.get("distribution_id")
1452
+ assert result is not None, "Required property 'distribution_id' is missing"
1453
+ return typing.cast(builtins.str, result)
1454
+
1455
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1456
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1457
+
1458
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1459
+ return not (rhs == self)
1460
+
1461
+ def __repr__(self) -> str:
1462
+ return "MonitoringSubscriptionReference(%s)" % ", ".join(
1463
+ k + "=" + repr(v) for k, v in self._values.items()
1464
+ )
1465
+
1466
+
1467
+ @jsii.data_type(
1468
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.OriginAccessControlReference",
1469
+ jsii_struct_bases=[],
1470
+ name_mapping={"origin_access_control_id": "originAccessControlId"},
1471
+ )
1472
+ class OriginAccessControlReference:
1473
+ def __init__(self, *, origin_access_control_id: builtins.str) -> None:
1474
+ '''A reference to a OriginAccessControl resource.
1475
+
1476
+ :param origin_access_control_id: The Id of the OriginAccessControl resource.
1477
+
1478
+ :exampleMetadata: fixture=_generated
1479
+
1480
+ Example::
1481
+
1482
+ # The code below shows an example of how to instantiate this type.
1483
+ # The values are placeholders you should change.
1484
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
1485
+
1486
+ origin_access_control_reference = interfaces_aws_cloudfront.OriginAccessControlReference(
1487
+ origin_access_control_id="originAccessControlId"
1488
+ )
1489
+ '''
1490
+ if __debug__:
1491
+ type_hints = typing.get_type_hints(_typecheckingstub__429e437a384e20047c9d315562ddd9afc7c6dd4195379b01aac06dbca9a4ed7f)
1492
+ check_type(argname="argument origin_access_control_id", value=origin_access_control_id, expected_type=type_hints["origin_access_control_id"])
1493
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1494
+ "origin_access_control_id": origin_access_control_id,
1495
+ }
1496
+
1497
+ @builtins.property
1498
+ def origin_access_control_id(self) -> builtins.str:
1499
+ '''The Id of the OriginAccessControl resource.'''
1500
+ result = self._values.get("origin_access_control_id")
1501
+ assert result is not None, "Required property 'origin_access_control_id' is missing"
1502
+ return typing.cast(builtins.str, result)
1503
+
1504
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1505
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1506
+
1507
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1508
+ return not (rhs == self)
1509
+
1510
+ def __repr__(self) -> str:
1511
+ return "OriginAccessControlReference(%s)" % ", ".join(
1512
+ k + "=" + repr(v) for k, v in self._values.items()
1513
+ )
1514
+
1515
+
1516
+ @jsii.data_type(
1517
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.OriginRequestPolicyReference",
1518
+ jsii_struct_bases=[],
1519
+ name_mapping={"origin_request_policy_id": "originRequestPolicyId"},
1520
+ )
1521
+ class OriginRequestPolicyReference:
1522
+ def __init__(self, *, origin_request_policy_id: builtins.str) -> None:
1523
+ '''A reference to a OriginRequestPolicy resource.
1524
+
1525
+ :param origin_request_policy_id: The Id of the OriginRequestPolicy resource.
1526
+
1527
+ :exampleMetadata: fixture=_generated
1528
+
1529
+ Example::
1530
+
1531
+ # The code below shows an example of how to instantiate this type.
1532
+ # The values are placeholders you should change.
1533
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
1534
+
1535
+ origin_request_policy_reference = interfaces_aws_cloudfront.OriginRequestPolicyReference(
1536
+ origin_request_policy_id="originRequestPolicyId"
1537
+ )
1538
+ '''
1539
+ if __debug__:
1540
+ type_hints = typing.get_type_hints(_typecheckingstub__ea02d8cc04a4b9b5e9d8c6b151d0cec103783598556595ac38e67940c74abe9f)
1541
+ check_type(argname="argument origin_request_policy_id", value=origin_request_policy_id, expected_type=type_hints["origin_request_policy_id"])
1542
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1543
+ "origin_request_policy_id": origin_request_policy_id,
1544
+ }
1545
+
1546
+ @builtins.property
1547
+ def origin_request_policy_id(self) -> builtins.str:
1548
+ '''The Id of the OriginRequestPolicy resource.'''
1549
+ result = self._values.get("origin_request_policy_id")
1550
+ assert result is not None, "Required property 'origin_request_policy_id' is missing"
1551
+ return typing.cast(builtins.str, result)
1552
+
1553
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1554
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1555
+
1556
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1557
+ return not (rhs == self)
1558
+
1559
+ def __repr__(self) -> str:
1560
+ return "OriginRequestPolicyReference(%s)" % ", ".join(
1561
+ k + "=" + repr(v) for k, v in self._values.items()
1562
+ )
1563
+
1564
+
1565
+ @jsii.data_type(
1566
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.PublicKeyReference",
1567
+ jsii_struct_bases=[],
1568
+ name_mapping={"public_key_id": "publicKeyId"},
1569
+ )
1570
+ class PublicKeyReference:
1571
+ def __init__(self, *, public_key_id: builtins.str) -> None:
1572
+ '''A reference to a PublicKey resource.
1573
+
1574
+ :param public_key_id: The Id of the PublicKey resource.
1575
+
1576
+ :exampleMetadata: fixture=_generated
1577
+
1578
+ Example::
1579
+
1580
+ # The code below shows an example of how to instantiate this type.
1581
+ # The values are placeholders you should change.
1582
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
1583
+
1584
+ public_key_reference = interfaces_aws_cloudfront.PublicKeyReference(
1585
+ public_key_id="publicKeyId"
1586
+ )
1587
+ '''
1588
+ if __debug__:
1589
+ type_hints = typing.get_type_hints(_typecheckingstub__71250d930f6cbefe85b005d8166f7ddd62c5ea16b33c52aa38ec5d4681c2d375)
1590
+ check_type(argname="argument public_key_id", value=public_key_id, expected_type=type_hints["public_key_id"])
1591
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1592
+ "public_key_id": public_key_id,
1593
+ }
1594
+
1595
+ @builtins.property
1596
+ def public_key_id(self) -> builtins.str:
1597
+ '''The Id of the PublicKey resource.'''
1598
+ result = self._values.get("public_key_id")
1599
+ assert result is not None, "Required property 'public_key_id' is missing"
1600
+ return typing.cast(builtins.str, result)
1601
+
1602
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1603
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1604
+
1605
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1606
+ return not (rhs == self)
1607
+
1608
+ def __repr__(self) -> str:
1609
+ return "PublicKeyReference(%s)" % ", ".join(
1610
+ k + "=" + repr(v) for k, v in self._values.items()
1611
+ )
1612
+
1613
+
1614
+ @jsii.data_type(
1615
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.RealtimeLogConfigReference",
1616
+ jsii_struct_bases=[],
1617
+ name_mapping={"realtime_log_config_arn": "realtimeLogConfigArn"},
1618
+ )
1619
+ class RealtimeLogConfigReference:
1620
+ def __init__(self, *, realtime_log_config_arn: builtins.str) -> None:
1621
+ '''A reference to a RealtimeLogConfig resource.
1622
+
1623
+ :param realtime_log_config_arn: The Arn of the RealtimeLogConfig resource.
1624
+
1625
+ :exampleMetadata: fixture=_generated
1626
+
1627
+ Example::
1628
+
1629
+ # The code below shows an example of how to instantiate this type.
1630
+ # The values are placeholders you should change.
1631
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
1632
+
1633
+ realtime_log_config_reference = interfaces_aws_cloudfront.RealtimeLogConfigReference(
1634
+ realtime_log_config_arn="realtimeLogConfigArn"
1635
+ )
1636
+ '''
1637
+ if __debug__:
1638
+ type_hints = typing.get_type_hints(_typecheckingstub__7e47f76633903c72c57cd74c16acb44209796d52559c9feb527ba4eabfd8fe49)
1639
+ check_type(argname="argument realtime_log_config_arn", value=realtime_log_config_arn, expected_type=type_hints["realtime_log_config_arn"])
1640
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1641
+ "realtime_log_config_arn": realtime_log_config_arn,
1642
+ }
1643
+
1644
+ @builtins.property
1645
+ def realtime_log_config_arn(self) -> builtins.str:
1646
+ '''The Arn of the RealtimeLogConfig resource.'''
1647
+ result = self._values.get("realtime_log_config_arn")
1648
+ assert result is not None, "Required property 'realtime_log_config_arn' is missing"
1649
+ return typing.cast(builtins.str, result)
1650
+
1651
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1652
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1653
+
1654
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1655
+ return not (rhs == self)
1656
+
1657
+ def __repr__(self) -> str:
1658
+ return "RealtimeLogConfigReference(%s)" % ", ".join(
1659
+ k + "=" + repr(v) for k, v in self._values.items()
1660
+ )
1661
+
1662
+
1663
+ @jsii.data_type(
1664
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.ResponseHeadersPolicyReference",
1665
+ jsii_struct_bases=[],
1666
+ name_mapping={"response_headers_policy_id": "responseHeadersPolicyId"},
1667
+ )
1668
+ class ResponseHeadersPolicyReference:
1669
+ def __init__(self, *, response_headers_policy_id: builtins.str) -> None:
1670
+ '''A reference to a ResponseHeadersPolicy resource.
1671
+
1672
+ :param response_headers_policy_id: The Id of the ResponseHeadersPolicy resource.
1673
+
1674
+ :exampleMetadata: fixture=_generated
1675
+
1676
+ Example::
1677
+
1678
+ # The code below shows an example of how to instantiate this type.
1679
+ # The values are placeholders you should change.
1680
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
1681
+
1682
+ response_headers_policy_reference = interfaces_aws_cloudfront.ResponseHeadersPolicyReference(
1683
+ response_headers_policy_id="responseHeadersPolicyId"
1684
+ )
1685
+ '''
1686
+ if __debug__:
1687
+ type_hints = typing.get_type_hints(_typecheckingstub__fef3bb5e942491b4c267ba48598eda169bb96e3379b4df3fb4e54758952407d5)
1688
+ check_type(argname="argument response_headers_policy_id", value=response_headers_policy_id, expected_type=type_hints["response_headers_policy_id"])
1689
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1690
+ "response_headers_policy_id": response_headers_policy_id,
1691
+ }
1692
+
1693
+ @builtins.property
1694
+ def response_headers_policy_id(self) -> builtins.str:
1695
+ '''The Id of the ResponseHeadersPolicy resource.'''
1696
+ result = self._values.get("response_headers_policy_id")
1697
+ assert result is not None, "Required property 'response_headers_policy_id' is missing"
1698
+ return typing.cast(builtins.str, result)
1699
+
1700
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1701
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1702
+
1703
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1704
+ return not (rhs == self)
1705
+
1706
+ def __repr__(self) -> str:
1707
+ return "ResponseHeadersPolicyReference(%s)" % ", ".join(
1708
+ k + "=" + repr(v) for k, v in self._values.items()
1709
+ )
1710
+
1711
+
1712
+ @jsii.data_type(
1713
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.StreamingDistributionReference",
1714
+ jsii_struct_bases=[],
1715
+ name_mapping={"streaming_distribution_id": "streamingDistributionId"},
1716
+ )
1717
+ class StreamingDistributionReference:
1718
+ def __init__(self, *, streaming_distribution_id: builtins.str) -> None:
1719
+ '''A reference to a StreamingDistribution resource.
1720
+
1721
+ :param streaming_distribution_id: The Id of the StreamingDistribution resource.
1722
+
1723
+ :exampleMetadata: fixture=_generated
1724
+
1725
+ Example::
1726
+
1727
+ # The code below shows an example of how to instantiate this type.
1728
+ # The values are placeholders you should change.
1729
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
1730
+
1731
+ streaming_distribution_reference = interfaces_aws_cloudfront.StreamingDistributionReference(
1732
+ streaming_distribution_id="streamingDistributionId"
1733
+ )
1734
+ '''
1735
+ if __debug__:
1736
+ type_hints = typing.get_type_hints(_typecheckingstub__7b0342b4ece7f7cd84a2ff3923fb6055994a168bcd5e993a8ba1befb62dced2a)
1737
+ check_type(argname="argument streaming_distribution_id", value=streaming_distribution_id, expected_type=type_hints["streaming_distribution_id"])
1738
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1739
+ "streaming_distribution_id": streaming_distribution_id,
1740
+ }
1741
+
1742
+ @builtins.property
1743
+ def streaming_distribution_id(self) -> builtins.str:
1744
+ '''The Id of the StreamingDistribution resource.'''
1745
+ result = self._values.get("streaming_distribution_id")
1746
+ assert result is not None, "Required property 'streaming_distribution_id' is missing"
1747
+ return typing.cast(builtins.str, result)
1748
+
1749
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1750
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1751
+
1752
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1753
+ return not (rhs == self)
1754
+
1755
+ def __repr__(self) -> str:
1756
+ return "StreamingDistributionReference(%s)" % ", ".join(
1757
+ k + "=" + repr(v) for k, v in self._values.items()
1758
+ )
1759
+
1760
+
1761
+ @jsii.data_type(
1762
+ jsii_type="aws-cdk-lib.interfaces.aws_cloudfront.VpcOriginReference",
1763
+ jsii_struct_bases=[],
1764
+ name_mapping={"vpc_origin_arn": "vpcOriginArn", "vpc_origin_id": "vpcOriginId"},
1765
+ )
1766
+ class VpcOriginReference:
1767
+ def __init__(
1768
+ self,
1769
+ *,
1770
+ vpc_origin_arn: builtins.str,
1771
+ vpc_origin_id: builtins.str,
1772
+ ) -> None:
1773
+ '''A reference to a VpcOrigin resource.
1774
+
1775
+ :param vpc_origin_arn: The ARN of the VpcOrigin resource.
1776
+ :param vpc_origin_id: The Id of the VpcOrigin resource.
1777
+
1778
+ :exampleMetadata: fixture=_generated
1779
+
1780
+ Example::
1781
+
1782
+ # The code below shows an example of how to instantiate this type.
1783
+ # The values are placeholders you should change.
1784
+ from aws_cdk.interfaces import aws_cloudfront as interfaces_aws_cloudfront
1785
+
1786
+ vpc_origin_reference = interfaces_aws_cloudfront.VpcOriginReference(
1787
+ vpc_origin_arn="vpcOriginArn",
1788
+ vpc_origin_id="vpcOriginId"
1789
+ )
1790
+ '''
1791
+ if __debug__:
1792
+ type_hints = typing.get_type_hints(_typecheckingstub__69b032e15f12676ea4499a1b53874c8d182ed57bcf8be49701395b5cf79741f1)
1793
+ check_type(argname="argument vpc_origin_arn", value=vpc_origin_arn, expected_type=type_hints["vpc_origin_arn"])
1794
+ check_type(argname="argument vpc_origin_id", value=vpc_origin_id, expected_type=type_hints["vpc_origin_id"])
1795
+ self._values: typing.Dict[builtins.str, typing.Any] = {
1796
+ "vpc_origin_arn": vpc_origin_arn,
1797
+ "vpc_origin_id": vpc_origin_id,
1798
+ }
1799
+
1800
+ @builtins.property
1801
+ def vpc_origin_arn(self) -> builtins.str:
1802
+ '''The ARN of the VpcOrigin resource.'''
1803
+ result = self._values.get("vpc_origin_arn")
1804
+ assert result is not None, "Required property 'vpc_origin_arn' is missing"
1805
+ return typing.cast(builtins.str, result)
1806
+
1807
+ @builtins.property
1808
+ def vpc_origin_id(self) -> builtins.str:
1809
+ '''The Id of the VpcOrigin resource.'''
1810
+ result = self._values.get("vpc_origin_id")
1811
+ assert result is not None, "Required property 'vpc_origin_id' is missing"
1812
+ return typing.cast(builtins.str, result)
1813
+
1814
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1815
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1816
+
1817
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1818
+ return not (rhs == self)
1819
+
1820
+ def __repr__(self) -> str:
1821
+ return "VpcOriginReference(%s)" % ", ".join(
1822
+ k + "=" + repr(v) for k, v in self._values.items()
1823
+ )
1824
+
1825
+
1826
+ __all__ = [
1827
+ "AnycastIpListReference",
1828
+ "CachePolicyReference",
1829
+ "CloudFrontOriginAccessIdentityReference",
1830
+ "ConnectionGroupReference",
1831
+ "ContinuousDeploymentPolicyReference",
1832
+ "DistributionReference",
1833
+ "DistributionTenantReference",
1834
+ "FunctionReference",
1835
+ "IAnycastIpListRef",
1836
+ "ICachePolicyRef",
1837
+ "ICloudFrontOriginAccessIdentityRef",
1838
+ "IConnectionGroupRef",
1839
+ "IContinuousDeploymentPolicyRef",
1840
+ "IDistributionRef",
1841
+ "IDistributionTenantRef",
1842
+ "IFunctionRef",
1843
+ "IKeyGroupRef",
1844
+ "IKeyValueStoreRef",
1845
+ "IMonitoringSubscriptionRef",
1846
+ "IOriginAccessControlRef",
1847
+ "IOriginRequestPolicyRef",
1848
+ "IPublicKeyRef",
1849
+ "IRealtimeLogConfigRef",
1850
+ "IResponseHeadersPolicyRef",
1851
+ "IStreamingDistributionRef",
1852
+ "IVpcOriginRef",
1853
+ "KeyGroupReference",
1854
+ "KeyValueStoreReference",
1855
+ "MonitoringSubscriptionReference",
1856
+ "OriginAccessControlReference",
1857
+ "OriginRequestPolicyReference",
1858
+ "PublicKeyReference",
1859
+ "RealtimeLogConfigReference",
1860
+ "ResponseHeadersPolicyReference",
1861
+ "StreamingDistributionReference",
1862
+ "VpcOriginReference",
1863
+ ]
1864
+
1865
+ publication.publish()
1866
+
1867
+ def _typecheckingstub__b0935893f040727b890159b2a61c53744a19e903fa583f51fd1335094286a882(
1868
+ *,
1869
+ anycast_ip_list_id: builtins.str,
1870
+ ) -> None:
1871
+ """Type checking stubs"""
1872
+ pass
1873
+
1874
+ def _typecheckingstub__eafc53ec8d44d91d599196eff2812b8d3e750f75445fecc22787175206a425f4(
1875
+ *,
1876
+ cache_policy_id: builtins.str,
1877
+ ) -> None:
1878
+ """Type checking stubs"""
1879
+ pass
1880
+
1881
+ def _typecheckingstub__ac62879d2ba5cdd6aa45b9be7d13a0247d5901fc9a2cbb8b4ce248ceeae24403(
1882
+ *,
1883
+ cloud_front_origin_access_identity_id: builtins.str,
1884
+ ) -> None:
1885
+ """Type checking stubs"""
1886
+ pass
1887
+
1888
+ def _typecheckingstub__03040cdfe38372fca8182c71a8a7787ed0a443239bca593242923e506cd17202(
1889
+ *,
1890
+ connection_group_arn: builtins.str,
1891
+ connection_group_id: builtins.str,
1892
+ ) -> None:
1893
+ """Type checking stubs"""
1894
+ pass
1895
+
1896
+ def _typecheckingstub__45ecf47f2529275c1a72313ada238b7dd48f33d72dcbaad3303f04dc5489a6c4(
1897
+ *,
1898
+ continuous_deployment_policy_id: builtins.str,
1899
+ ) -> None:
1900
+ """Type checking stubs"""
1901
+ pass
1902
+
1903
+ def _typecheckingstub__f97cc6a786fec9feb4764e7b259ccc05ed440a2e51df2dded3b144c438636683(
1904
+ *,
1905
+ distribution_id: builtins.str,
1906
+ ) -> None:
1907
+ """Type checking stubs"""
1908
+ pass
1909
+
1910
+ def _typecheckingstub__2d850f4f750196ae341c242dc801ed452e2f72f450f61ca0bec654fc3744e247(
1911
+ *,
1912
+ distribution_tenant_arn: builtins.str,
1913
+ distribution_tenant_id: builtins.str,
1914
+ ) -> None:
1915
+ """Type checking stubs"""
1916
+ pass
1917
+
1918
+ def _typecheckingstub__32506104c4cd233c3476b42913670893c3370f22bfb6aca3a771d89e4c4cd669(
1919
+ *,
1920
+ function_arn: builtins.str,
1921
+ ) -> None:
1922
+ """Type checking stubs"""
1923
+ pass
1924
+
1925
+ def _typecheckingstub__464ae77084d63c7646b271a3e37cb2e98cacce805a2d61d9f5dbdda96f46dff5(
1926
+ *,
1927
+ key_group_id: builtins.str,
1928
+ ) -> None:
1929
+ """Type checking stubs"""
1930
+ pass
1931
+
1932
+ def _typecheckingstub__6d2ab8f161da96de4216494194339f84571b4f0f1cfe710f61f155cda66cbac5(
1933
+ *,
1934
+ key_value_store_arn: builtins.str,
1935
+ key_value_store_name: builtins.str,
1936
+ ) -> None:
1937
+ """Type checking stubs"""
1938
+ pass
1939
+
1940
+ def _typecheckingstub__8d5bb5962d3c7a0d02baa196ea6a6d69ae11b813483a64036a3f44a0ae233a1b(
1941
+ *,
1942
+ distribution_id: builtins.str,
1943
+ ) -> None:
1944
+ """Type checking stubs"""
1945
+ pass
1946
+
1947
+ def _typecheckingstub__429e437a384e20047c9d315562ddd9afc7c6dd4195379b01aac06dbca9a4ed7f(
1948
+ *,
1949
+ origin_access_control_id: builtins.str,
1950
+ ) -> None:
1951
+ """Type checking stubs"""
1952
+ pass
1953
+
1954
+ def _typecheckingstub__ea02d8cc04a4b9b5e9d8c6b151d0cec103783598556595ac38e67940c74abe9f(
1955
+ *,
1956
+ origin_request_policy_id: builtins.str,
1957
+ ) -> None:
1958
+ """Type checking stubs"""
1959
+ pass
1960
+
1961
+ def _typecheckingstub__71250d930f6cbefe85b005d8166f7ddd62c5ea16b33c52aa38ec5d4681c2d375(
1962
+ *,
1963
+ public_key_id: builtins.str,
1964
+ ) -> None:
1965
+ """Type checking stubs"""
1966
+ pass
1967
+
1968
+ def _typecheckingstub__7e47f76633903c72c57cd74c16acb44209796d52559c9feb527ba4eabfd8fe49(
1969
+ *,
1970
+ realtime_log_config_arn: builtins.str,
1971
+ ) -> None:
1972
+ """Type checking stubs"""
1973
+ pass
1974
+
1975
+ def _typecheckingstub__fef3bb5e942491b4c267ba48598eda169bb96e3379b4df3fb4e54758952407d5(
1976
+ *,
1977
+ response_headers_policy_id: builtins.str,
1978
+ ) -> None:
1979
+ """Type checking stubs"""
1980
+ pass
1981
+
1982
+ def _typecheckingstub__7b0342b4ece7f7cd84a2ff3923fb6055994a168bcd5e993a8ba1befb62dced2a(
1983
+ *,
1984
+ streaming_distribution_id: builtins.str,
1985
+ ) -> None:
1986
+ """Type checking stubs"""
1987
+ pass
1988
+
1989
+ def _typecheckingstub__69b032e15f12676ea4499a1b53874c8d182ed57bcf8be49701395b5cf79741f1(
1990
+ *,
1991
+ vpc_origin_arn: builtins.str,
1992
+ vpc_origin_id: builtins.str,
1993
+ ) -> None:
1994
+ """Type checking stubs"""
1995
+ pass
1996
+
1997
+ for cls in [IAnycastIpListRef, ICachePolicyRef, ICloudFrontOriginAccessIdentityRef, IConnectionGroupRef, IContinuousDeploymentPolicyRef, IDistributionRef, IDistributionTenantRef, IFunctionRef, IKeyGroupRef, IKeyValueStoreRef, IMonitoringSubscriptionRef, IOriginAccessControlRef, IOriginRequestPolicyRef, IPublicKeyRef, IRealtimeLogConfigRef, IResponseHeadersPolicyRef, IStreamingDistributionRef, IVpcOriginRef]:
1998
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])