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
@@ -573,6 +573,7 @@ origin = origins.LoadBalancerV2Origin(load_balancer,
573
573
  connection_attempts=3,
574
574
  connection_timeout=Duration.seconds(5),
575
575
  read_timeout=Duration.seconds(45),
576
+ response_completion_timeout=Duration.seconds(120),
576
577
  keepalive_timeout=Duration.seconds(45),
577
578
  protocol_policy=cloudfront.OriginProtocolPolicy.MATCH_VIEWER
578
579
  )
@@ -592,6 +593,36 @@ cloudfront.Distribution(self, "myDist",
592
593
  )
593
594
  ```
594
595
 
596
+ You can specify the IP address type for connecting to the origin:
597
+
598
+ ```python
599
+ origin = origins.HttpOrigin("www.example.com",
600
+ ip_address_type=cloudfront.OriginIpAddressType.IPV6
601
+ )
602
+
603
+ cloudfront.Distribution(self, "Distribution",
604
+ default_behavior=cloudfront.BehaviorOptions(origin=origin)
605
+ )
606
+ ```
607
+
608
+ The `ipAddressType` property allows you to specify whether CloudFront should use IPv4, IPv6, or both (dual-stack) when connecting to your origin.
609
+
610
+ The origin can be customized with timeout settings to handle different response scenarios:
611
+
612
+ ```python
613
+ cloudfront.Distribution(self, "Distribution",
614
+ default_behavior=cloudfront.BehaviorOptions(
615
+ origin=origins.HttpOrigin("api.example.com",
616
+ read_timeout=Duration.seconds(60),
617
+ response_completion_timeout=Duration.seconds(120),
618
+ keepalive_timeout=Duration.seconds(45)
619
+ )
620
+ )
621
+ )
622
+ ```
623
+
624
+ The `responseCompletionTimeout` property specifies the time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, and if set, the value must be equal to or greater than the `readTimeout` value.
625
+
595
626
  See the documentation of `aws-cdk-lib/aws-cloudfront` for more information.
596
627
 
597
628
  ## VPC origins
@@ -800,6 +831,61 @@ cloudfront.Distribution(self, "Distribution",
800
831
  )
801
832
  ```
802
833
 
834
+ You can also configure timeout settings for Lambda Function URL origins:
835
+
836
+ ```python
837
+ import aws_cdk.aws_lambda as lambda_
838
+
839
+ # fn: lambda.Function
840
+
841
+ fn_url = fn.add_function_url(auth_type=lambda_.FunctionUrlAuthType.NONE)
842
+
843
+ cloudfront.Distribution(self, "Distribution",
844
+ default_behavior=cloudfront.BehaviorOptions(
845
+ origin=origins.FunctionUrlOrigin(fn_url,
846
+ read_timeout=Duration.seconds(30),
847
+ response_completion_timeout=Duration.seconds(90),
848
+ keepalive_timeout=Duration.seconds(45)
849
+ )
850
+ )
851
+ )
852
+ ```
853
+
854
+ ### Configuring IP Address Type
855
+
856
+ You can specify which IP protocol CloudFront uses when connecting to your Lambda Function URL origin. By default, CloudFront uses IPv4 only.
857
+
858
+ ```python
859
+ import aws_cdk.aws_lambda as lambda_
860
+ from aws_cdk.aws_cloudfront import OriginIpAddressType
861
+
862
+ # fn: lambda.Function
863
+
864
+ fn_url = fn.add_function_url(auth_type=lambda_.FunctionUrlAuthType.NONE)
865
+
866
+ # Uses default IPv4 only
867
+ cloudfront.Distribution(self, "Distribution",
868
+ default_behavior=cloudfront.BehaviorOptions(
869
+ origin=origins.FunctionUrlOrigin(fn_url)
870
+ )
871
+ )
872
+
873
+ # Explicitly specify IP address type
874
+ cloudfront.Distribution(self, "Distribution",
875
+ default_behavior=cloudfront.BehaviorOptions(
876
+ origin=origins.FunctionUrlOrigin(fn_url,
877
+ ip_address_type=OriginIpAddressType.DUALSTACK
878
+ )
879
+ )
880
+ )
881
+ ```
882
+
883
+ Supported values for `ipAddressType`:
884
+
885
+ * `OriginIpAddressType.IPV4` - CloudFront uses IPv4 only to connect to the origin (default)
886
+ * `OriginIpAddressType.IPV6` - CloudFront uses IPv6 only to connect to the origin
887
+ * `OriginIpAddressType.DUALSTACK` - CloudFront uses both IPv4 and IPv6 to connect to the origin
888
+
803
889
  ### Lambda Function URL with Origin Access Control (OAC)
804
890
 
805
891
  You can configure the Lambda Function URL with Origin Access Control (OAC) for enhanced security. When using OAC with Signing SIGV4_ALWAYS, it is recommended to set the Lambda Function URL authType to AWS_IAM to ensure proper authorization.
@@ -892,6 +978,7 @@ from ..aws_cloudfront import (
892
978
  OriginBase as _OriginBase_b8fe5bcc,
893
979
  OriginBindConfig as _OriginBindConfig_25a57096,
894
980
  OriginBindOptions as _OriginBindOptions_088c2b51,
981
+ OriginIpAddressType as _OriginIpAddressType_1c01e1a0,
895
982
  OriginProps as _OriginProps_0675928d,
896
983
  OriginProtocolPolicy as _OriginProtocolPolicy_967ed73c,
897
984
  OriginSelectionCriteria as _OriginSelectionCriteria_ba6d3e21,
@@ -920,16 +1007,18 @@ class FunctionUrlOrigin(
920
1007
  Example::
921
1008
 
922
1009
  import aws_cdk.aws_lambda as lambda_
923
- # fn: lambda.Function
924
1010
 
1011
+ # fn: lambda.Function
925
1012
 
926
- fn_url = fn.add_function_url(
927
- auth_type=lambda_.FunctionUrlAuthType.AWS_IAM
928
- )
1013
+ fn_url = fn.add_function_url(auth_type=lambda_.FunctionUrlAuthType.NONE)
929
1014
 
930
- cloudfront.Distribution(self, "MyDistribution",
1015
+ cloudfront.Distribution(self, "Distribution",
931
1016
  default_behavior=cloudfront.BehaviorOptions(
932
- origin=origins.FunctionUrlOrigin.with_origin_access_control(fn_url)
1017
+ origin=origins.FunctionUrlOrigin(fn_url,
1018
+ read_timeout=Duration.seconds(30),
1019
+ response_completion_timeout=Duration.seconds(90),
1020
+ keepalive_timeout=Duration.seconds(45)
1021
+ )
933
1022
  )
934
1023
  )
935
1024
  '''
@@ -938,6 +1027,7 @@ class FunctionUrlOrigin(
938
1027
  self,
939
1028
  lambda_function_url: _IFunctionUrl_1a74cd94,
940
1029
  *,
1030
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
941
1031
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
942
1032
  read_timeout: typing.Optional[_Duration_4839e8c3] = None,
943
1033
  origin_path: typing.Optional[builtins.str] = None,
@@ -948,9 +1038,11 @@ class FunctionUrlOrigin(
948
1038
  origin_id: typing.Optional[builtins.str] = None,
949
1039
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
950
1040
  origin_shield_region: typing.Optional[builtins.str] = None,
1041
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
951
1042
  ) -> None:
952
1043
  '''
953
1044
  :param lambda_function_url: -
1045
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: OriginIpAddressType.IPV4
954
1046
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
955
1047
  :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
956
1048
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
@@ -961,11 +1053,13 @@ class FunctionUrlOrigin(
961
1053
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
962
1054
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
963
1055
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
1056
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
964
1057
  '''
965
1058
  if __debug__:
966
1059
  type_hints = typing.get_type_hints(_typecheckingstub__fcda903697b26acfe2149a285d5a64619682b675affb52f4ae2d1aca46c8f1c3)
967
1060
  check_type(argname="argument lambda_function_url", value=lambda_function_url, expected_type=type_hints["lambda_function_url"])
968
1061
  props = FunctionUrlOriginProps(
1062
+ ip_address_type=ip_address_type,
969
1063
  keepalive_timeout=keepalive_timeout,
970
1064
  read_timeout=read_timeout,
971
1065
  origin_path=origin_path,
@@ -976,6 +1070,7 @@ class FunctionUrlOrigin(
976
1070
  origin_id=origin_id,
977
1071
  origin_shield_enabled=origin_shield_enabled,
978
1072
  origin_shield_region=origin_shield_region,
1073
+ response_completion_timeout=response_completion_timeout,
979
1074
  )
980
1075
 
981
1076
  jsii.create(self.__class__, self, [lambda_function_url, props])
@@ -987,6 +1082,7 @@ class FunctionUrlOrigin(
987
1082
  lambda_function_url: _IFunctionUrl_1a74cd94,
988
1083
  *,
989
1084
  origin_access_control: typing.Optional[_IOriginAccessControl_82a6fe5a] = None,
1085
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
990
1086
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
991
1087
  read_timeout: typing.Optional[_Duration_4839e8c3] = None,
992
1088
  origin_path: typing.Optional[builtins.str] = None,
@@ -997,11 +1093,13 @@ class FunctionUrlOrigin(
997
1093
  origin_id: typing.Optional[builtins.str] = None,
998
1094
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
999
1095
  origin_shield_region: typing.Optional[builtins.str] = None,
1096
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
1000
1097
  ) -> _IOrigin_83d4c1fa:
1001
1098
  '''Create a Lambda Function URL Origin with Origin Access Control (OAC) configured.
1002
1099
 
1003
1100
  :param lambda_function_url: -
1004
1101
  :param origin_access_control: An optional Origin Access Control. Default: - an Origin Access Control will be created.
1102
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: OriginIpAddressType.IPV4
1005
1103
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
1006
1104
  :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
1007
1105
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
@@ -1012,12 +1110,14 @@ class FunctionUrlOrigin(
1012
1110
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
1013
1111
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
1014
1112
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
1113
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
1015
1114
  '''
1016
1115
  if __debug__:
1017
1116
  type_hints = typing.get_type_hints(_typecheckingstub__b4d59b7721f41be7903dbcffeddd34d596392d2c8d2a4110f31a4dacdb532727)
1018
1117
  check_type(argname="argument lambda_function_url", value=lambda_function_url, expected_type=type_hints["lambda_function_url"])
1019
1118
  props = FunctionUrlOriginWithOACProps(
1020
1119
  origin_access_control=origin_access_control,
1120
+ ip_address_type=ip_address_type,
1021
1121
  keepalive_timeout=keepalive_timeout,
1022
1122
  read_timeout=read_timeout,
1023
1123
  origin_path=origin_path,
@@ -1028,6 +1128,7 @@ class FunctionUrlOrigin(
1028
1128
  origin_id=origin_id,
1029
1129
  origin_shield_enabled=origin_shield_enabled,
1030
1130
  origin_shield_region=origin_shield_region,
1131
+ response_completion_timeout=response_completion_timeout,
1031
1132
  )
1032
1133
 
1033
1134
  return typing.cast(_IOrigin_83d4c1fa, jsii.sinvoke(cls, "withOriginAccessControl", [lambda_function_url, props]))
@@ -1050,6 +1151,7 @@ class FunctionUrlOrigin(
1050
1151
  "origin_id": "originId",
1051
1152
  "origin_shield_enabled": "originShieldEnabled",
1052
1153
  "origin_shield_region": "originShieldRegion",
1154
+ "response_completion_timeout": "responseCompletionTimeout",
1053
1155
  "origin_path": "originPath",
1054
1156
  },
1055
1157
  )
@@ -1064,6 +1166,7 @@ class FunctionUrlOriginBaseProps(_OriginProps_0675928d):
1064
1166
  origin_id: typing.Optional[builtins.str] = None,
1065
1167
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
1066
1168
  origin_shield_region: typing.Optional[builtins.str] = None,
1169
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
1067
1170
  origin_path: typing.Optional[builtins.str] = None,
1068
1171
  ) -> None:
1069
1172
  '''Properties for configuring a origin using a standard Lambda Functions URLs.
@@ -1075,6 +1178,7 @@ class FunctionUrlOriginBaseProps(_OriginProps_0675928d):
1075
1178
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
1076
1179
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
1077
1180
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
1181
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
1078
1182
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
1079
1183
 
1080
1184
  :exampleMetadata: fixture=_generated
@@ -1096,7 +1200,8 @@ class FunctionUrlOriginBaseProps(_OriginProps_0675928d):
1096
1200
  origin_id="originId",
1097
1201
  origin_path="originPath",
1098
1202
  origin_shield_enabled=False,
1099
- origin_shield_region="originShieldRegion"
1203
+ origin_shield_region="originShieldRegion",
1204
+ response_completion_timeout=cdk.Duration.minutes(30)
1100
1205
  )
1101
1206
  '''
1102
1207
  if __debug__:
@@ -1108,6 +1213,7 @@ class FunctionUrlOriginBaseProps(_OriginProps_0675928d):
1108
1213
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
1109
1214
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
1110
1215
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
1216
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
1111
1217
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
1112
1218
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1113
1219
  if connection_attempts is not None:
@@ -1124,6 +1230,8 @@ class FunctionUrlOriginBaseProps(_OriginProps_0675928d):
1124
1230
  self._values["origin_shield_enabled"] = origin_shield_enabled
1125
1231
  if origin_shield_region is not None:
1126
1232
  self._values["origin_shield_region"] = origin_shield_region
1233
+ if response_completion_timeout is not None:
1234
+ self._values["response_completion_timeout"] = response_completion_timeout
1127
1235
  if origin_path is not None:
1128
1236
  self._values["origin_path"] = origin_path
1129
1237
 
@@ -1200,6 +1308,21 @@ class FunctionUrlOriginBaseProps(_OriginProps_0675928d):
1200
1308
  result = self._values.get("origin_shield_region")
1201
1309
  return typing.cast(typing.Optional[builtins.str], result)
1202
1310
 
1311
+ @builtins.property
1312
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
1313
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
1314
+
1315
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
1316
+
1317
+ Valid values are 1-3600 seconds, inclusive.
1318
+
1319
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
1320
+
1321
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
1322
+ '''
1323
+ result = self._values.get("response_completion_timeout")
1324
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
1325
+
1203
1326
  @builtins.property
1204
1327
  def origin_path(self) -> typing.Optional[builtins.str]:
1205
1328
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -1234,7 +1357,9 @@ class FunctionUrlOriginBaseProps(_OriginProps_0675928d):
1234
1357
  "origin_id": "originId",
1235
1358
  "origin_shield_enabled": "originShieldEnabled",
1236
1359
  "origin_shield_region": "originShieldRegion",
1360
+ "response_completion_timeout": "responseCompletionTimeout",
1237
1361
  "origin_path": "originPath",
1362
+ "ip_address_type": "ipAddressType",
1238
1363
  "keepalive_timeout": "keepaliveTimeout",
1239
1364
  "read_timeout": "readTimeout",
1240
1365
  },
@@ -1250,7 +1375,9 @@ class FunctionUrlOriginProps(_OriginProps_0675928d):
1250
1375
  origin_id: typing.Optional[builtins.str] = None,
1251
1376
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
1252
1377
  origin_shield_region: typing.Optional[builtins.str] = None,
1378
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
1253
1379
  origin_path: typing.Optional[builtins.str] = None,
1380
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
1254
1381
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
1255
1382
  read_timeout: typing.Optional[_Duration_4839e8c3] = None,
1256
1383
  ) -> None:
@@ -1263,32 +1390,30 @@ class FunctionUrlOriginProps(_OriginProps_0675928d):
1263
1390
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
1264
1391
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
1265
1392
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
1393
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
1266
1394
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
1395
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: OriginIpAddressType.IPV4
1267
1396
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
1268
1397
  :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
1269
1398
 
1270
- :exampleMetadata: fixture=_generated
1399
+ :exampleMetadata: infused
1271
1400
 
1272
1401
  Example::
1273
1402
 
1274
- # The code below shows an example of how to instantiate this type.
1275
- # The values are placeholders you should change.
1276
- import aws_cdk as cdk
1277
- from aws_cdk import aws_cloudfront_origins as cloudfront_origins
1403
+ import aws_cdk.aws_lambda as lambda_
1278
1404
 
1279
- function_url_origin_props = cloudfront_origins.FunctionUrlOriginProps(
1280
- connection_attempts=123,
1281
- connection_timeout=cdk.Duration.minutes(30),
1282
- custom_headers={
1283
- "custom_headers_key": "customHeaders"
1284
- },
1285
- keepalive_timeout=cdk.Duration.minutes(30),
1286
- origin_access_control_id="originAccessControlId",
1287
- origin_id="originId",
1288
- origin_path="originPath",
1289
- origin_shield_enabled=False,
1290
- origin_shield_region="originShieldRegion",
1291
- read_timeout=cdk.Duration.minutes(30)
1405
+ # fn: lambda.Function
1406
+
1407
+ fn_url = fn.add_function_url(auth_type=lambda_.FunctionUrlAuthType.NONE)
1408
+
1409
+ cloudfront.Distribution(self, "Distribution",
1410
+ default_behavior=cloudfront.BehaviorOptions(
1411
+ origin=origins.FunctionUrlOrigin(fn_url,
1412
+ read_timeout=Duration.seconds(30),
1413
+ response_completion_timeout=Duration.seconds(90),
1414
+ keepalive_timeout=Duration.seconds(45)
1415
+ )
1416
+ )
1292
1417
  )
1293
1418
  '''
1294
1419
  if __debug__:
@@ -1300,7 +1425,9 @@ class FunctionUrlOriginProps(_OriginProps_0675928d):
1300
1425
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
1301
1426
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
1302
1427
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
1428
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
1303
1429
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
1430
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
1304
1431
  check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
1305
1432
  check_type(argname="argument read_timeout", value=read_timeout, expected_type=type_hints["read_timeout"])
1306
1433
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -1318,8 +1445,12 @@ class FunctionUrlOriginProps(_OriginProps_0675928d):
1318
1445
  self._values["origin_shield_enabled"] = origin_shield_enabled
1319
1446
  if origin_shield_region is not None:
1320
1447
  self._values["origin_shield_region"] = origin_shield_region
1448
+ if response_completion_timeout is not None:
1449
+ self._values["response_completion_timeout"] = response_completion_timeout
1321
1450
  if origin_path is not None:
1322
1451
  self._values["origin_path"] = origin_path
1452
+ if ip_address_type is not None:
1453
+ self._values["ip_address_type"] = ip_address_type
1323
1454
  if keepalive_timeout is not None:
1324
1455
  self._values["keepalive_timeout"] = keepalive_timeout
1325
1456
  if read_timeout is not None:
@@ -1398,6 +1529,21 @@ class FunctionUrlOriginProps(_OriginProps_0675928d):
1398
1529
  result = self._values.get("origin_shield_region")
1399
1530
  return typing.cast(typing.Optional[builtins.str], result)
1400
1531
 
1532
+ @builtins.property
1533
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
1534
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
1535
+
1536
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
1537
+
1538
+ Valid values are 1-3600 seconds, inclusive.
1539
+
1540
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
1541
+
1542
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
1543
+ '''
1544
+ result = self._values.get("response_completion_timeout")
1545
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
1546
+
1401
1547
  @builtins.property
1402
1548
  def origin_path(self) -> typing.Optional[builtins.str]:
1403
1549
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -1409,6 +1555,17 @@ class FunctionUrlOriginProps(_OriginProps_0675928d):
1409
1555
  result = self._values.get("origin_path")
1410
1556
  return typing.cast(typing.Optional[builtins.str], result)
1411
1557
 
1558
+ @builtins.property
1559
+ def ip_address_type(self) -> typing.Optional[_OriginIpAddressType_1c01e1a0]:
1560
+ '''Specifies which IP protocol CloudFront uses when connecting to your origin.
1561
+
1562
+ If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability.
1563
+
1564
+ :default: OriginIpAddressType.IPV4
1565
+ '''
1566
+ result = self._values.get("ip_address_type")
1567
+ return typing.cast(typing.Optional[_OriginIpAddressType_1c01e1a0], result)
1568
+
1412
1569
  @builtins.property
1413
1570
  def keepalive_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
1414
1571
  '''Specifies how long, in seconds, CloudFront persists its connection to the origin.
@@ -1460,7 +1617,9 @@ class FunctionUrlOriginProps(_OriginProps_0675928d):
1460
1617
  "origin_id": "originId",
1461
1618
  "origin_shield_enabled": "originShieldEnabled",
1462
1619
  "origin_shield_region": "originShieldRegion",
1620
+ "response_completion_timeout": "responseCompletionTimeout",
1463
1621
  "origin_path": "originPath",
1622
+ "ip_address_type": "ipAddressType",
1464
1623
  "keepalive_timeout": "keepaliveTimeout",
1465
1624
  "read_timeout": "readTimeout",
1466
1625
  "origin_access_control": "originAccessControl",
@@ -1477,7 +1636,9 @@ class FunctionUrlOriginWithOACProps(FunctionUrlOriginProps):
1477
1636
  origin_id: typing.Optional[builtins.str] = None,
1478
1637
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
1479
1638
  origin_shield_region: typing.Optional[builtins.str] = None,
1639
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
1480
1640
  origin_path: typing.Optional[builtins.str] = None,
1641
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
1481
1642
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
1482
1643
  read_timeout: typing.Optional[_Duration_4839e8c3] = None,
1483
1644
  origin_access_control: typing.Optional[_IOriginAccessControl_82a6fe5a] = None,
@@ -1491,7 +1652,9 @@ class FunctionUrlOriginWithOACProps(FunctionUrlOriginProps):
1491
1652
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
1492
1653
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
1493
1654
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
1655
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
1494
1656
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
1657
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: OriginIpAddressType.IPV4
1495
1658
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
1496
1659
  :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
1497
1660
  :param origin_access_control: An optional Origin Access Control. Default: - an Origin Access Control will be created.
@@ -1532,7 +1695,9 @@ class FunctionUrlOriginWithOACProps(FunctionUrlOriginProps):
1532
1695
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
1533
1696
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
1534
1697
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
1698
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
1535
1699
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
1700
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
1536
1701
  check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
1537
1702
  check_type(argname="argument read_timeout", value=read_timeout, expected_type=type_hints["read_timeout"])
1538
1703
  check_type(argname="argument origin_access_control", value=origin_access_control, expected_type=type_hints["origin_access_control"])
@@ -1551,8 +1716,12 @@ class FunctionUrlOriginWithOACProps(FunctionUrlOriginProps):
1551
1716
  self._values["origin_shield_enabled"] = origin_shield_enabled
1552
1717
  if origin_shield_region is not None:
1553
1718
  self._values["origin_shield_region"] = origin_shield_region
1719
+ if response_completion_timeout is not None:
1720
+ self._values["response_completion_timeout"] = response_completion_timeout
1554
1721
  if origin_path is not None:
1555
1722
  self._values["origin_path"] = origin_path
1723
+ if ip_address_type is not None:
1724
+ self._values["ip_address_type"] = ip_address_type
1556
1725
  if keepalive_timeout is not None:
1557
1726
  self._values["keepalive_timeout"] = keepalive_timeout
1558
1727
  if read_timeout is not None:
@@ -1633,6 +1802,21 @@ class FunctionUrlOriginWithOACProps(FunctionUrlOriginProps):
1633
1802
  result = self._values.get("origin_shield_region")
1634
1803
  return typing.cast(typing.Optional[builtins.str], result)
1635
1804
 
1805
+ @builtins.property
1806
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
1807
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
1808
+
1809
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
1810
+
1811
+ Valid values are 1-3600 seconds, inclusive.
1812
+
1813
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
1814
+
1815
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
1816
+ '''
1817
+ result = self._values.get("response_completion_timeout")
1818
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
1819
+
1636
1820
  @builtins.property
1637
1821
  def origin_path(self) -> typing.Optional[builtins.str]:
1638
1822
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -1644,6 +1828,17 @@ class FunctionUrlOriginWithOACProps(FunctionUrlOriginProps):
1644
1828
  result = self._values.get("origin_path")
1645
1829
  return typing.cast(typing.Optional[builtins.str], result)
1646
1830
 
1831
+ @builtins.property
1832
+ def ip_address_type(self) -> typing.Optional[_OriginIpAddressType_1c01e1a0]:
1833
+ '''Specifies which IP protocol CloudFront uses when connecting to your origin.
1834
+
1835
+ If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability.
1836
+
1837
+ :default: OriginIpAddressType.IPV4
1838
+ '''
1839
+ result = self._values.get("ip_address_type")
1840
+ return typing.cast(typing.Optional[_OriginIpAddressType_1c01e1a0], result)
1841
+
1647
1842
  @builtins.property
1648
1843
  def keepalive_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
1649
1844
  '''Specifies how long, in seconds, CloudFront persists its connection to the origin.
@@ -1723,6 +1918,7 @@ class HttpOrigin(
1723
1918
  *,
1724
1919
  http_port: typing.Optional[jsii.Number] = None,
1725
1920
  https_port: typing.Optional[jsii.Number] = None,
1921
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
1726
1922
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
1727
1923
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
1728
1924
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -1735,11 +1931,13 @@ class HttpOrigin(
1735
1931
  origin_id: typing.Optional[builtins.str] = None,
1736
1932
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
1737
1933
  origin_shield_region: typing.Optional[builtins.str] = None,
1934
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
1738
1935
  ) -> None:
1739
1936
  '''
1740
1937
  :param domain_name: -
1741
1938
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
1742
1939
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
1940
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
1743
1941
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
1744
1942
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
1745
1943
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
@@ -1752,6 +1950,7 @@ class HttpOrigin(
1752
1950
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
1753
1951
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
1754
1952
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
1953
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
1755
1954
  '''
1756
1955
  if __debug__:
1757
1956
  type_hints = typing.get_type_hints(_typecheckingstub__57d13f69f251622e0723aa73c3eb93e482e0deb7a7b1e8439c7d7ad35cfc0cc5)
@@ -1759,6 +1958,7 @@ class HttpOrigin(
1759
1958
  props = HttpOriginProps(
1760
1959
  http_port=http_port,
1761
1960
  https_port=https_port,
1961
+ ip_address_type=ip_address_type,
1762
1962
  keepalive_timeout=keepalive_timeout,
1763
1963
  origin_ssl_protocols=origin_ssl_protocols,
1764
1964
  protocol_policy=protocol_policy,
@@ -1771,6 +1971,7 @@ class HttpOrigin(
1771
1971
  origin_id=origin_id,
1772
1972
  origin_shield_enabled=origin_shield_enabled,
1773
1973
  origin_shield_region=origin_shield_region,
1974
+ response_completion_timeout=response_completion_timeout,
1774
1975
  )
1775
1976
 
1776
1977
  jsii.create(self.__class__, self, [domain_name, props])
@@ -1793,9 +1994,11 @@ class HttpOrigin(
1793
1994
  "origin_id": "originId",
1794
1995
  "origin_shield_enabled": "originShieldEnabled",
1795
1996
  "origin_shield_region": "originShieldRegion",
1997
+ "response_completion_timeout": "responseCompletionTimeout",
1796
1998
  "origin_path": "originPath",
1797
1999
  "http_port": "httpPort",
1798
2000
  "https_port": "httpsPort",
2001
+ "ip_address_type": "ipAddressType",
1799
2002
  "keepalive_timeout": "keepaliveTimeout",
1800
2003
  "origin_ssl_protocols": "originSslProtocols",
1801
2004
  "protocol_policy": "protocolPolicy",
@@ -1813,9 +2016,11 @@ class HttpOriginProps(_OriginProps_0675928d):
1813
2016
  origin_id: typing.Optional[builtins.str] = None,
1814
2017
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
1815
2018
  origin_shield_region: typing.Optional[builtins.str] = None,
2019
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
1816
2020
  origin_path: typing.Optional[builtins.str] = None,
1817
2021
  http_port: typing.Optional[jsii.Number] = None,
1818
2022
  https_port: typing.Optional[jsii.Number] = None,
2023
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
1819
2024
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
1820
2025
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
1821
2026
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -1830,41 +2035,26 @@ class HttpOriginProps(_OriginProps_0675928d):
1830
2035
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
1831
2036
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
1832
2037
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
2038
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
1833
2039
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
1834
2040
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
1835
2041
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
2042
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
1836
2043
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
1837
2044
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
1838
2045
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
1839
2046
  :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
1840
2047
 
1841
- :exampleMetadata: fixture=_generated
2048
+ :exampleMetadata: infused
1842
2049
 
1843
2050
  Example::
1844
2051
 
1845
- # The code below shows an example of how to instantiate this type.
1846
- # The values are placeholders you should change.
1847
- import aws_cdk as cdk
1848
- from aws_cdk import aws_cloudfront as cloudfront
1849
- from aws_cdk import aws_cloudfront_origins as cloudfront_origins
2052
+ origin = origins.HttpOrigin("www.example.com",
2053
+ ip_address_type=cloudfront.OriginIpAddressType.IPV6
2054
+ )
1850
2055
 
1851
- http_origin_props = cloudfront_origins.HttpOriginProps(
1852
- connection_attempts=123,
1853
- connection_timeout=cdk.Duration.minutes(30),
1854
- custom_headers={
1855
- "custom_headers_key": "customHeaders"
1856
- },
1857
- http_port=123,
1858
- https_port=123,
1859
- keepalive_timeout=cdk.Duration.minutes(30),
1860
- origin_access_control_id="originAccessControlId",
1861
- origin_id="originId",
1862
- origin_path="originPath",
1863
- origin_shield_enabled=False,
1864
- origin_shield_region="originShieldRegion",
1865
- origin_ssl_protocols=[cloudfront.OriginSslPolicy.SSL_V3],
1866
- protocol_policy=cloudfront.OriginProtocolPolicy.HTTP_ONLY,
1867
- read_timeout=cdk.Duration.minutes(30)
2056
+ cloudfront.Distribution(self, "Distribution",
2057
+ default_behavior=cloudfront.BehaviorOptions(origin=origin)
1868
2058
  )
1869
2059
  '''
1870
2060
  if __debug__:
@@ -1876,9 +2066,11 @@ class HttpOriginProps(_OriginProps_0675928d):
1876
2066
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
1877
2067
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
1878
2068
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
2069
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
1879
2070
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
1880
2071
  check_type(argname="argument http_port", value=http_port, expected_type=type_hints["http_port"])
1881
2072
  check_type(argname="argument https_port", value=https_port, expected_type=type_hints["https_port"])
2073
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
1882
2074
  check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
1883
2075
  check_type(argname="argument origin_ssl_protocols", value=origin_ssl_protocols, expected_type=type_hints["origin_ssl_protocols"])
1884
2076
  check_type(argname="argument protocol_policy", value=protocol_policy, expected_type=type_hints["protocol_policy"])
@@ -1898,12 +2090,16 @@ class HttpOriginProps(_OriginProps_0675928d):
1898
2090
  self._values["origin_shield_enabled"] = origin_shield_enabled
1899
2091
  if origin_shield_region is not None:
1900
2092
  self._values["origin_shield_region"] = origin_shield_region
2093
+ if response_completion_timeout is not None:
2094
+ self._values["response_completion_timeout"] = response_completion_timeout
1901
2095
  if origin_path is not None:
1902
2096
  self._values["origin_path"] = origin_path
1903
2097
  if http_port is not None:
1904
2098
  self._values["http_port"] = http_port
1905
2099
  if https_port is not None:
1906
2100
  self._values["https_port"] = https_port
2101
+ if ip_address_type is not None:
2102
+ self._values["ip_address_type"] = ip_address_type
1907
2103
  if keepalive_timeout is not None:
1908
2104
  self._values["keepalive_timeout"] = keepalive_timeout
1909
2105
  if origin_ssl_protocols is not None:
@@ -1986,6 +2182,21 @@ class HttpOriginProps(_OriginProps_0675928d):
1986
2182
  result = self._values.get("origin_shield_region")
1987
2183
  return typing.cast(typing.Optional[builtins.str], result)
1988
2184
 
2185
+ @builtins.property
2186
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
2187
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
2188
+
2189
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
2190
+
2191
+ Valid values are 1-3600 seconds, inclusive.
2192
+
2193
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
2194
+
2195
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
2196
+ '''
2197
+ result = self._values.get("response_completion_timeout")
2198
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
2199
+
1989
2200
  @builtins.property
1990
2201
  def origin_path(self) -> typing.Optional[builtins.str]:
1991
2202
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -2015,6 +2226,17 @@ class HttpOriginProps(_OriginProps_0675928d):
2015
2226
  result = self._values.get("https_port")
2016
2227
  return typing.cast(typing.Optional[jsii.Number], result)
2017
2228
 
2229
+ @builtins.property
2230
+ def ip_address_type(self) -> typing.Optional[_OriginIpAddressType_1c01e1a0]:
2231
+ '''Specifies which IP protocol CloudFront uses when connecting to your origin.
2232
+
2233
+ If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability.
2234
+
2235
+ :default: undefined - AWS Cloudfront default is IPv4
2236
+ '''
2237
+ result = self._values.get("ip_address_type")
2238
+ return typing.cast(typing.Optional[_OriginIpAddressType_1c01e1a0], result)
2239
+
2018
2240
  @builtins.property
2019
2241
  def keepalive_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
2020
2242
  '''Specifies how long, in seconds, CloudFront persists its connection to the origin.
@@ -2106,6 +2328,7 @@ class LoadBalancerV2Origin(
2106
2328
  *,
2107
2329
  http_port: typing.Optional[jsii.Number] = None,
2108
2330
  https_port: typing.Optional[jsii.Number] = None,
2331
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
2109
2332
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
2110
2333
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
2111
2334
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -2118,11 +2341,13 @@ class LoadBalancerV2Origin(
2118
2341
  origin_id: typing.Optional[builtins.str] = None,
2119
2342
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
2120
2343
  origin_shield_region: typing.Optional[builtins.str] = None,
2344
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
2121
2345
  ) -> None:
2122
2346
  '''
2123
2347
  :param load_balancer: -
2124
2348
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
2125
2349
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
2350
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
2126
2351
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
2127
2352
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
2128
2353
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
@@ -2135,6 +2360,7 @@ class LoadBalancerV2Origin(
2135
2360
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
2136
2361
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
2137
2362
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
2363
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
2138
2364
  '''
2139
2365
  if __debug__:
2140
2366
  type_hints = typing.get_type_hints(_typecheckingstub__2e5124d4f469d6539077a529c09cfba685fe4a7037b9417216b18f6ccdba96c0)
@@ -2142,6 +2368,7 @@ class LoadBalancerV2Origin(
2142
2368
  props = LoadBalancerV2OriginProps(
2143
2369
  http_port=http_port,
2144
2370
  https_port=https_port,
2371
+ ip_address_type=ip_address_type,
2145
2372
  keepalive_timeout=keepalive_timeout,
2146
2373
  origin_ssl_protocols=origin_ssl_protocols,
2147
2374
  protocol_policy=protocol_policy,
@@ -2154,6 +2381,7 @@ class LoadBalancerV2Origin(
2154
2381
  origin_id=origin_id,
2155
2382
  origin_shield_enabled=origin_shield_enabled,
2156
2383
  origin_shield_region=origin_shield_region,
2384
+ response_completion_timeout=response_completion_timeout,
2157
2385
  )
2158
2386
 
2159
2387
  jsii.create(self.__class__, self, [load_balancer, props])
@@ -2170,9 +2398,11 @@ class LoadBalancerV2Origin(
2170
2398
  "origin_id": "originId",
2171
2399
  "origin_shield_enabled": "originShieldEnabled",
2172
2400
  "origin_shield_region": "originShieldRegion",
2401
+ "response_completion_timeout": "responseCompletionTimeout",
2173
2402
  "origin_path": "originPath",
2174
2403
  "http_port": "httpPort",
2175
2404
  "https_port": "httpsPort",
2405
+ "ip_address_type": "ipAddressType",
2176
2406
  "keepalive_timeout": "keepaliveTimeout",
2177
2407
  "origin_ssl_protocols": "originSslProtocols",
2178
2408
  "protocol_policy": "protocolPolicy",
@@ -2190,9 +2420,11 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2190
2420
  origin_id: typing.Optional[builtins.str] = None,
2191
2421
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
2192
2422
  origin_shield_region: typing.Optional[builtins.str] = None,
2423
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
2193
2424
  origin_path: typing.Optional[builtins.str] = None,
2194
2425
  http_port: typing.Optional[jsii.Number] = None,
2195
2426
  https_port: typing.Optional[jsii.Number] = None,
2427
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
2196
2428
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
2197
2429
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
2198
2430
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -2207,9 +2439,11 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2207
2439
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
2208
2440
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
2209
2441
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
2442
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
2210
2443
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
2211
2444
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
2212
2445
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
2446
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
2213
2447
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
2214
2448
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
2215
2449
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
@@ -2225,6 +2459,7 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2225
2459
  connection_attempts=3,
2226
2460
  connection_timeout=Duration.seconds(5),
2227
2461
  read_timeout=Duration.seconds(45),
2462
+ response_completion_timeout=Duration.seconds(120),
2228
2463
  keepalive_timeout=Duration.seconds(45),
2229
2464
  protocol_policy=cloudfront.OriginProtocolPolicy.MATCH_VIEWER
2230
2465
  )
@@ -2238,9 +2473,11 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2238
2473
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
2239
2474
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
2240
2475
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
2476
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
2241
2477
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
2242
2478
  check_type(argname="argument http_port", value=http_port, expected_type=type_hints["http_port"])
2243
2479
  check_type(argname="argument https_port", value=https_port, expected_type=type_hints["https_port"])
2480
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
2244
2481
  check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
2245
2482
  check_type(argname="argument origin_ssl_protocols", value=origin_ssl_protocols, expected_type=type_hints["origin_ssl_protocols"])
2246
2483
  check_type(argname="argument protocol_policy", value=protocol_policy, expected_type=type_hints["protocol_policy"])
@@ -2260,12 +2497,16 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2260
2497
  self._values["origin_shield_enabled"] = origin_shield_enabled
2261
2498
  if origin_shield_region is not None:
2262
2499
  self._values["origin_shield_region"] = origin_shield_region
2500
+ if response_completion_timeout is not None:
2501
+ self._values["response_completion_timeout"] = response_completion_timeout
2263
2502
  if origin_path is not None:
2264
2503
  self._values["origin_path"] = origin_path
2265
2504
  if http_port is not None:
2266
2505
  self._values["http_port"] = http_port
2267
2506
  if https_port is not None:
2268
2507
  self._values["https_port"] = https_port
2508
+ if ip_address_type is not None:
2509
+ self._values["ip_address_type"] = ip_address_type
2269
2510
  if keepalive_timeout is not None:
2270
2511
  self._values["keepalive_timeout"] = keepalive_timeout
2271
2512
  if origin_ssl_protocols is not None:
@@ -2348,6 +2589,21 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2348
2589
  result = self._values.get("origin_shield_region")
2349
2590
  return typing.cast(typing.Optional[builtins.str], result)
2350
2591
 
2592
+ @builtins.property
2593
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
2594
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
2595
+
2596
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
2597
+
2598
+ Valid values are 1-3600 seconds, inclusive.
2599
+
2600
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
2601
+
2602
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
2603
+ '''
2604
+ result = self._values.get("response_completion_timeout")
2605
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
2606
+
2351
2607
  @builtins.property
2352
2608
  def origin_path(self) -> typing.Optional[builtins.str]:
2353
2609
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -2377,6 +2633,17 @@ class LoadBalancerV2OriginProps(HttpOriginProps):
2377
2633
  result = self._values.get("https_port")
2378
2634
  return typing.cast(typing.Optional[jsii.Number], result)
2379
2635
 
2636
+ @builtins.property
2637
+ def ip_address_type(self) -> typing.Optional[_OriginIpAddressType_1c01e1a0]:
2638
+ '''Specifies which IP protocol CloudFront uses when connecting to your origin.
2639
+
2640
+ If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability.
2641
+
2642
+ :default: undefined - AWS Cloudfront default is IPv4
2643
+ '''
2644
+ result = self._values.get("ip_address_type")
2645
+ return typing.cast(typing.Optional[_OriginIpAddressType_1c01e1a0], result)
2646
+
2380
2647
  @builtins.property
2381
2648
  def keepalive_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
2382
2649
  '''Specifies how long, in seconds, CloudFront persists its connection to the origin.
@@ -2646,6 +2913,7 @@ class RestApiOrigin(
2646
2913
  origin_id: typing.Optional[builtins.str] = None,
2647
2914
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
2648
2915
  origin_shield_region: typing.Optional[builtins.str] = None,
2916
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
2649
2917
  ) -> None:
2650
2918
  '''
2651
2919
  :param rest_api: -
@@ -2659,6 +2927,7 @@ class RestApiOrigin(
2659
2927
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
2660
2928
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
2661
2929
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
2930
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
2662
2931
  '''
2663
2932
  if __debug__:
2664
2933
  type_hints = typing.get_type_hints(_typecheckingstub__56b6a9ee9b4e8ac821a25cc86fc2ff9f7490081ff9a35a5c551216af6a6ab722)
@@ -2674,6 +2943,7 @@ class RestApiOrigin(
2674
2943
  origin_id=origin_id,
2675
2944
  origin_shield_enabled=origin_shield_enabled,
2676
2945
  origin_shield_region=origin_shield_region,
2946
+ response_completion_timeout=response_completion_timeout,
2677
2947
  )
2678
2948
 
2679
2949
  jsii.create(self.__class__, self, [rest_api, props])
@@ -2696,6 +2966,7 @@ class RestApiOrigin(
2696
2966
  "origin_id": "originId",
2697
2967
  "origin_shield_enabled": "originShieldEnabled",
2698
2968
  "origin_shield_region": "originShieldRegion",
2969
+ "response_completion_timeout": "responseCompletionTimeout",
2699
2970
  "origin_path": "originPath",
2700
2971
  "keepalive_timeout": "keepaliveTimeout",
2701
2972
  "read_timeout": "readTimeout",
@@ -2712,6 +2983,7 @@ class RestApiOriginProps(_OriginProps_0675928d):
2712
2983
  origin_id: typing.Optional[builtins.str] = None,
2713
2984
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
2714
2985
  origin_shield_region: typing.Optional[builtins.str] = None,
2986
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
2715
2987
  origin_path: typing.Optional[builtins.str] = None,
2716
2988
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
2717
2989
  read_timeout: typing.Optional[_Duration_4839e8c3] = None,
@@ -2725,6 +2997,7 @@ class RestApiOriginProps(_OriginProps_0675928d):
2725
2997
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
2726
2998
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
2727
2999
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
3000
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
2728
3001
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
2729
3002
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
2730
3003
  :param read_timeout: Specifies how long, in seconds, CloudFront waits for a response from the origin, also known as the origin response timeout. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(30)
@@ -2748,6 +3021,7 @@ class RestApiOriginProps(_OriginProps_0675928d):
2748
3021
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
2749
3022
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
2750
3023
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
3024
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
2751
3025
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
2752
3026
  check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
2753
3027
  check_type(argname="argument read_timeout", value=read_timeout, expected_type=type_hints["read_timeout"])
@@ -2766,6 +3040,8 @@ class RestApiOriginProps(_OriginProps_0675928d):
2766
3040
  self._values["origin_shield_enabled"] = origin_shield_enabled
2767
3041
  if origin_shield_region is not None:
2768
3042
  self._values["origin_shield_region"] = origin_shield_region
3043
+ if response_completion_timeout is not None:
3044
+ self._values["response_completion_timeout"] = response_completion_timeout
2769
3045
  if origin_path is not None:
2770
3046
  self._values["origin_path"] = origin_path
2771
3047
  if keepalive_timeout is not None:
@@ -2846,6 +3122,21 @@ class RestApiOriginProps(_OriginProps_0675928d):
2846
3122
  result = self._values.get("origin_shield_region")
2847
3123
  return typing.cast(typing.Optional[builtins.str], result)
2848
3124
 
3125
+ @builtins.property
3126
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
3127
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
3128
+
3129
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
3130
+
3131
+ Valid values are 1-3600 seconds, inclusive.
3132
+
3133
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
3134
+
3135
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
3136
+ '''
3137
+ result = self._values.get("response_completion_timeout")
3138
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
3139
+
2849
3140
  @builtins.property
2850
3141
  def origin_path(self) -> typing.Optional[builtins.str]:
2851
3142
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -2908,15 +3199,19 @@ class S3BucketOrigin(
2908
3199
 
2909
3200
  Example::
2910
3201
 
2911
- my_bucket = s3.Bucket(self, "myBucket")
2912
- s3_origin = origins.S3BucketOrigin.with_origin_access_control(my_bucket,
2913
- origin_access_levels=[cloudfront.AccessLevel.READ, cloudfront.AccessLevel.LIST]
3202
+ import aws_cdk.aws_kms as kms
3203
+
3204
+
3205
+ my_kms_key = kms.Key(self, "myKMSKey")
3206
+ my_bucket = s3.Bucket(self, "mySSEKMSEncryptedBucket",
3207
+ encryption=s3.BucketEncryption.KMS,
3208
+ encryption_key=my_kms_key,
3209
+ object_ownership=s3.ObjectOwnership.BUCKET_OWNER_ENFORCED
2914
3210
  )
2915
- cloudfront.Distribution(self, "distribution",
3211
+ cloudfront.Distribution(self, "myDist",
2916
3212
  default_behavior=cloudfront.BehaviorOptions(
2917
- origin=s3_origin
2918
- ),
2919
- default_root_object="index.html"
3213
+ origin=origins.S3BucketOrigin.with_origin_access_control(my_bucket)
3214
+ )
2920
3215
  )
2921
3216
  '''
2922
3217
 
@@ -2932,6 +3227,7 @@ class S3BucketOrigin(
2932
3227
  origin_id: typing.Optional[builtins.str] = None,
2933
3228
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
2934
3229
  origin_shield_region: typing.Optional[builtins.str] = None,
3230
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
2935
3231
  ) -> None:
2936
3232
  '''
2937
3233
  :param bucket: -
@@ -2943,6 +3239,7 @@ class S3BucketOrigin(
2943
3239
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
2944
3240
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
2945
3241
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
3242
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
2946
3243
  '''
2947
3244
  if __debug__:
2948
3245
  type_hints = typing.get_type_hints(_typecheckingstub__3cb1f0b82603224c7fbeb25b954355d9b19c8971c1f19cce6cc99b4579024f0f)
@@ -2956,6 +3253,7 @@ class S3BucketOrigin(
2956
3253
  origin_id=origin_id,
2957
3254
  origin_shield_enabled=origin_shield_enabled,
2958
3255
  origin_shield_region=origin_shield_region,
3256
+ response_completion_timeout=response_completion_timeout,
2959
3257
  )
2960
3258
 
2961
3259
  jsii.create(self.__class__, self, [bucket, props])
@@ -2974,6 +3272,7 @@ class S3BucketOrigin(
2974
3272
  origin_id: typing.Optional[builtins.str] = None,
2975
3273
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
2976
3274
  origin_shield_region: typing.Optional[builtins.str] = None,
3275
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
2977
3276
  ) -> _IOrigin_83d4c1fa:
2978
3277
  '''Create a S3 Origin with default S3 bucket settings (no origin access control).
2979
3278
 
@@ -2986,6 +3285,7 @@ class S3BucketOrigin(
2986
3285
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
2987
3286
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
2988
3287
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
3288
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
2989
3289
  '''
2990
3290
  if __debug__:
2991
3291
  type_hints = typing.get_type_hints(_typecheckingstub__f676436dc530972f0e77d574f148913989a94d38c9af09bff28450e29ace8acb)
@@ -2999,6 +3299,7 @@ class S3BucketOrigin(
2999
3299
  origin_id=origin_id,
3000
3300
  origin_shield_enabled=origin_shield_enabled,
3001
3301
  origin_shield_region=origin_shield_region,
3302
+ response_completion_timeout=response_completion_timeout,
3002
3303
  )
3003
3304
 
3004
3305
  return typing.cast(_IOrigin_83d4c1fa, jsii.sinvoke(cls, "withBucketDefaults", [bucket, props]))
@@ -3019,6 +3320,7 @@ class S3BucketOrigin(
3019
3320
  origin_id: typing.Optional[builtins.str] = None,
3020
3321
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
3021
3322
  origin_shield_region: typing.Optional[builtins.str] = None,
3323
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
3022
3324
  ) -> _IOrigin_83d4c1fa:
3023
3325
  '''Create a S3 Origin with Origin Access Control (OAC) configured.
3024
3326
 
@@ -3033,6 +3335,7 @@ class S3BucketOrigin(
3033
3335
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
3034
3336
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
3035
3337
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
3338
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
3036
3339
  '''
3037
3340
  if __debug__:
3038
3341
  type_hints = typing.get_type_hints(_typecheckingstub__23afb965139dc34be23cec3ad5506b4c5de509db9c0d653bed7877f463b7a9db)
@@ -3048,6 +3351,7 @@ class S3BucketOrigin(
3048
3351
  origin_id=origin_id,
3049
3352
  origin_shield_enabled=origin_shield_enabled,
3050
3353
  origin_shield_region=origin_shield_region,
3354
+ response_completion_timeout=response_completion_timeout,
3051
3355
  )
3052
3356
 
3053
3357
  return typing.cast(_IOrigin_83d4c1fa, jsii.sinvoke(cls, "withOriginAccessControl", [bucket, props]))
@@ -3067,6 +3371,7 @@ class S3BucketOrigin(
3067
3371
  origin_id: typing.Optional[builtins.str] = None,
3068
3372
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
3069
3373
  origin_shield_region: typing.Optional[builtins.str] = None,
3374
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
3070
3375
  ) -> _IOrigin_83d4c1fa:
3071
3376
  '''Create a S3 Origin with Origin Access Identity (OAI) configured OAI is a legacy feature and we **strongly** recommend you to use OAC via ``withOriginAccessControl()`` unless it is not supported in your required region (e.g. China regions).
3072
3377
 
@@ -3080,6 +3385,7 @@ class S3BucketOrigin(
3080
3385
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
3081
3386
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
3082
3387
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
3388
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
3083
3389
  '''
3084
3390
  if __debug__:
3085
3391
  type_hints = typing.get_type_hints(_typecheckingstub__13e7421c65d5fbb92fc686fa854daca3e90dc002f3e99da4b4757e32e3c4105d)
@@ -3094,6 +3400,7 @@ class S3BucketOrigin(
3094
3400
  origin_id=origin_id,
3095
3401
  origin_shield_enabled=origin_shield_enabled,
3096
3402
  origin_shield_region=origin_shield_region,
3403
+ response_completion_timeout=response_completion_timeout,
3097
3404
  )
3098
3405
 
3099
3406
  return typing.cast(_IOrigin_83d4c1fa, jsii.sinvoke(cls, "withOriginAccessIdentity", [bucket, props]))
@@ -3126,6 +3433,7 @@ typing.cast(typing.Any, S3BucketOrigin).__jsii_proxy_class__ = lambda : _S3Bucke
3126
3433
  "origin_id": "originId",
3127
3434
  "origin_shield_enabled": "originShieldEnabled",
3128
3435
  "origin_shield_region": "originShieldRegion",
3436
+ "response_completion_timeout": "responseCompletionTimeout",
3129
3437
  "origin_path": "originPath",
3130
3438
  },
3131
3439
  )
@@ -3140,6 +3448,7 @@ class S3BucketOriginBaseProps(_OriginProps_0675928d):
3140
3448
  origin_id: typing.Optional[builtins.str] = None,
3141
3449
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
3142
3450
  origin_shield_region: typing.Optional[builtins.str] = None,
3451
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
3143
3452
  origin_path: typing.Optional[builtins.str] = None,
3144
3453
  ) -> None:
3145
3454
  '''Properties for configuring a origin using a standard S3 bucket.
@@ -3151,6 +3460,7 @@ class S3BucketOriginBaseProps(_OriginProps_0675928d):
3151
3460
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
3152
3461
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
3153
3462
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
3463
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
3154
3464
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
3155
3465
 
3156
3466
  :exampleMetadata: fixture=_generated
@@ -3172,7 +3482,8 @@ class S3BucketOriginBaseProps(_OriginProps_0675928d):
3172
3482
  origin_id="originId",
3173
3483
  origin_path="originPath",
3174
3484
  origin_shield_enabled=False,
3175
- origin_shield_region="originShieldRegion"
3485
+ origin_shield_region="originShieldRegion",
3486
+ response_completion_timeout=cdk.Duration.minutes(30)
3176
3487
  )
3177
3488
  '''
3178
3489
  if __debug__:
@@ -3184,6 +3495,7 @@ class S3BucketOriginBaseProps(_OriginProps_0675928d):
3184
3495
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
3185
3496
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
3186
3497
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
3498
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
3187
3499
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
3188
3500
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3189
3501
  if connection_attempts is not None:
@@ -3200,6 +3512,8 @@ class S3BucketOriginBaseProps(_OriginProps_0675928d):
3200
3512
  self._values["origin_shield_enabled"] = origin_shield_enabled
3201
3513
  if origin_shield_region is not None:
3202
3514
  self._values["origin_shield_region"] = origin_shield_region
3515
+ if response_completion_timeout is not None:
3516
+ self._values["response_completion_timeout"] = response_completion_timeout
3203
3517
  if origin_path is not None:
3204
3518
  self._values["origin_path"] = origin_path
3205
3519
 
@@ -3276,6 +3590,21 @@ class S3BucketOriginBaseProps(_OriginProps_0675928d):
3276
3590
  result = self._values.get("origin_shield_region")
3277
3591
  return typing.cast(typing.Optional[builtins.str], result)
3278
3592
 
3593
+ @builtins.property
3594
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
3595
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
3596
+
3597
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
3598
+
3599
+ Valid values are 1-3600 seconds, inclusive.
3600
+
3601
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
3602
+
3603
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
3604
+ '''
3605
+ result = self._values.get("response_completion_timeout")
3606
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
3607
+
3279
3608
  @builtins.property
3280
3609
  def origin_path(self) -> typing.Optional[builtins.str]:
3281
3610
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -3310,6 +3639,7 @@ class S3BucketOriginBaseProps(_OriginProps_0675928d):
3310
3639
  "origin_id": "originId",
3311
3640
  "origin_shield_enabled": "originShieldEnabled",
3312
3641
  "origin_shield_region": "originShieldRegion",
3642
+ "response_completion_timeout": "responseCompletionTimeout",
3313
3643
  "origin_path": "originPath",
3314
3644
  "origin_access_control": "originAccessControl",
3315
3645
  "origin_access_levels": "originAccessLevels",
@@ -3326,6 +3656,7 @@ class S3BucketOriginWithOACProps(S3BucketOriginBaseProps):
3326
3656
  origin_id: typing.Optional[builtins.str] = None,
3327
3657
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
3328
3658
  origin_shield_region: typing.Optional[builtins.str] = None,
3659
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
3329
3660
  origin_path: typing.Optional[builtins.str] = None,
3330
3661
  origin_access_control: typing.Optional[_IOriginAccessControl_82a6fe5a] = None,
3331
3662
  origin_access_levels: typing.Optional[typing.Sequence[_AccessLevel_315d9a76]] = None,
@@ -3339,6 +3670,7 @@ class S3BucketOriginWithOACProps(S3BucketOriginBaseProps):
3339
3670
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
3340
3671
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
3341
3672
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
3673
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
3342
3674
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
3343
3675
  :param origin_access_control: An optional Origin Access Control. Default: - an Origin Access Control will be created.
3344
3676
  :param origin_access_levels: The level of permissions granted in the bucket policy and key policy (if applicable) to the CloudFront distribution. Default: [AccessLevel.READ]
@@ -3348,14 +3680,16 @@ class S3BucketOriginWithOACProps(S3BucketOriginBaseProps):
3348
3680
  Example::
3349
3681
 
3350
3682
  my_bucket = s3.Bucket(self, "myBucket")
3683
+ oac = cloudfront.S3OriginAccessControl(self, "MyOAC",
3684
+ signing=cloudfront.Signing.SIGV4_NO_OVERRIDE
3685
+ )
3351
3686
  s3_origin = origins.S3BucketOrigin.with_origin_access_control(my_bucket,
3352
- origin_access_levels=[cloudfront.AccessLevel.READ, cloudfront.AccessLevel.LIST]
3687
+ origin_access_control=oac
3353
3688
  )
3354
- cloudfront.Distribution(self, "distribution",
3689
+ cloudfront.Distribution(self, "myDist",
3355
3690
  default_behavior=cloudfront.BehaviorOptions(
3356
3691
  origin=s3_origin
3357
- ),
3358
- default_root_object="index.html"
3692
+ )
3359
3693
  )
3360
3694
  '''
3361
3695
  if __debug__:
@@ -3367,6 +3701,7 @@ class S3BucketOriginWithOACProps(S3BucketOriginBaseProps):
3367
3701
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
3368
3702
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
3369
3703
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
3704
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
3370
3705
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
3371
3706
  check_type(argname="argument origin_access_control", value=origin_access_control, expected_type=type_hints["origin_access_control"])
3372
3707
  check_type(argname="argument origin_access_levels", value=origin_access_levels, expected_type=type_hints["origin_access_levels"])
@@ -3385,6 +3720,8 @@ class S3BucketOriginWithOACProps(S3BucketOriginBaseProps):
3385
3720
  self._values["origin_shield_enabled"] = origin_shield_enabled
3386
3721
  if origin_shield_region is not None:
3387
3722
  self._values["origin_shield_region"] = origin_shield_region
3723
+ if response_completion_timeout is not None:
3724
+ self._values["response_completion_timeout"] = response_completion_timeout
3388
3725
  if origin_path is not None:
3389
3726
  self._values["origin_path"] = origin_path
3390
3727
  if origin_access_control is not None:
@@ -3465,6 +3802,21 @@ class S3BucketOriginWithOACProps(S3BucketOriginBaseProps):
3465
3802
  result = self._values.get("origin_shield_region")
3466
3803
  return typing.cast(typing.Optional[builtins.str], result)
3467
3804
 
3805
+ @builtins.property
3806
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
3807
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
3808
+
3809
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
3810
+
3811
+ Valid values are 1-3600 seconds, inclusive.
3812
+
3813
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
3814
+
3815
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
3816
+ '''
3817
+ result = self._values.get("response_completion_timeout")
3818
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
3819
+
3468
3820
  @builtins.property
3469
3821
  def origin_path(self) -> typing.Optional[builtins.str]:
3470
3822
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -3519,6 +3871,7 @@ class S3BucketOriginWithOACProps(S3BucketOriginBaseProps):
3519
3871
  "origin_id": "originId",
3520
3872
  "origin_shield_enabled": "originShieldEnabled",
3521
3873
  "origin_shield_region": "originShieldRegion",
3874
+ "response_completion_timeout": "responseCompletionTimeout",
3522
3875
  "origin_path": "originPath",
3523
3876
  "origin_access_identity": "originAccessIdentity",
3524
3877
  },
@@ -3534,6 +3887,7 @@ class S3BucketOriginWithOAIProps(S3BucketOriginBaseProps):
3534
3887
  origin_id: typing.Optional[builtins.str] = None,
3535
3888
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
3536
3889
  origin_shield_region: typing.Optional[builtins.str] = None,
3890
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
3537
3891
  origin_path: typing.Optional[builtins.str] = None,
3538
3892
  origin_access_identity: typing.Optional[_IOriginAccessIdentity_a922494c] = None,
3539
3893
  ) -> None:
@@ -3546,6 +3900,7 @@ class S3BucketOriginWithOAIProps(S3BucketOriginBaseProps):
3546
3900
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
3547
3901
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
3548
3902
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
3903
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
3549
3904
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
3550
3905
  :param origin_access_identity: An optional Origin Access Identity. Default: - an Origin Access Identity will be created.
3551
3906
 
@@ -3575,6 +3930,7 @@ class S3BucketOriginWithOAIProps(S3BucketOriginBaseProps):
3575
3930
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
3576
3931
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
3577
3932
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
3933
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
3578
3934
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
3579
3935
  check_type(argname="argument origin_access_identity", value=origin_access_identity, expected_type=type_hints["origin_access_identity"])
3580
3936
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -3592,6 +3948,8 @@ class S3BucketOriginWithOAIProps(S3BucketOriginBaseProps):
3592
3948
  self._values["origin_shield_enabled"] = origin_shield_enabled
3593
3949
  if origin_shield_region is not None:
3594
3950
  self._values["origin_shield_region"] = origin_shield_region
3951
+ if response_completion_timeout is not None:
3952
+ self._values["response_completion_timeout"] = response_completion_timeout
3595
3953
  if origin_path is not None:
3596
3954
  self._values["origin_path"] = origin_path
3597
3955
  if origin_access_identity is not None:
@@ -3670,6 +4028,21 @@ class S3BucketOriginWithOAIProps(S3BucketOriginBaseProps):
3670
4028
  result = self._values.get("origin_shield_region")
3671
4029
  return typing.cast(typing.Optional[builtins.str], result)
3672
4030
 
4031
+ @builtins.property
4032
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
4033
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
4034
+
4035
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
4036
+
4037
+ Valid values are 1-3600 seconds, inclusive.
4038
+
4039
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
4040
+
4041
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
4042
+ '''
4043
+ result = self._values.get("response_completion_timeout")
4044
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
4045
+
3673
4046
  @builtins.property
3674
4047
  def origin_path(self) -> typing.Optional[builtins.str]:
3675
4048
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -3722,20 +4095,19 @@ class S3Origin(
3722
4095
 
3723
4096
  Example::
3724
4097
 
3725
- # Adding an existing Lambda@Edge function created in a different stack
3726
- # to a CloudFront distribution.
3727
4098
  # s3_bucket: s3.Bucket
3728
-
3729
- function_version = lambda_.Version.from_version_arn(self, "Version", "arn:aws:lambda:us-east-1:123456789012:function:functionName:1")
3730
-
4099
+ # Add a cloudfront Function to a Distribution
4100
+ cf_function = cloudfront.Function(self, "Function",
4101
+ code=cloudfront.FunctionCode.from_inline("function handler(event) { return event.request }"),
4102
+ runtime=cloudfront.FunctionRuntime.JS_2_0
4103
+ )
3731
4104
  cloudfront.Distribution(self, "distro",
3732
4105
  default_behavior=cloudfront.BehaviorOptions(
3733
4106
  origin=origins.S3Origin(s3_bucket),
3734
- edge_lambdas=[cloudfront.EdgeLambda(
3735
- function_version=function_version,
3736
- event_type=cloudfront.LambdaEdgeEventType.VIEWER_REQUEST
3737
- )
3738
- ]
4107
+ function_associations=[cloudfront.FunctionAssociation(
4108
+ function=cf_function,
4109
+ event_type=cloudfront.FunctionEventType.VIEWER_REQUEST
4110
+ )]
3739
4111
  )
3740
4112
  )
3741
4113
  '''
@@ -3753,6 +4125,7 @@ class S3Origin(
3753
4125
  origin_id: typing.Optional[builtins.str] = None,
3754
4126
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
3755
4127
  origin_shield_region: typing.Optional[builtins.str] = None,
4128
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
3756
4129
  ) -> None:
3757
4130
  '''
3758
4131
  :param bucket: -
@@ -3765,6 +4138,7 @@ class S3Origin(
3765
4138
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
3766
4139
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
3767
4140
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4141
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
3768
4142
 
3769
4143
  :stability: deprecated
3770
4144
  '''
@@ -3781,6 +4155,7 @@ class S3Origin(
3781
4155
  origin_id=origin_id,
3782
4156
  origin_shield_enabled=origin_shield_enabled,
3783
4157
  origin_shield_region=origin_shield_region,
4158
+ response_completion_timeout=response_completion_timeout,
3784
4159
  )
3785
4160
 
3786
4161
  jsii.create(self.__class__, self, [bucket, props])
@@ -3822,6 +4197,7 @@ class S3Origin(
3822
4197
  "origin_id": "originId",
3823
4198
  "origin_shield_enabled": "originShieldEnabled",
3824
4199
  "origin_shield_region": "originShieldRegion",
4200
+ "response_completion_timeout": "responseCompletionTimeout",
3825
4201
  "origin_path": "originPath",
3826
4202
  "origin_access_identity": "originAccessIdentity",
3827
4203
  },
@@ -3837,6 +4213,7 @@ class S3OriginProps(_OriginProps_0675928d):
3837
4213
  origin_id: typing.Optional[builtins.str] = None,
3838
4214
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
3839
4215
  origin_shield_region: typing.Optional[builtins.str] = None,
4216
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
3840
4217
  origin_path: typing.Optional[builtins.str] = None,
3841
4218
  origin_access_identity: typing.Optional[_IOriginAccessIdentity_a922494c] = None,
3842
4219
  ) -> None:
@@ -3849,6 +4226,7 @@ class S3OriginProps(_OriginProps_0675928d):
3849
4226
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
3850
4227
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
3851
4228
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4229
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
3852
4230
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
3853
4231
  :param origin_access_identity: An optional Origin Access Identity of the origin identity cloudfront will use when calling your s3 bucket. Default: - An Origin Access Identity will be created.
3854
4232
 
@@ -3875,7 +4253,8 @@ class S3OriginProps(_OriginProps_0675928d):
3875
4253
  origin_id="originId",
3876
4254
  origin_path="originPath",
3877
4255
  origin_shield_enabled=False,
3878
- origin_shield_region="originShieldRegion"
4256
+ origin_shield_region="originShieldRegion",
4257
+ response_completion_timeout=cdk.Duration.minutes(30)
3879
4258
  )
3880
4259
  '''
3881
4260
  if __debug__:
@@ -3887,6 +4266,7 @@ class S3OriginProps(_OriginProps_0675928d):
3887
4266
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
3888
4267
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
3889
4268
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
4269
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
3890
4270
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
3891
4271
  check_type(argname="argument origin_access_identity", value=origin_access_identity, expected_type=type_hints["origin_access_identity"])
3892
4272
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -3904,6 +4284,8 @@ class S3OriginProps(_OriginProps_0675928d):
3904
4284
  self._values["origin_shield_enabled"] = origin_shield_enabled
3905
4285
  if origin_shield_region is not None:
3906
4286
  self._values["origin_shield_region"] = origin_shield_region
4287
+ if response_completion_timeout is not None:
4288
+ self._values["response_completion_timeout"] = response_completion_timeout
3907
4289
  if origin_path is not None:
3908
4290
  self._values["origin_path"] = origin_path
3909
4291
  if origin_access_identity is not None:
@@ -3982,6 +4364,21 @@ class S3OriginProps(_OriginProps_0675928d):
3982
4364
  result = self._values.get("origin_shield_region")
3983
4365
  return typing.cast(typing.Optional[builtins.str], result)
3984
4366
 
4367
+ @builtins.property
4368
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
4369
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
4370
+
4371
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
4372
+
4373
+ Valid values are 1-3600 seconds, inclusive.
4374
+
4375
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
4376
+
4377
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
4378
+ '''
4379
+ result = self._values.get("response_completion_timeout")
4380
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
4381
+
3985
4382
  @builtins.property
3986
4383
  def origin_path(self) -> typing.Optional[builtins.str]:
3987
4384
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -4039,6 +4436,7 @@ class S3StaticWebsiteOrigin(
4039
4436
  *,
4040
4437
  http_port: typing.Optional[jsii.Number] = None,
4041
4438
  https_port: typing.Optional[jsii.Number] = None,
4439
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
4042
4440
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4043
4441
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
4044
4442
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -4051,11 +4449,13 @@ class S3StaticWebsiteOrigin(
4051
4449
  origin_id: typing.Optional[builtins.str] = None,
4052
4450
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
4053
4451
  origin_shield_region: typing.Optional[builtins.str] = None,
4452
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
4054
4453
  ) -> None:
4055
4454
  '''
4056
4455
  :param bucket: -
4057
4456
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
4058
4457
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
4458
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
4059
4459
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
4060
4460
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
4061
4461
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
@@ -4068,6 +4468,7 @@ class S3StaticWebsiteOrigin(
4068
4468
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4069
4469
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4070
4470
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4471
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
4071
4472
  '''
4072
4473
  if __debug__:
4073
4474
  type_hints = typing.get_type_hints(_typecheckingstub__f0edd2083352b96faf3ea9eb05136629dff841fa272ecdb6dfb52772a77b9b22)
@@ -4075,6 +4476,7 @@ class S3StaticWebsiteOrigin(
4075
4476
  props = S3StaticWebsiteOriginProps(
4076
4477
  http_port=http_port,
4077
4478
  https_port=https_port,
4479
+ ip_address_type=ip_address_type,
4078
4480
  keepalive_timeout=keepalive_timeout,
4079
4481
  origin_ssl_protocols=origin_ssl_protocols,
4080
4482
  protocol_policy=protocol_policy,
@@ -4087,6 +4489,7 @@ class S3StaticWebsiteOrigin(
4087
4489
  origin_id=origin_id,
4088
4490
  origin_shield_enabled=origin_shield_enabled,
4089
4491
  origin_shield_region=origin_shield_region,
4492
+ response_completion_timeout=response_completion_timeout,
4090
4493
  )
4091
4494
 
4092
4495
  jsii.create(self.__class__, self, [bucket, props])
@@ -4103,9 +4506,11 @@ class S3StaticWebsiteOrigin(
4103
4506
  "origin_id": "originId",
4104
4507
  "origin_shield_enabled": "originShieldEnabled",
4105
4508
  "origin_shield_region": "originShieldRegion",
4509
+ "response_completion_timeout": "responseCompletionTimeout",
4106
4510
  "origin_path": "originPath",
4107
4511
  "http_port": "httpPort",
4108
4512
  "https_port": "httpsPort",
4513
+ "ip_address_type": "ipAddressType",
4109
4514
  "keepalive_timeout": "keepaliveTimeout",
4110
4515
  "origin_ssl_protocols": "originSslProtocols",
4111
4516
  "protocol_policy": "protocolPolicy",
@@ -4123,9 +4528,11 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4123
4528
  origin_id: typing.Optional[builtins.str] = None,
4124
4529
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
4125
4530
  origin_shield_region: typing.Optional[builtins.str] = None,
4531
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
4126
4532
  origin_path: typing.Optional[builtins.str] = None,
4127
4533
  http_port: typing.Optional[jsii.Number] = None,
4128
4534
  https_port: typing.Optional[jsii.Number] = None,
4535
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
4129
4536
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
4130
4537
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
4131
4538
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -4140,9 +4547,11 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4140
4547
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4141
4548
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4142
4549
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4550
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
4143
4551
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
4144
4552
  :param http_port: The HTTP port that CloudFront uses to connect to the origin. Default: 80
4145
4553
  :param https_port: The HTTPS port that CloudFront uses to connect to the origin. Default: 443
4554
+ :param ip_address_type: Specifies which IP protocol CloudFront uses when connecting to your origin. If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability. Default: undefined - AWS Cloudfront default is IPv4
4146
4555
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
4147
4556
  :param origin_ssl_protocols: The SSL versions to use when interacting with the origin. Default: OriginSslPolicy.TLS_V1_2
4148
4557
  :param protocol_policy: Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to the origin. Default: OriginProtocolPolicy.HTTPS_ONLY
@@ -4166,6 +4575,7 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4166
4575
  },
4167
4576
  http_port=123,
4168
4577
  https_port=123,
4578
+ ip_address_type=cloudfront.OriginIpAddressType.IPV4,
4169
4579
  keepalive_timeout=cdk.Duration.minutes(30),
4170
4580
  origin_access_control_id="originAccessControlId",
4171
4581
  origin_id="originId",
@@ -4174,7 +4584,8 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4174
4584
  origin_shield_region="originShieldRegion",
4175
4585
  origin_ssl_protocols=[cloudfront.OriginSslPolicy.SSL_V3],
4176
4586
  protocol_policy=cloudfront.OriginProtocolPolicy.HTTP_ONLY,
4177
- read_timeout=cdk.Duration.minutes(30)
4587
+ read_timeout=cdk.Duration.minutes(30),
4588
+ response_completion_timeout=cdk.Duration.minutes(30)
4178
4589
  )
4179
4590
  '''
4180
4591
  if __debug__:
@@ -4186,9 +4597,11 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4186
4597
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
4187
4598
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
4188
4599
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
4600
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
4189
4601
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
4190
4602
  check_type(argname="argument http_port", value=http_port, expected_type=type_hints["http_port"])
4191
4603
  check_type(argname="argument https_port", value=https_port, expected_type=type_hints["https_port"])
4604
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
4192
4605
  check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
4193
4606
  check_type(argname="argument origin_ssl_protocols", value=origin_ssl_protocols, expected_type=type_hints["origin_ssl_protocols"])
4194
4607
  check_type(argname="argument protocol_policy", value=protocol_policy, expected_type=type_hints["protocol_policy"])
@@ -4208,12 +4621,16 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4208
4621
  self._values["origin_shield_enabled"] = origin_shield_enabled
4209
4622
  if origin_shield_region is not None:
4210
4623
  self._values["origin_shield_region"] = origin_shield_region
4624
+ if response_completion_timeout is not None:
4625
+ self._values["response_completion_timeout"] = response_completion_timeout
4211
4626
  if origin_path is not None:
4212
4627
  self._values["origin_path"] = origin_path
4213
4628
  if http_port is not None:
4214
4629
  self._values["http_port"] = http_port
4215
4630
  if https_port is not None:
4216
4631
  self._values["https_port"] = https_port
4632
+ if ip_address_type is not None:
4633
+ self._values["ip_address_type"] = ip_address_type
4217
4634
  if keepalive_timeout is not None:
4218
4635
  self._values["keepalive_timeout"] = keepalive_timeout
4219
4636
  if origin_ssl_protocols is not None:
@@ -4296,6 +4713,21 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4296
4713
  result = self._values.get("origin_shield_region")
4297
4714
  return typing.cast(typing.Optional[builtins.str], result)
4298
4715
 
4716
+ @builtins.property
4717
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
4718
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
4719
+
4720
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
4721
+
4722
+ Valid values are 1-3600 seconds, inclusive.
4723
+
4724
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
4725
+
4726
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
4727
+ '''
4728
+ result = self._values.get("response_completion_timeout")
4729
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
4730
+
4299
4731
  @builtins.property
4300
4732
  def origin_path(self) -> typing.Optional[builtins.str]:
4301
4733
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -4325,6 +4757,17 @@ class S3StaticWebsiteOriginProps(HttpOriginProps):
4325
4757
  result = self._values.get("https_port")
4326
4758
  return typing.cast(typing.Optional[jsii.Number], result)
4327
4759
 
4760
+ @builtins.property
4761
+ def ip_address_type(self) -> typing.Optional[_OriginIpAddressType_1c01e1a0]:
4762
+ '''Specifies which IP protocol CloudFront uses when connecting to your origin.
4763
+
4764
+ If your origin uses both IPv4 and IPv6 protocols, you can choose dualstack to help optimize reliability.
4765
+
4766
+ :default: undefined - AWS Cloudfront default is IPv4
4767
+ '''
4768
+ result = self._values.get("ip_address_type")
4769
+ return typing.cast(typing.Optional[_OriginIpAddressType_1c01e1a0], result)
4770
+
4328
4771
  @builtins.property
4329
4772
  def keepalive_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
4330
4773
  '''Specifies how long, in seconds, CloudFront persists its connection to the origin.
@@ -4426,6 +4869,7 @@ class VpcOrigin(
4426
4869
  origin_id: typing.Optional[builtins.str] = None,
4427
4870
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
4428
4871
  origin_shield_region: typing.Optional[builtins.str] = None,
4872
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
4429
4873
  ) -> None:
4430
4874
  '''
4431
4875
  :param domain_name_: -
@@ -4440,6 +4884,7 @@ class VpcOrigin(
4440
4884
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4441
4885
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4442
4886
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4887
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
4443
4888
  '''
4444
4889
  if __debug__:
4445
4890
  type_hints = typing.get_type_hints(_typecheckingstub__27d66442a972110883cdde622df199c2db6a7264e19031f1118d7aa01681cef6)
@@ -4456,6 +4901,7 @@ class VpcOrigin(
4456
4901
  origin_id=origin_id,
4457
4902
  origin_shield_enabled=origin_shield_enabled,
4458
4903
  origin_shield_region=origin_shield_region,
4904
+ response_completion_timeout=response_completion_timeout,
4459
4905
  )
4460
4906
 
4461
4907
  jsii.create(self.__class__, self, [domain_name_, props])
@@ -4482,6 +4928,7 @@ class VpcOrigin(
4482
4928
  origin_id: typing.Optional[builtins.str] = None,
4483
4929
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
4484
4930
  origin_shield_region: typing.Optional[builtins.str] = None,
4931
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
4485
4932
  ) -> "VpcOrigin":
4486
4933
  '''Create a VPC origin with an Application Load Balancer.
4487
4934
 
@@ -4502,6 +4949,7 @@ class VpcOrigin(
4502
4949
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4503
4950
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4504
4951
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
4952
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
4505
4953
  '''
4506
4954
  if __debug__:
4507
4955
  type_hints = typing.get_type_hints(_typecheckingstub__8615ead9bb90a8fd2c91dc07371d03b8f4b4192a1500a449646bd8a7be95fa6c)
@@ -4523,6 +4971,7 @@ class VpcOrigin(
4523
4971
  origin_id=origin_id,
4524
4972
  origin_shield_enabled=origin_shield_enabled,
4525
4973
  origin_shield_region=origin_shield_region,
4974
+ response_completion_timeout=response_completion_timeout,
4526
4975
  )
4527
4976
 
4528
4977
  return typing.cast("VpcOrigin", jsii.sinvoke(cls, "withApplicationLoadBalancer", [alb, props]))
@@ -4549,6 +4998,7 @@ class VpcOrigin(
4549
4998
  origin_id: typing.Optional[builtins.str] = None,
4550
4999
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
4551
5000
  origin_shield_region: typing.Optional[builtins.str] = None,
5001
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
4552
5002
  ) -> "VpcOrigin":
4553
5003
  '''Create a VPC origin with an EC2 instance.
4554
5004
 
@@ -4569,6 +5019,7 @@ class VpcOrigin(
4569
5019
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4570
5020
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4571
5021
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
5022
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
4572
5023
  '''
4573
5024
  if __debug__:
4574
5025
  type_hints = typing.get_type_hints(_typecheckingstub__1fc3f8db0baa99548845b1733d31d8271fbe2c934c89a6c44958edcb38b35a13)
@@ -4590,6 +5041,7 @@ class VpcOrigin(
4590
5041
  origin_id=origin_id,
4591
5042
  origin_shield_enabled=origin_shield_enabled,
4592
5043
  origin_shield_region=origin_shield_region,
5044
+ response_completion_timeout=response_completion_timeout,
4593
5045
  )
4594
5046
 
4595
5047
  return typing.cast("VpcOrigin", jsii.sinvoke(cls, "withEc2Instance", [instance, props]))
@@ -4616,6 +5068,7 @@ class VpcOrigin(
4616
5068
  origin_id: typing.Optional[builtins.str] = None,
4617
5069
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
4618
5070
  origin_shield_region: typing.Optional[builtins.str] = None,
5071
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
4619
5072
  ) -> "VpcOrigin":
4620
5073
  '''Create a VPC origin with a Network Load Balancer.
4621
5074
 
@@ -4636,6 +5089,7 @@ class VpcOrigin(
4636
5089
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4637
5090
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4638
5091
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
5092
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
4639
5093
  '''
4640
5094
  if __debug__:
4641
5095
  type_hints = typing.get_type_hints(_typecheckingstub__83c5561f2747600ee99b6ee41190dcba45f2a24cc1c9500759e9c382320b83d6)
@@ -4657,6 +5111,7 @@ class VpcOrigin(
4657
5111
  origin_id=origin_id,
4658
5112
  origin_shield_enabled=origin_shield_enabled,
4659
5113
  origin_shield_region=origin_shield_region,
5114
+ response_completion_timeout=response_completion_timeout,
4660
5115
  )
4661
5116
 
4662
5117
  return typing.cast("VpcOrigin", jsii.sinvoke(cls, "withNetworkLoadBalancer", [nlb, props]))
@@ -4678,6 +5133,7 @@ class VpcOrigin(
4678
5133
  origin_id: typing.Optional[builtins.str] = None,
4679
5134
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
4680
5135
  origin_shield_region: typing.Optional[builtins.str] = None,
5136
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
4681
5137
  ) -> "VpcOrigin":
4682
5138
  '''Create a VPC origin with an existing VPC origin resource.
4683
5139
 
@@ -4693,6 +5149,7 @@ class VpcOrigin(
4693
5149
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4694
5150
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4695
5151
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
5152
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
4696
5153
  '''
4697
5154
  if __debug__:
4698
5155
  type_hints = typing.get_type_hints(_typecheckingstub__b7ed2e0f746eab77b2774c1adb0f114f10e786a05b531cd1218f93ad3770e5af)
@@ -4709,6 +5166,7 @@ class VpcOrigin(
4709
5166
  origin_id=origin_id,
4710
5167
  origin_shield_enabled=origin_shield_enabled,
4711
5168
  origin_shield_region=origin_shield_region,
5169
+ response_completion_timeout=response_completion_timeout,
4712
5170
  )
4713
5171
 
4714
5172
  return typing.cast("VpcOrigin", jsii.sinvoke(cls, "withVpcOrigin", [origin, props]))
@@ -4758,6 +5216,7 @@ typing.cast(typing.Any, VpcOrigin).__jsii_proxy_class__ = lambda : _VpcOriginPro
4758
5216
  "origin_id": "originId",
4759
5217
  "origin_shield_enabled": "originShieldEnabled",
4760
5218
  "origin_shield_region": "originShieldRegion",
5219
+ "response_completion_timeout": "responseCompletionTimeout",
4761
5220
  "origin_path": "originPath",
4762
5221
  "domain_name": "domainName",
4763
5222
  "keepalive_timeout": "keepaliveTimeout",
@@ -4775,6 +5234,7 @@ class VpcOriginProps(_OriginProps_0675928d):
4775
5234
  origin_id: typing.Optional[builtins.str] = None,
4776
5235
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
4777
5236
  origin_shield_region: typing.Optional[builtins.str] = None,
5237
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
4778
5238
  origin_path: typing.Optional[builtins.str] = None,
4779
5239
  domain_name: typing.Optional[builtins.str] = None,
4780
5240
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
@@ -4789,6 +5249,7 @@ class VpcOriginProps(_OriginProps_0675928d):
4789
5249
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
4790
5250
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
4791
5251
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
5252
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
4792
5253
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
4793
5254
  :param domain_name: The domain name associated with your VPC origin. Default: - The default domain name of the endpoint.
4794
5255
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
@@ -4816,7 +5277,8 @@ class VpcOriginProps(_OriginProps_0675928d):
4816
5277
  origin_path="originPath",
4817
5278
  origin_shield_enabled=False,
4818
5279
  origin_shield_region="originShieldRegion",
4819
- read_timeout=cdk.Duration.minutes(30)
5280
+ read_timeout=cdk.Duration.minutes(30),
5281
+ response_completion_timeout=cdk.Duration.minutes(30)
4820
5282
  )
4821
5283
  '''
4822
5284
  if __debug__:
@@ -4828,6 +5290,7 @@ class VpcOriginProps(_OriginProps_0675928d):
4828
5290
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
4829
5291
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
4830
5292
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
5293
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
4831
5294
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
4832
5295
  check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
4833
5296
  check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
@@ -4847,6 +5310,8 @@ class VpcOriginProps(_OriginProps_0675928d):
4847
5310
  self._values["origin_shield_enabled"] = origin_shield_enabled
4848
5311
  if origin_shield_region is not None:
4849
5312
  self._values["origin_shield_region"] = origin_shield_region
5313
+ if response_completion_timeout is not None:
5314
+ self._values["response_completion_timeout"] = response_completion_timeout
4850
5315
  if origin_path is not None:
4851
5316
  self._values["origin_path"] = origin_path
4852
5317
  if domain_name is not None:
@@ -4929,6 +5394,21 @@ class VpcOriginProps(_OriginProps_0675928d):
4929
5394
  result = self._values.get("origin_shield_region")
4930
5395
  return typing.cast(typing.Optional[builtins.str], result)
4931
5396
 
5397
+ @builtins.property
5398
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
5399
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
5400
+
5401
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
5402
+
5403
+ Valid values are 1-3600 seconds, inclusive.
5404
+
5405
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
5406
+
5407
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
5408
+ '''
5409
+ result = self._values.get("response_completion_timeout")
5410
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
5411
+
4932
5412
  @builtins.property
4933
5413
  def origin_path(self) -> typing.Optional[builtins.str]:
4934
5414
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -5000,6 +5480,7 @@ class VpcOriginProps(_OriginProps_0675928d):
5000
5480
  "origin_id": "originId",
5001
5481
  "origin_shield_enabled": "originShieldEnabled",
5002
5482
  "origin_shield_region": "originShieldRegion",
5483
+ "response_completion_timeout": "responseCompletionTimeout",
5003
5484
  "origin_path": "originPath",
5004
5485
  "domain_name": "domainName",
5005
5486
  "keepalive_timeout": "keepaliveTimeout",
@@ -5022,6 +5503,7 @@ class VpcOriginWithEndpointProps(VpcOriginProps, _VpcOriginOptions_f9e74bd8):
5022
5503
  origin_id: typing.Optional[builtins.str] = None,
5023
5504
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5024
5505
  origin_shield_region: typing.Optional[builtins.str] = None,
5506
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5025
5507
  origin_path: typing.Optional[builtins.str] = None,
5026
5508
  domain_name: typing.Optional[builtins.str] = None,
5027
5509
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
@@ -5041,6 +5523,7 @@ class VpcOriginWithEndpointProps(VpcOriginProps, _VpcOriginOptions_f9e74bd8):
5041
5523
  :param origin_id: A unique identifier for the origin. This value must be unique within the distribution. Default: - an originid will be generated for you
5042
5524
  :param origin_shield_enabled: Origin Shield is enabled by setting originShieldRegion to a valid region, after this to disable Origin Shield again you must set this flag to false. Default: - true
5043
5525
  :param origin_shield_region: When you enable Origin Shield in the AWS Region that has the lowest latency to your origin, you can get better network performance. Default: - origin shield not enabled
5526
+ :param response_completion_timeout: The time that a request from CloudFront to the origin can stay open and wait for a response. If the complete response isn't received from the origin by this time, CloudFront ends the connection. Valid values are 1-3600 seconds, inclusive. Default: undefined - AWS CloudFront default is not enforcing a maximum value
5044
5527
  :param origin_path: An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin. Must begin, but not end, with '/' (e.g., '/production/images'). Default: '/'
5045
5528
  :param domain_name: The domain name associated with your VPC origin. Default: - The default domain name of the endpoint.
5046
5529
  :param keepalive_timeout: Specifies how long, in seconds, CloudFront persists its connection to the origin. The valid range is from 1 to 180 seconds, inclusive. Note that values over 60 seconds are possible only after a limit increase request for the origin response timeout quota has been approved in the target account; otherwise, values over 60 seconds will produce an error at deploy time. Default: Duration.seconds(5)
@@ -5079,6 +5562,7 @@ class VpcOriginWithEndpointProps(VpcOriginProps, _VpcOriginOptions_f9e74bd8):
5079
5562
  origin_ssl_protocols=[cloudfront.OriginSslPolicy.SSL_V3],
5080
5563
  protocol_policy=cloudfront.OriginProtocolPolicy.HTTP_ONLY,
5081
5564
  read_timeout=cdk.Duration.minutes(30),
5565
+ response_completion_timeout=cdk.Duration.minutes(30),
5082
5566
  vpc_origin_name="vpcOriginName"
5083
5567
  )
5084
5568
  '''
@@ -5091,6 +5575,7 @@ class VpcOriginWithEndpointProps(VpcOriginProps, _VpcOriginOptions_f9e74bd8):
5091
5575
  check_type(argname="argument origin_id", value=origin_id, expected_type=type_hints["origin_id"])
5092
5576
  check_type(argname="argument origin_shield_enabled", value=origin_shield_enabled, expected_type=type_hints["origin_shield_enabled"])
5093
5577
  check_type(argname="argument origin_shield_region", value=origin_shield_region, expected_type=type_hints["origin_shield_region"])
5578
+ check_type(argname="argument response_completion_timeout", value=response_completion_timeout, expected_type=type_hints["response_completion_timeout"])
5094
5579
  check_type(argname="argument origin_path", value=origin_path, expected_type=type_hints["origin_path"])
5095
5580
  check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
5096
5581
  check_type(argname="argument keepalive_timeout", value=keepalive_timeout, expected_type=type_hints["keepalive_timeout"])
@@ -5115,6 +5600,8 @@ class VpcOriginWithEndpointProps(VpcOriginProps, _VpcOriginOptions_f9e74bd8):
5115
5600
  self._values["origin_shield_enabled"] = origin_shield_enabled
5116
5601
  if origin_shield_region is not None:
5117
5602
  self._values["origin_shield_region"] = origin_shield_region
5603
+ if response_completion_timeout is not None:
5604
+ self._values["response_completion_timeout"] = response_completion_timeout
5118
5605
  if origin_path is not None:
5119
5606
  self._values["origin_path"] = origin_path
5120
5607
  if domain_name is not None:
@@ -5207,6 +5694,21 @@ class VpcOriginWithEndpointProps(VpcOriginProps, _VpcOriginOptions_f9e74bd8):
5207
5694
  result = self._values.get("origin_shield_region")
5208
5695
  return typing.cast(typing.Optional[builtins.str], result)
5209
5696
 
5697
+ @builtins.property
5698
+ def response_completion_timeout(self) -> typing.Optional[_Duration_4839e8c3]:
5699
+ '''The time that a request from CloudFront to the origin can stay open and wait for a response.
5700
+
5701
+ If the complete response isn't received from the origin by this time, CloudFront ends the connection.
5702
+
5703
+ Valid values are 1-3600 seconds, inclusive.
5704
+
5705
+ :default: undefined - AWS CloudFront default is not enforcing a maximum value
5706
+
5707
+ :see: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DownloadDistValuesOrigin.html#response-completion-timeout
5708
+ '''
5709
+ result = self._values.get("response_completion_timeout")
5710
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
5711
+
5210
5712
  @builtins.property
5211
5713
  def origin_path(self) -> typing.Optional[builtins.str]:
5212
5714
  '''An optional path that CloudFront appends to the origin domain name when CloudFront requests content from the origin.
@@ -5345,6 +5847,7 @@ publication.publish()
5345
5847
  def _typecheckingstub__fcda903697b26acfe2149a285d5a64619682b675affb52f4ae2d1aca46c8f1c3(
5346
5848
  lambda_function_url: _IFunctionUrl_1a74cd94,
5347
5849
  *,
5850
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5348
5851
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5349
5852
  read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5350
5853
  origin_path: typing.Optional[builtins.str] = None,
@@ -5355,6 +5858,7 @@ def _typecheckingstub__fcda903697b26acfe2149a285d5a64619682b675affb52f4ae2d1aca4
5355
5858
  origin_id: typing.Optional[builtins.str] = None,
5356
5859
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5357
5860
  origin_shield_region: typing.Optional[builtins.str] = None,
5861
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5358
5862
  ) -> None:
5359
5863
  """Type checking stubs"""
5360
5864
  pass
@@ -5363,6 +5867,7 @@ def _typecheckingstub__b4d59b7721f41be7903dbcffeddd34d596392d2c8d2a4110f31a4dacd
5363
5867
  lambda_function_url: _IFunctionUrl_1a74cd94,
5364
5868
  *,
5365
5869
  origin_access_control: typing.Optional[_IOriginAccessControl_82a6fe5a] = None,
5870
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5366
5871
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5367
5872
  read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5368
5873
  origin_path: typing.Optional[builtins.str] = None,
@@ -5373,6 +5878,7 @@ def _typecheckingstub__b4d59b7721f41be7903dbcffeddd34d596392d2c8d2a4110f31a4dacd
5373
5878
  origin_id: typing.Optional[builtins.str] = None,
5374
5879
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5375
5880
  origin_shield_region: typing.Optional[builtins.str] = None,
5881
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5376
5882
  ) -> None:
5377
5883
  """Type checking stubs"""
5378
5884
  pass
@@ -5386,6 +5892,7 @@ def _typecheckingstub__610b4764a440619f38a9adeb3e13225e58180ee2ee316abd994579fdc
5386
5892
  origin_id: typing.Optional[builtins.str] = None,
5387
5893
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5388
5894
  origin_shield_region: typing.Optional[builtins.str] = None,
5895
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5389
5896
  origin_path: typing.Optional[builtins.str] = None,
5390
5897
  ) -> None:
5391
5898
  """Type checking stubs"""
@@ -5400,7 +5907,9 @@ def _typecheckingstub__56d340a9ac5dd93c6aa22cb98bcbc860fb23f8d247b53c2cd1a51ecd8
5400
5907
  origin_id: typing.Optional[builtins.str] = None,
5401
5908
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5402
5909
  origin_shield_region: typing.Optional[builtins.str] = None,
5910
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5403
5911
  origin_path: typing.Optional[builtins.str] = None,
5912
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5404
5913
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5405
5914
  read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5406
5915
  ) -> None:
@@ -5416,7 +5925,9 @@ def _typecheckingstub__56968af993436ccfcac0aa6a57169f1a033078c10740d435d086816ad
5416
5925
  origin_id: typing.Optional[builtins.str] = None,
5417
5926
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5418
5927
  origin_shield_region: typing.Optional[builtins.str] = None,
5928
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5419
5929
  origin_path: typing.Optional[builtins.str] = None,
5930
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5420
5931
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5421
5932
  read_timeout: typing.Optional[_Duration_4839e8c3] = None,
5422
5933
  origin_access_control: typing.Optional[_IOriginAccessControl_82a6fe5a] = None,
@@ -5429,6 +5940,7 @@ def _typecheckingstub__57d13f69f251622e0723aa73c3eb93e482e0deb7a7b1e8439c7d7ad35
5429
5940
  *,
5430
5941
  http_port: typing.Optional[jsii.Number] = None,
5431
5942
  https_port: typing.Optional[jsii.Number] = None,
5943
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5432
5944
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5433
5945
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5434
5946
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -5441,6 +5953,7 @@ def _typecheckingstub__57d13f69f251622e0723aa73c3eb93e482e0deb7a7b1e8439c7d7ad35
5441
5953
  origin_id: typing.Optional[builtins.str] = None,
5442
5954
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5443
5955
  origin_shield_region: typing.Optional[builtins.str] = None,
5956
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5444
5957
  ) -> None:
5445
5958
  """Type checking stubs"""
5446
5959
  pass
@@ -5454,9 +5967,11 @@ def _typecheckingstub__13f43bf70f0a97ee8ca0e4f7aca38d43089ed2bc254d5c2b57c73b51c
5454
5967
  origin_id: typing.Optional[builtins.str] = None,
5455
5968
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5456
5969
  origin_shield_region: typing.Optional[builtins.str] = None,
5970
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5457
5971
  origin_path: typing.Optional[builtins.str] = None,
5458
5972
  http_port: typing.Optional[jsii.Number] = None,
5459
5973
  https_port: typing.Optional[jsii.Number] = None,
5974
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5460
5975
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5461
5976
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5462
5977
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -5470,6 +5985,7 @@ def _typecheckingstub__2e5124d4f469d6539077a529c09cfba685fe4a7037b9417216b18f6cc
5470
5985
  *,
5471
5986
  http_port: typing.Optional[jsii.Number] = None,
5472
5987
  https_port: typing.Optional[jsii.Number] = None,
5988
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5473
5989
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5474
5990
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5475
5991
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -5482,6 +5998,7 @@ def _typecheckingstub__2e5124d4f469d6539077a529c09cfba685fe4a7037b9417216b18f6cc
5482
5998
  origin_id: typing.Optional[builtins.str] = None,
5483
5999
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5484
6000
  origin_shield_region: typing.Optional[builtins.str] = None,
6001
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5485
6002
  ) -> None:
5486
6003
  """Type checking stubs"""
5487
6004
  pass
@@ -5495,9 +6012,11 @@ def _typecheckingstub__c72b63200b184ae3f51c9b6a19be2eef9bddae313ee00c7378396c0dc
5495
6012
  origin_id: typing.Optional[builtins.str] = None,
5496
6013
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5497
6014
  origin_shield_region: typing.Optional[builtins.str] = None,
6015
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5498
6016
  origin_path: typing.Optional[builtins.str] = None,
5499
6017
  http_port: typing.Optional[jsii.Number] = None,
5500
6018
  https_port: typing.Optional[jsii.Number] = None,
6019
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5501
6020
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5502
6021
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5503
6022
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -5538,6 +6057,7 @@ def _typecheckingstub__56b6a9ee9b4e8ac821a25cc86fc2ff9f7490081ff9a35a5c551216af6
5538
6057
  origin_id: typing.Optional[builtins.str] = None,
5539
6058
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5540
6059
  origin_shield_region: typing.Optional[builtins.str] = None,
6060
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5541
6061
  ) -> None:
5542
6062
  """Type checking stubs"""
5543
6063
  pass
@@ -5551,6 +6071,7 @@ def _typecheckingstub__0eca8c8f76c90eb80c45563b1a8eb9b9f1868ad621b45412a4cb93529
5551
6071
  origin_id: typing.Optional[builtins.str] = None,
5552
6072
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5553
6073
  origin_shield_region: typing.Optional[builtins.str] = None,
6074
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5554
6075
  origin_path: typing.Optional[builtins.str] = None,
5555
6076
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5556
6077
  read_timeout: typing.Optional[_Duration_4839e8c3] = None,
@@ -5569,6 +6090,7 @@ def _typecheckingstub__3cb1f0b82603224c7fbeb25b954355d9b19c8971c1f19cce6cc99b457
5569
6090
  origin_id: typing.Optional[builtins.str] = None,
5570
6091
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5571
6092
  origin_shield_region: typing.Optional[builtins.str] = None,
6093
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5572
6094
  ) -> None:
5573
6095
  """Type checking stubs"""
5574
6096
  pass
@@ -5584,6 +6106,7 @@ def _typecheckingstub__f676436dc530972f0e77d574f148913989a94d38c9af09bff28450e29
5584
6106
  origin_id: typing.Optional[builtins.str] = None,
5585
6107
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5586
6108
  origin_shield_region: typing.Optional[builtins.str] = None,
6109
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5587
6110
  ) -> None:
5588
6111
  """Type checking stubs"""
5589
6112
  pass
@@ -5601,6 +6124,7 @@ def _typecheckingstub__23afb965139dc34be23cec3ad5506b4c5de509db9c0d653bed7877f46
5601
6124
  origin_id: typing.Optional[builtins.str] = None,
5602
6125
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5603
6126
  origin_shield_region: typing.Optional[builtins.str] = None,
6127
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5604
6128
  ) -> None:
5605
6129
  """Type checking stubs"""
5606
6130
  pass
@@ -5617,6 +6141,7 @@ def _typecheckingstub__13e7421c65d5fbb92fc686fa854daca3e90dc002f3e99da4b4757e32e
5617
6141
  origin_id: typing.Optional[builtins.str] = None,
5618
6142
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5619
6143
  origin_shield_region: typing.Optional[builtins.str] = None,
6144
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5620
6145
  ) -> None:
5621
6146
  """Type checking stubs"""
5622
6147
  pass
@@ -5630,6 +6155,7 @@ def _typecheckingstub__c5e580c31fe629b713e1ecbf9905ebb4220e152805ab34129f693f2c4
5630
6155
  origin_id: typing.Optional[builtins.str] = None,
5631
6156
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5632
6157
  origin_shield_region: typing.Optional[builtins.str] = None,
6158
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5633
6159
  origin_path: typing.Optional[builtins.str] = None,
5634
6160
  ) -> None:
5635
6161
  """Type checking stubs"""
@@ -5644,6 +6170,7 @@ def _typecheckingstub__1af53a7ded1427e29cc874af45efdfe026a0004a1f2782a5bc936dbfc
5644
6170
  origin_id: typing.Optional[builtins.str] = None,
5645
6171
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5646
6172
  origin_shield_region: typing.Optional[builtins.str] = None,
6173
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5647
6174
  origin_path: typing.Optional[builtins.str] = None,
5648
6175
  origin_access_control: typing.Optional[_IOriginAccessControl_82a6fe5a] = None,
5649
6176
  origin_access_levels: typing.Optional[typing.Sequence[_AccessLevel_315d9a76]] = None,
@@ -5660,6 +6187,7 @@ def _typecheckingstub__4b64c18ef31b660c450eee84b6738d7bbd960797e1788e068be966312
5660
6187
  origin_id: typing.Optional[builtins.str] = None,
5661
6188
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5662
6189
  origin_shield_region: typing.Optional[builtins.str] = None,
6190
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5663
6191
  origin_path: typing.Optional[builtins.str] = None,
5664
6192
  origin_access_identity: typing.Optional[_IOriginAccessIdentity_a922494c] = None,
5665
6193
  ) -> None:
@@ -5678,6 +6206,7 @@ def _typecheckingstub__9ba8623373b0faa9ac55c816167da21a58e0753e0dd032b1f3e6ccd0b
5678
6206
  origin_id: typing.Optional[builtins.str] = None,
5679
6207
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5680
6208
  origin_shield_region: typing.Optional[builtins.str] = None,
6209
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5681
6210
  ) -> None:
5682
6211
  """Type checking stubs"""
5683
6212
  pass
@@ -5700,6 +6229,7 @@ def _typecheckingstub__bbd2a0ca1bf4d32899d90ea633e3ac416a6fa29972ee055a5866ec269
5700
6229
  origin_id: typing.Optional[builtins.str] = None,
5701
6230
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5702
6231
  origin_shield_region: typing.Optional[builtins.str] = None,
6232
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5703
6233
  origin_path: typing.Optional[builtins.str] = None,
5704
6234
  origin_access_identity: typing.Optional[_IOriginAccessIdentity_a922494c] = None,
5705
6235
  ) -> None:
@@ -5711,6 +6241,7 @@ def _typecheckingstub__f0edd2083352b96faf3ea9eb05136629dff841fa272ecdb6dfb52772a
5711
6241
  *,
5712
6242
  http_port: typing.Optional[jsii.Number] = None,
5713
6243
  https_port: typing.Optional[jsii.Number] = None,
6244
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5714
6245
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5715
6246
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5716
6247
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -5723,6 +6254,7 @@ def _typecheckingstub__f0edd2083352b96faf3ea9eb05136629dff841fa272ecdb6dfb52772a
5723
6254
  origin_id: typing.Optional[builtins.str] = None,
5724
6255
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5725
6256
  origin_shield_region: typing.Optional[builtins.str] = None,
6257
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5726
6258
  ) -> None:
5727
6259
  """Type checking stubs"""
5728
6260
  pass
@@ -5736,9 +6268,11 @@ def _typecheckingstub__5bc18cdba7c0e6d7d0a68d2a1cf3c3f91f50a7e3e7384f5f62ebee600
5736
6268
  origin_id: typing.Optional[builtins.str] = None,
5737
6269
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5738
6270
  origin_shield_region: typing.Optional[builtins.str] = None,
6271
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5739
6272
  origin_path: typing.Optional[builtins.str] = None,
5740
6273
  http_port: typing.Optional[jsii.Number] = None,
5741
6274
  https_port: typing.Optional[jsii.Number] = None,
6275
+ ip_address_type: typing.Optional[_OriginIpAddressType_1c01e1a0] = None,
5742
6276
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
5743
6277
  origin_ssl_protocols: typing.Optional[typing.Sequence[_OriginSslPolicy_d65cede2]] = None,
5744
6278
  protocol_policy: typing.Optional[_OriginProtocolPolicy_967ed73c] = None,
@@ -5761,6 +6295,7 @@ def _typecheckingstub__27d66442a972110883cdde622df199c2db6a7264e19031f1118d7aa01
5761
6295
  origin_id: typing.Optional[builtins.str] = None,
5762
6296
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5763
6297
  origin_shield_region: typing.Optional[builtins.str] = None,
6298
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5764
6299
  ) -> None:
5765
6300
  """Type checking stubs"""
5766
6301
  pass
@@ -5784,6 +6319,7 @@ def _typecheckingstub__8615ead9bb90a8fd2c91dc07371d03b8f4b4192a1500a449646bd8a7b
5784
6319
  origin_id: typing.Optional[builtins.str] = None,
5785
6320
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5786
6321
  origin_shield_region: typing.Optional[builtins.str] = None,
6322
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5787
6323
  ) -> None:
5788
6324
  """Type checking stubs"""
5789
6325
  pass
@@ -5807,6 +6343,7 @@ def _typecheckingstub__1fc3f8db0baa99548845b1733d31d8271fbe2c934c89a6c44958edcb3
5807
6343
  origin_id: typing.Optional[builtins.str] = None,
5808
6344
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5809
6345
  origin_shield_region: typing.Optional[builtins.str] = None,
6346
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5810
6347
  ) -> None:
5811
6348
  """Type checking stubs"""
5812
6349
  pass
@@ -5830,6 +6367,7 @@ def _typecheckingstub__83c5561f2747600ee99b6ee41190dcba45f2a24cc1c9500759e9c3823
5830
6367
  origin_id: typing.Optional[builtins.str] = None,
5831
6368
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5832
6369
  origin_shield_region: typing.Optional[builtins.str] = None,
6370
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5833
6371
  ) -> None:
5834
6372
  """Type checking stubs"""
5835
6373
  pass
@@ -5848,6 +6386,7 @@ def _typecheckingstub__b7ed2e0f746eab77b2774c1adb0f114f10e786a05b531cd1218f93ad3
5848
6386
  origin_id: typing.Optional[builtins.str] = None,
5849
6387
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5850
6388
  origin_shield_region: typing.Optional[builtins.str] = None,
6389
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5851
6390
  ) -> None:
5852
6391
  """Type checking stubs"""
5853
6392
  pass
@@ -5867,6 +6406,7 @@ def _typecheckingstub__6605ea586b09bdf0ddb88a83b7c4e00626fe891625563cb019777b148
5867
6406
  origin_id: typing.Optional[builtins.str] = None,
5868
6407
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5869
6408
  origin_shield_region: typing.Optional[builtins.str] = None,
6409
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5870
6410
  origin_path: typing.Optional[builtins.str] = None,
5871
6411
  domain_name: typing.Optional[builtins.str] = None,
5872
6412
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,
@@ -5884,6 +6424,7 @@ def _typecheckingstub__e581b80df977101d74a87a861c6ddf752f3dc8bcbd114f5e12bc33daa
5884
6424
  origin_id: typing.Optional[builtins.str] = None,
5885
6425
  origin_shield_enabled: typing.Optional[builtins.bool] = None,
5886
6426
  origin_shield_region: typing.Optional[builtins.str] = None,
6427
+ response_completion_timeout: typing.Optional[_Duration_4839e8c3] = None,
5887
6428
  origin_path: typing.Optional[builtins.str] = None,
5888
6429
  domain_name: typing.Optional[builtins.str] = None,
5889
6430
  keepalive_timeout: typing.Optional[_Duration_4839e8c3] = None,