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
@@ -68,9 +68,39 @@ from .. import (
68
68
  TagManager as _TagManager_0a598cb3,
69
69
  TreeInspector as _TreeInspector_488e0dd5,
70
70
  )
71
+ from ..interfaces.aws_lightsail import (
72
+ AlarmReference as _AlarmReference_e2b0ffc0,
73
+ BucketReference as _BucketReference_6e1aaf5c,
74
+ CertificateReference as _CertificateReference_8d2426bb,
75
+ ContainerReference as _ContainerReference_57cb0931,
76
+ DatabaseReference as _DatabaseReference_57470afa,
77
+ DiskReference as _DiskReference_f2afb242,
78
+ DiskSnapshotReference as _DiskSnapshotReference_61ae524e,
79
+ DistributionReference as _DistributionReference_1f46b65d,
80
+ DomainReference as _DomainReference_8cd3277c,
81
+ IAlarmRef as _IAlarmRef_6cd14bfe,
82
+ IBucketRef as _IBucketRef_94b2e9c2,
83
+ ICertificateRef as _ICertificateRef_a38eb928,
84
+ IContainerRef as _IContainerRef_448c22ea,
85
+ IDatabaseRef as _IDatabaseRef_3bb9625f,
86
+ IDiskRef as _IDiskRef_07664287,
87
+ IDiskSnapshotRef as _IDiskSnapshotRef_954b35e1,
88
+ IDistributionRef as _IDistributionRef_512dbafd,
89
+ IDomainRef as _IDomainRef_3b81a960,
90
+ IInstanceRef as _IInstanceRef_f1c05940,
91
+ IInstanceSnapshotRef as _IInstanceSnapshotRef_c18fd10c,
92
+ ILoadBalancerRef as _ILoadBalancerRef_7b5a1371,
93
+ ILoadBalancerTlsCertificateRef as _ILoadBalancerTlsCertificateRef_c1bbdf26,
94
+ IStaticIpRef as _IStaticIpRef_8b78d790,
95
+ InstanceReference as _InstanceReference_f3b82c18,
96
+ InstanceSnapshotReference as _InstanceSnapshotReference_90d3b17d,
97
+ LoadBalancerReference as _LoadBalancerReference_c8dab726,
98
+ LoadBalancerTlsCertificateReference as _LoadBalancerTlsCertificateReference_7a33f29e,
99
+ StaticIpReference as _StaticIpReference_8e2e0ed9,
100
+ )
71
101
 
72
102
 
73
- @jsii.implements(_IInspectable_c2943556)
103
+ @jsii.implements(_IInspectable_c2943556, _IAlarmRef_6cd14bfe)
74
104
  class CfnAlarm(
75
105
  _CfnResource_9df397a6,
76
106
  metaclass=jsii.JSIIMeta,
@@ -122,7 +152,8 @@ class CfnAlarm(
122
152
  notification_triggers: typing.Optional[typing.Sequence[builtins.str]] = None,
123
153
  treat_missing_data: typing.Optional[builtins.str] = None,
124
154
  ) -> None:
125
- '''
155
+ '''Create a new ``AWS::Lightsail::Alarm``.
156
+
126
157
  :param scope: Scope in which this resource is defined.
127
158
  :param id: Construct identifier for this resource (unique in its scope).
128
159
  :param alarm_name: The name of the alarm.
@@ -187,6 +218,12 @@ class CfnAlarm(
187
218
  '''The CloudFormation resource type name for this resource class.'''
188
219
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
189
220
 
221
+ @builtins.property
222
+ @jsii.member(jsii_name="alarmRef")
223
+ def alarm_ref(self) -> _AlarmReference_e2b0ffc0:
224
+ '''A reference to a Alarm resource.'''
225
+ return typing.cast(_AlarmReference_e2b0ffc0, jsii.get(self, "alarmRef"))
226
+
190
227
  @builtins.property
191
228
  @jsii.member(jsii_name="attrAlarmArn")
192
229
  def attr_alarm_arn(self) -> builtins.str:
@@ -609,7 +646,7 @@ class CfnAlarmProps:
609
646
  )
610
647
 
611
648
 
612
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
649
+ @jsii.implements(_IInspectable_c2943556, _IBucketRef_94b2e9c2, _ITaggable_36806126)
613
650
  class CfnBucket(
614
651
  _CfnResource_9df397a6,
615
652
  metaclass=jsii.JSIIMeta,
@@ -659,7 +696,8 @@ class CfnBucket(
659
696
  resources_receiving_access: typing.Optional[typing.Sequence[builtins.str]] = None,
660
697
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
661
698
  ) -> None:
662
- '''
699
+ '''Create a new ``AWS::Lightsail::Bucket``.
700
+
663
701
  :param scope: Scope in which this resource is defined.
664
702
  :param id: Construct identifier for this resource (unique in its scope).
665
703
  :param bucket_name: The name of the bucket.
@@ -743,6 +781,12 @@ class CfnBucket(
743
781
  '''
744
782
  return typing.cast(builtins.str, jsii.get(self, "attrUrl"))
745
783
 
784
+ @builtins.property
785
+ @jsii.member(jsii_name="bucketRef")
786
+ def bucket_ref(self) -> _BucketReference_6e1aaf5c:
787
+ '''A reference to a Bucket resource.'''
788
+ return typing.cast(_BucketReference_6e1aaf5c, jsii.get(self, "bucketRef"))
789
+
746
790
  @builtins.property
747
791
  @jsii.member(jsii_name="cfnProperties")
748
792
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -1129,7 +1173,7 @@ class CfnBucketProps:
1129
1173
  )
1130
1174
 
1131
1175
 
1132
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
1176
+ @jsii.implements(_IInspectable_c2943556, _ICertificateRef_a38eb928, _ITaggable_36806126)
1133
1177
  class CfnCertificate(
1134
1178
  _CfnResource_9df397a6,
1135
1179
  metaclass=jsii.JSIIMeta,
@@ -1174,7 +1218,8 @@ class CfnCertificate(
1174
1218
  subject_alternative_names: typing.Optional[typing.Sequence[builtins.str]] = None,
1175
1219
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1176
1220
  ) -> None:
1177
- '''
1221
+ '''Create a new ``AWS::Lightsail::Certificate``.
1222
+
1178
1223
  :param scope: Scope in which this resource is defined.
1179
1224
  :param id: Construct identifier for this resource (unique in its scope).
1180
1225
  :param certificate_name: The name of the certificate.
@@ -1243,6 +1288,12 @@ class CfnCertificate(
1243
1288
  '''
1244
1289
  return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
1245
1290
 
1291
+ @builtins.property
1292
+ @jsii.member(jsii_name="certificateRef")
1293
+ def certificate_ref(self) -> _CertificateReference_8d2426bb:
1294
+ '''A reference to a Certificate resource.'''
1295
+ return typing.cast(_CertificateReference_8d2426bb, jsii.get(self, "certificateRef"))
1296
+
1246
1297
  @builtins.property
1247
1298
  @jsii.member(jsii_name="cfnProperties")
1248
1299
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -1427,7 +1478,7 @@ class CfnCertificateProps:
1427
1478
  )
1428
1479
 
1429
1480
 
1430
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
1481
+ @jsii.implements(_IInspectable_c2943556, _IContainerRef_448c22ea, _ITaggable_36806126)
1431
1482
  class CfnContainer(
1432
1483
  _CfnResource_9df397a6,
1433
1484
  metaclass=jsii.JSIIMeta,
@@ -1512,7 +1563,8 @@ class CfnContainer(
1512
1563
  public_domain_names: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnContainer.PublicDomainNameProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
1513
1564
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1514
1565
  ) -> None:
1515
- '''
1566
+ '''Create a new ``AWS::Lightsail::Container``.
1567
+
1516
1568
  :param scope: Scope in which this resource is defined.
1517
1569
  :param id: Construct identifier for this resource (unique in its scope).
1518
1570
  :param power: The power specification of the container service. The power specifies the amount of RAM, the number of vCPUs, and the base price of the container service.
@@ -1616,6 +1668,12 @@ class CfnContainer(
1616
1668
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
1617
1669
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
1618
1670
 
1671
+ @builtins.property
1672
+ @jsii.member(jsii_name="containerRef")
1673
+ def container_ref(self) -> _ContainerReference_57cb0931:
1674
+ '''A reference to a Container resource.'''
1675
+ return typing.cast(_ContainerReference_57cb0931, jsii.get(self, "containerRef"))
1676
+
1619
1677
  @builtins.property
1620
1678
  @jsii.member(jsii_name="tags")
1621
1679
  def tags(self) -> _TagManager_0a598cb3:
@@ -2817,7 +2875,7 @@ class CfnContainerProps:
2817
2875
  )
2818
2876
 
2819
2877
 
2820
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
2878
+ @jsii.implements(_IInspectable_c2943556, _IDatabaseRef_3bb9625f, _ITaggable_36806126)
2821
2879
  class CfnDatabase(
2822
2880
  _CfnResource_9df397a6,
2823
2881
  metaclass=jsii.JSIIMeta,
@@ -2889,7 +2947,8 @@ class CfnDatabase(
2889
2947
  rotate_master_user_password: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2890
2948
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2891
2949
  ) -> None:
2892
- '''
2950
+ '''Create a new ``AWS::Lightsail::Database``.
2951
+
2893
2952
  :param scope: Scope in which this resource is defined.
2894
2953
  :param id: Construct identifier for this resource (unique in its scope).
2895
2954
  :param master_database_name: The meaning of this parameter differs according to the database engine you use. *MySQL* The name of the database to create when the Lightsail database resource is created. If this parameter isn't specified, no database is created in the database resource. Constraints: - Must contain 1-64 letters or numbers. - Must begin with a letter. Subsequent characters can be letters, underscores, or numbers (0-9). - Can't be a word reserved by the specified database engine. For more information about reserved words in MySQL, see the Keywords and Reserved Words articles for `MySQL 5.6 <https://docs.aws.amazon.com/https://dev.mysql.com/doc/refman/5.6/en/keywords.html>`_ , `MySQL 5.7 <https://docs.aws.amazon.com/https://dev.mysql.com/doc/refman/5.7/en/keywords.html>`_ , and `MySQL 8.0 <https://docs.aws.amazon.com/https://dev.mysql.com/doc/refman/8.0/en/keywords.html>`_ . *PostgreSQL* The name of the database to create when the Lightsail database resource is created. If this parameter isn't specified, a database named ``postgres`` is created in the database resource. Constraints: - Must contain 1-63 letters or numbers. - Must begin with a letter. Subsequent characters can be letters, underscores, or numbers (0-9). - Can't be a word reserved by the specified database engine. For more information about reserved words in PostgreSQL, see the SQL Key Words articles for `PostgreSQL 9.6 <https://docs.aws.amazon.com/https://www.postgresql.org/docs/9.6/sql-keywords-appendix.html>`_ , `PostgreSQL 10 <https://docs.aws.amazon.com/https://www.postgresql.org/docs/10/sql-keywords-appendix.html>`_ , `PostgreSQL 11 <https://docs.aws.amazon.com/https://www.postgresql.org/docs/11/sql-keywords-appendix.html>`_ , and `PostgreSQL 12 <https://docs.aws.amazon.com/https://www.postgresql.org/docs/12/sql-keywords-appendix.html>`_ .
@@ -2976,6 +3035,12 @@ class CfnDatabase(
2976
3035
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2977
3036
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2978
3037
 
3038
+ @builtins.property
3039
+ @jsii.member(jsii_name="databaseRef")
3040
+ def database_ref(self) -> _DatabaseReference_57470afa:
3041
+ '''A reference to a Database resource.'''
3042
+ return typing.cast(_DatabaseReference_57470afa, jsii.get(self, "databaseRef"))
3043
+
2979
3044
  @builtins.property
2980
3045
  @jsii.member(jsii_name="tags")
2981
3046
  def tags(self) -> _TagManager_0a598cb3:
@@ -3754,7 +3819,7 @@ class CfnDatabaseProps:
3754
3819
  )
3755
3820
 
3756
3821
 
3757
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
3822
+ @jsii.implements(_IInspectable_c2943556, _IDiskRef_07664287, _ITaggable_36806126)
3758
3823
  class CfnDisk(
3759
3824
  _CfnResource_9df397a6,
3760
3825
  metaclass=jsii.JSIIMeta,
@@ -3810,7 +3875,8 @@ class CfnDisk(
3810
3875
  location: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDisk.LocationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3811
3876
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
3812
3877
  ) -> None:
3813
- '''
3878
+ '''Create a new ``AWS::Lightsail::Disk``.
3879
+
3814
3880
  :param scope: Scope in which this resource is defined.
3815
3881
  :param id: Construct identifier for this resource (unique in its scope).
3816
3882
  :param disk_name: The name of the disk.
@@ -3975,6 +4041,12 @@ class CfnDisk(
3975
4041
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3976
4042
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3977
4043
 
4044
+ @builtins.property
4045
+ @jsii.member(jsii_name="diskRef")
4046
+ def disk_ref(self) -> _DiskReference_f2afb242:
4047
+ '''A reference to a Disk resource.'''
4048
+ return typing.cast(_DiskReference_f2afb242, jsii.get(self, "diskRef"))
4049
+
3978
4050
  @builtins.property
3979
4051
  @jsii.member(jsii_name="tags")
3980
4052
  def tags(self) -> _TagManager_0a598cb3:
@@ -4474,20 +4546,16 @@ class CfnDiskProps:
4474
4546
  )
4475
4547
 
4476
4548
 
4477
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
4478
- class CfnDistribution(
4549
+ @jsii.implements(_IInspectable_c2943556, _IDiskSnapshotRef_954b35e1, _ITaggableV2_4e6798f8)
4550
+ class CfnDiskSnapshot(
4479
4551
  _CfnResource_9df397a6,
4480
4552
  metaclass=jsii.JSIIMeta,
4481
- jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution",
4553
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDiskSnapshot",
4482
4554
  ):
4483
- '''The ``AWS::Lightsail::Distribution`` resource specifies a content delivery network (CDN) distribution.
4484
-
4485
- You can create distributions only in the ``us-east-1`` AWS Region.
4486
-
4487
- A distribution is a globally distributed network of caching servers that improve the performance of your website or web application hosted on a Lightsail instance, static content hosted on a Lightsail bucket, or through a Lightsail load balancer.
4555
+ '''Describes a block storage disk snapshot.
4488
4556
 
4489
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html
4490
- :cloudformationResource: AWS::Lightsail::Distribution
4557
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disksnapshot.html
4558
+ :cloudformationResource: AWS::Lightsail::DiskSnapshot
4491
4559
  :exampleMetadata: fixture=_generated
4492
4560
 
4493
4561
  Example::
@@ -4496,45 +4564,11 @@ class CfnDistribution(
4496
4564
  # The values are placeholders you should change.
4497
4565
  from aws_cdk import aws_lightsail as lightsail
4498
4566
 
4499
- cfn_distribution = lightsail.CfnDistribution(self, "MyCfnDistribution",
4500
- bundle_id="bundleId",
4501
- default_cache_behavior=lightsail.CfnDistribution.CacheBehaviorProperty(
4502
- behavior="behavior"
4503
- ),
4504
- distribution_name="distributionName",
4505
- origin=lightsail.CfnDistribution.InputOriginProperty(
4506
- name="name",
4507
- protocol_policy="protocolPolicy",
4508
- region_name="regionName"
4509
- ),
4567
+ cfn_disk_snapshot = lightsail.CfnDiskSnapshot(self, "MyCfnDiskSnapshot",
4568
+ disk_name="diskName",
4569
+ disk_snapshot_name="diskSnapshotName",
4510
4570
 
4511
4571
  # the properties below are optional
4512
- cache_behaviors=[lightsail.CfnDistribution.CacheBehaviorPerPathProperty(
4513
- behavior="behavior",
4514
- path="path"
4515
- )],
4516
- cache_behavior_settings=lightsail.CfnDistribution.CacheSettingsProperty(
4517
- allowed_http_methods="allowedHttpMethods",
4518
- cached_http_methods="cachedHttpMethods",
4519
- default_ttl=123,
4520
- forwarded_cookies=lightsail.CfnDistribution.CookieObjectProperty(
4521
- cookies_allow_list=["cookiesAllowList"],
4522
- option="option"
4523
- ),
4524
- forwarded_headers=lightsail.CfnDistribution.HeaderObjectProperty(
4525
- headers_allow_list=["headersAllowList"],
4526
- option="option"
4527
- ),
4528
- forwarded_query_strings=lightsail.CfnDistribution.QueryStringObjectProperty(
4529
- option=False,
4530
- query_strings_allow_list=["queryStringsAllowList"]
4531
- ),
4532
- maximum_ttl=123,
4533
- minimum_ttl=123
4534
- ),
4535
- certificate_name="certificateName",
4536
- ip_address_type="ipAddressType",
4537
- is_enabled=False,
4538
4572
  tags=[CfnTag(
4539
4573
  key="key",
4540
4574
  value="value"
@@ -4547,46 +4581,24 @@ class CfnDistribution(
4547
4581
  scope: _constructs_77d1e7e8.Construct,
4548
4582
  id: builtins.str,
4549
4583
  *,
4550
- bundle_id: builtins.str,
4551
- default_cache_behavior: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.CacheBehaviorProperty", typing.Dict[builtins.str, typing.Any]]],
4552
- distribution_name: builtins.str,
4553
- origin: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.InputOriginProperty", typing.Dict[builtins.str, typing.Any]]],
4554
- cache_behaviors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.CacheBehaviorPerPathProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
4555
- cache_behavior_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.CacheSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4556
- certificate_name: typing.Optional[builtins.str] = None,
4557
- ip_address_type: typing.Optional[builtins.str] = None,
4558
- is_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4584
+ disk_name: builtins.str,
4585
+ disk_snapshot_name: builtins.str,
4559
4586
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4560
4587
  ) -> None:
4561
- '''
4588
+ '''Create a new ``AWS::Lightsail::DiskSnapshot``.
4589
+
4562
4590
  :param scope: Scope in which this resource is defined.
4563
4591
  :param id: Construct identifier for this resource (unique in its scope).
4564
- :param bundle_id: The ID of the bundle applied to the distribution.
4565
- :param default_cache_behavior: An object that describes the default cache behavior of the distribution.
4566
- :param distribution_name: The name of the distribution.
4567
- :param origin: An object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer. The distribution pulls, caches, and serves content from the origin.
4568
- :param cache_behaviors: An array of objects that describe the per-path cache behavior of the distribution.
4569
- :param cache_behavior_settings: An object that describes the cache behavior settings of the distribution.
4570
- :param certificate_name: The name of the SSL/TLS certificate attached to the distribution.
4571
- :param ip_address_type: The IP address type of the distribution. The possible values are ``ipv4`` for IPv4 only, and ``dualstack`` for IPv4 and IPv6.
4572
- :param is_enabled: A Boolean value indicating whether the distribution is enabled.
4573
- :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ in the *AWS CloudFormation User Guide* . .. epigraph:: The ``Value`` of ``Tags`` is optional for Lightsail resources.
4592
+ :param disk_name: The unique name of the disk.
4593
+ :param disk_snapshot_name: The name of the disk snapshot ( ``my-disk-snapshot`` ).
4594
+ :param tags: The tag keys and optional values for the resource. For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
4574
4595
  '''
4575
4596
  if __debug__:
4576
- type_hints = typing.get_type_hints(_typecheckingstub__9482ccb96453330c51f380a8c1e2e74f0c57b789e803cc41a6d1f7dcb6be11b9)
4597
+ type_hints = typing.get_type_hints(_typecheckingstub__635e9a5f927b657b2b6980a2d21a19d4d6ef337bedbd026386a09593585a2419)
4577
4598
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4578
4599
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4579
- props = CfnDistributionProps(
4580
- bundle_id=bundle_id,
4581
- default_cache_behavior=default_cache_behavior,
4582
- distribution_name=distribution_name,
4583
- origin=origin,
4584
- cache_behaviors=cache_behaviors,
4585
- cache_behavior_settings=cache_behavior_settings,
4586
- certificate_name=certificate_name,
4587
- ip_address_type=ip_address_type,
4588
- is_enabled=is_enabled,
4589
- tags=tags,
4600
+ props = CfnDiskSnapshotProps(
4601
+ disk_name=disk_name, disk_snapshot_name=disk_snapshot_name, tags=tags
4590
4602
  )
4591
4603
 
4592
4604
  jsii.create(self.__class__, self, [scope, id, props])
@@ -4598,7 +4610,7 @@ class CfnDistribution(
4598
4610
  :param inspector: tree inspector to collect and process attributes.
4599
4611
  '''
4600
4612
  if __debug__:
4601
- type_hints = typing.get_type_hints(_typecheckingstub__8da47e5ef6c7db02eb83fd111cd49ed93a08332c93a0f1d588cdc74356706636)
4613
+ type_hints = typing.get_type_hints(_typecheckingstub__04aab83a28e37e63c1b2e591b678f9b3cb34b471058c106321646e02dbd6677b)
4602
4614
  check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4603
4615
  return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4604
4616
 
@@ -4611,7 +4623,7 @@ class CfnDistribution(
4611
4623
  :param props: -
4612
4624
  '''
4613
4625
  if __debug__:
4614
- type_hints = typing.get_type_hints(_typecheckingstub__bb5945d202d9d8440df9db2cbb8008adb965c2628d41aee45553082f8a9fc477)
4626
+ type_hints = typing.get_type_hints(_typecheckingstub__c914f1dd677dbf6ddbd3846df95651696795d109e5a6555fad7338b6a1fc858d)
4615
4627
  check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4616
4628
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4617
4629
 
@@ -4622,218 +4634,174 @@ class CfnDistribution(
4622
4634
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4623
4635
 
4624
4636
  @builtins.property
4625
- @jsii.member(jsii_name="attrAbleToUpdateBundle")
4626
- def attr_able_to_update_bundle(self) -> _IResolvable_da3f097b:
4627
- '''Indicates whether you can update the distribution’s current bundle to another bundle.
4637
+ @jsii.member(jsii_name="attrCreatedAt")
4638
+ def attr_created_at(self) -> builtins.str:
4639
+ '''The date when the disk snapshot was created.
4628
4640
 
4629
- :cloudformationAttribute: AbleToUpdateBundle
4641
+ :cloudformationAttribute: CreatedAt
4630
4642
  '''
4631
- return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrAbleToUpdateBundle"))
4643
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
4632
4644
 
4633
4645
  @builtins.property
4634
- @jsii.member(jsii_name="attrDistributionArn")
4635
- def attr_distribution_arn(self) -> builtins.str:
4636
- '''The Amazon Resource Name (ARN) of the distribution.
4646
+ @jsii.member(jsii_name="attrDiskSnapshotArn")
4647
+ def attr_disk_snapshot_arn(self) -> builtins.str:
4648
+ '''The Amazon Resource Name (ARN) of the disk snapshot.
4637
4649
 
4638
- :cloudformationAttribute: DistributionArn
4650
+ :cloudformationAttribute: DiskSnapshotArn
4639
4651
  '''
4640
- return typing.cast(builtins.str, jsii.get(self, "attrDistributionArn"))
4652
+ return typing.cast(builtins.str, jsii.get(self, "attrDiskSnapshotArn"))
4641
4653
 
4642
4654
  @builtins.property
4643
- @jsii.member(jsii_name="attrStatus")
4644
- def attr_status(self) -> builtins.str:
4645
- '''The status of the distribution.
4655
+ @jsii.member(jsii_name="attrFromDiskName")
4656
+ def attr_from_disk_name(self) -> builtins.str:
4657
+ '''The unique name of the source disk from which the disk snapshot was created.
4646
4658
 
4647
- :cloudformationAttribute: Status
4659
+ :cloudformationAttribute: FromDiskName
4648
4660
  '''
4649
- return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
4661
+ return typing.cast(builtins.str, jsii.get(self, "attrFromDiskName"))
4650
4662
 
4651
4663
  @builtins.property
4652
- @jsii.member(jsii_name="cfnProperties")
4653
- def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4654
- return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4664
+ @jsii.member(jsii_name="attrIsFromAutoSnapshot")
4665
+ def attr_is_from_auto_snapshot(self) -> _IResolvable_da3f097b:
4666
+ '''A Boolean value indicating whether the snapshot was created from an automatic snapshot.
4667
+
4668
+ :cloudformationAttribute: IsFromAutoSnapshot
4669
+ '''
4670
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrIsFromAutoSnapshot"))
4655
4671
 
4656
4672
  @builtins.property
4657
- @jsii.member(jsii_name="tags")
4658
- def tags(self) -> _TagManager_0a598cb3:
4659
- '''Tag Manager which manages the tags for this resource.'''
4660
- return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
4673
+ @jsii.member(jsii_name="attrLocation")
4674
+ def attr_location(self) -> _IResolvable_da3f097b:
4675
+ '''The AWS Region and Availability Zone where the disk snapshot was created.
4676
+
4677
+ :cloudformationAttribute: Location
4678
+ '''
4679
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrLocation"))
4661
4680
 
4662
4681
  @builtins.property
4663
- @jsii.member(jsii_name="bundleId")
4664
- def bundle_id(self) -> builtins.str:
4665
- '''The ID of the bundle applied to the distribution.'''
4666
- return typing.cast(builtins.str, jsii.get(self, "bundleId"))
4682
+ @jsii.member(jsii_name="attrProgress")
4683
+ def attr_progress(self) -> builtins.str:
4684
+ '''The progress of the snapshot.
4667
4685
 
4668
- @bundle_id.setter
4669
- def bundle_id(self, value: builtins.str) -> None:
4670
- if __debug__:
4671
- type_hints = typing.get_type_hints(_typecheckingstub__713bb0b587b041ad1fbbf3481064d8f0e36314c4a715858754917a04e6b59834)
4672
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4673
- jsii.set(self, "bundleId", value) # pyright: ignore[reportArgumentType]
4686
+ :cloudformationAttribute: Progress
4687
+ '''
4688
+ return typing.cast(builtins.str, jsii.get(self, "attrProgress"))
4674
4689
 
4675
4690
  @builtins.property
4676
- @jsii.member(jsii_name="defaultCacheBehavior")
4677
- def default_cache_behavior(
4678
- self,
4679
- ) -> typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorProperty"]:
4680
- '''An object that describes the default cache behavior of the distribution.'''
4681
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorProperty"], jsii.get(self, "defaultCacheBehavior"))
4691
+ @jsii.member(jsii_name="attrResourceType")
4692
+ def attr_resource_type(self) -> builtins.str:
4693
+ '''The Lightsail resource type ( ``DiskSnapshot`` ).
4682
4694
 
4683
- @default_cache_behavior.setter
4684
- def default_cache_behavior(
4685
- self,
4686
- value: typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorProperty"],
4687
- ) -> None:
4688
- if __debug__:
4689
- type_hints = typing.get_type_hints(_typecheckingstub__60f134014dad7eff652ae9a0a8f31d075d567a38120fb79b22fc79b66ef4afbf)
4690
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4691
- jsii.set(self, "defaultCacheBehavior", value) # pyright: ignore[reportArgumentType]
4695
+ :cloudformationAttribute: ResourceType
4696
+ '''
4697
+ return typing.cast(builtins.str, jsii.get(self, "attrResourceType"))
4692
4698
 
4693
4699
  @builtins.property
4694
- @jsii.member(jsii_name="distributionName")
4695
- def distribution_name(self) -> builtins.str:
4696
- '''The name of the distribution.'''
4697
- return typing.cast(builtins.str, jsii.get(self, "distributionName"))
4700
+ @jsii.member(jsii_name="attrSizeInGb")
4701
+ def attr_size_in_gb(self) -> jsii.Number:
4702
+ '''The size of the disk in GB.
4698
4703
 
4699
- @distribution_name.setter
4700
- def distribution_name(self, value: builtins.str) -> None:
4701
- if __debug__:
4702
- type_hints = typing.get_type_hints(_typecheckingstub__3f10d8b0a845facf9cb45b4afe93f3ae69d0dab27fa56b50b7cc0e69ee5ab2f3)
4703
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4704
- jsii.set(self, "distributionName", value) # pyright: ignore[reportArgumentType]
4704
+ :cloudformationAttribute: SizeInGb
4705
+ '''
4706
+ return typing.cast(jsii.Number, jsii.get(self, "attrSizeInGb"))
4705
4707
 
4706
4708
  @builtins.property
4707
- @jsii.member(jsii_name="origin")
4708
- def origin(
4709
- self,
4710
- ) -> typing.Union[_IResolvable_da3f097b, "CfnDistribution.InputOriginProperty"]:
4711
- '''An object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer.'''
4712
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDistribution.InputOriginProperty"], jsii.get(self, "origin"))
4709
+ @jsii.member(jsii_name="attrState")
4710
+ def attr_state(self) -> builtins.str:
4711
+ '''The status of the disk snapshot operation.
4713
4712
 
4714
- @origin.setter
4715
- def origin(
4716
- self,
4717
- value: typing.Union[_IResolvable_da3f097b, "CfnDistribution.InputOriginProperty"],
4718
- ) -> None:
4713
+ :cloudformationAttribute: State
4714
+ '''
4715
+ return typing.cast(builtins.str, jsii.get(self, "attrState"))
4716
+
4717
+ @builtins.property
4718
+ @jsii.member(jsii_name="attrSupportCode")
4719
+ def attr_support_code(self) -> builtins.str:
4720
+ '''The support code.
4721
+
4722
+ Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.
4723
+
4724
+ :cloudformationAttribute: SupportCode
4725
+ '''
4726
+ return typing.cast(builtins.str, jsii.get(self, "attrSupportCode"))
4727
+
4728
+ @builtins.property
4729
+ @jsii.member(jsii_name="cdkTagManager")
4730
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
4731
+ '''Tag Manager which manages the tags for this resource.'''
4732
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
4733
+
4734
+ @builtins.property
4735
+ @jsii.member(jsii_name="cfnProperties")
4736
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4737
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4738
+
4739
+ @builtins.property
4740
+ @jsii.member(jsii_name="diskSnapshotRef")
4741
+ def disk_snapshot_ref(self) -> _DiskSnapshotReference_61ae524e:
4742
+ '''A reference to a DiskSnapshot resource.'''
4743
+ return typing.cast(_DiskSnapshotReference_61ae524e, jsii.get(self, "diskSnapshotRef"))
4744
+
4745
+ @builtins.property
4746
+ @jsii.member(jsii_name="diskName")
4747
+ def disk_name(self) -> builtins.str:
4748
+ '''The unique name of the disk.'''
4749
+ return typing.cast(builtins.str, jsii.get(self, "diskName"))
4750
+
4751
+ @disk_name.setter
4752
+ def disk_name(self, value: builtins.str) -> None:
4719
4753
  if __debug__:
4720
- type_hints = typing.get_type_hints(_typecheckingstub__7aef6fbf79a3b5e2f5250752a43b5ce48241a88650e2ca85121c71c9eff2e8db)
4754
+ type_hints = typing.get_type_hints(_typecheckingstub__861290cff23c7fe2934f1de7199f6b74624783a8bcd5b96cf38bbe3869d4b5e3)
4721
4755
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4722
- jsii.set(self, "origin", value) # pyright: ignore[reportArgumentType]
4756
+ jsii.set(self, "diskName", value) # pyright: ignore[reportArgumentType]
4723
4757
 
4724
4758
  @builtins.property
4725
- @jsii.member(jsii_name="cacheBehaviors")
4726
- def cache_behaviors(
4727
- self,
4728
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorPerPathProperty"]]]]:
4729
- '''An array of objects that describe the per-path cache behavior of the distribution.'''
4730
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorPerPathProperty"]]]], jsii.get(self, "cacheBehaviors"))
4759
+ @jsii.member(jsii_name="diskSnapshotName")
4760
+ def disk_snapshot_name(self) -> builtins.str:
4761
+ '''The name of the disk snapshot ( ``my-disk-snapshot`` ).'''
4762
+ return typing.cast(builtins.str, jsii.get(self, "diskSnapshotName"))
4731
4763
 
4732
- @cache_behaviors.setter
4733
- def cache_behaviors(
4734
- self,
4735
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorPerPathProperty"]]]],
4736
- ) -> None:
4764
+ @disk_snapshot_name.setter
4765
+ def disk_snapshot_name(self, value: builtins.str) -> None:
4737
4766
  if __debug__:
4738
- type_hints = typing.get_type_hints(_typecheckingstub__fa33d1002424823136283db85abedb68f706cfe801b8cdda97985832959b3635)
4767
+ type_hints = typing.get_type_hints(_typecheckingstub__53378ceb6c4f8b6e46e0dc66cd89c3bc1960a20639410376f56d1e5ec9cbf9eb)
4739
4768
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4740
- jsii.set(self, "cacheBehaviors", value) # pyright: ignore[reportArgumentType]
4769
+ jsii.set(self, "diskSnapshotName", value) # pyright: ignore[reportArgumentType]
4741
4770
 
4742
4771
  @builtins.property
4743
- @jsii.member(jsii_name="cacheBehaviorSettings")
4744
- def cache_behavior_settings(
4745
- self,
4746
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheSettingsProperty"]]:
4747
- '''An object that describes the cache behavior settings of the distribution.'''
4748
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheSettingsProperty"]], jsii.get(self, "cacheBehaviorSettings"))
4749
-
4750
- @cache_behavior_settings.setter
4751
- def cache_behavior_settings(
4752
- self,
4753
- value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheSettingsProperty"]],
4754
- ) -> None:
4755
- if __debug__:
4756
- type_hints = typing.get_type_hints(_typecheckingstub__760802ef8ce7a6adca268629830855308c05a61f03a8580e810b0493e8340ff0)
4757
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4758
- jsii.set(self, "cacheBehaviorSettings", value) # pyright: ignore[reportArgumentType]
4759
-
4760
- @builtins.property
4761
- @jsii.member(jsii_name="certificateName")
4762
- def certificate_name(self) -> typing.Optional[builtins.str]:
4763
- '''The name of the SSL/TLS certificate attached to the distribution.'''
4764
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "certificateName"))
4765
-
4766
- @certificate_name.setter
4767
- def certificate_name(self, value: typing.Optional[builtins.str]) -> None:
4768
- if __debug__:
4769
- type_hints = typing.get_type_hints(_typecheckingstub__1a588edb72e589002f8ed3b782d48335de6cd3b97ead472d268cbbc811d7a9aa)
4770
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4771
- jsii.set(self, "certificateName", value) # pyright: ignore[reportArgumentType]
4772
-
4773
- @builtins.property
4774
- @jsii.member(jsii_name="ipAddressType")
4775
- def ip_address_type(self) -> typing.Optional[builtins.str]:
4776
- '''The IP address type of the distribution.'''
4777
- return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAddressType"))
4778
-
4779
- @ip_address_type.setter
4780
- def ip_address_type(self, value: typing.Optional[builtins.str]) -> None:
4781
- if __debug__:
4782
- type_hints = typing.get_type_hints(_typecheckingstub__852740f08ca9ce997952eb51ce9417e48061256a758eed9e4defe320b5cb751d)
4783
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4784
- jsii.set(self, "ipAddressType", value) # pyright: ignore[reportArgumentType]
4785
-
4786
- @builtins.property
4787
- @jsii.member(jsii_name="isEnabled")
4788
- def is_enabled(
4789
- self,
4790
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4791
- '''A Boolean value indicating whether the distribution is enabled.'''
4792
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "isEnabled"))
4793
-
4794
- @is_enabled.setter
4795
- def is_enabled(
4796
- self,
4797
- value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
4798
- ) -> None:
4799
- if __debug__:
4800
- type_hints = typing.get_type_hints(_typecheckingstub__45ad4bf8bbe0e7c8404bc88c174e7fc60ea632f80e1214c05127c076aa76106d)
4801
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4802
- jsii.set(self, "isEnabled", value) # pyright: ignore[reportArgumentType]
4803
-
4804
- @builtins.property
4805
- @jsii.member(jsii_name="tagsRaw")
4806
- def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4807
- '''An array of key-value pairs to apply to this resource.'''
4808
- return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tagsRaw"))
4772
+ @jsii.member(jsii_name="tags")
4773
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4774
+ '''The tag keys and optional values for the resource.'''
4775
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
4809
4776
 
4810
- @tags_raw.setter
4811
- def tags_raw(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
4777
+ @tags.setter
4778
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
4812
4779
  if __debug__:
4813
- type_hints = typing.get_type_hints(_typecheckingstub__908b31b9ccd34cec50f1719ac43f4d386695ad72d71eff4b6177f5f0cbae1d41)
4780
+ type_hints = typing.get_type_hints(_typecheckingstub__9132cbc1b1f3a90290073917b7b4c55b2c748bfade6bc8f30bf990e4d617be32)
4814
4781
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4815
- jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
4782
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
4816
4783
 
4817
4784
  @jsii.data_type(
4818
- jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.CacheBehaviorPerPathProperty",
4785
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDiskSnapshot.LocationProperty",
4819
4786
  jsii_struct_bases=[],
4820
- name_mapping={"behavior": "behavior", "path": "path"},
4787
+ name_mapping={
4788
+ "availability_zone": "availabilityZone",
4789
+ "region_name": "regionName",
4790
+ },
4821
4791
  )
4822
- class CacheBehaviorPerPathProperty:
4792
+ class LocationProperty:
4823
4793
  def __init__(
4824
4794
  self,
4825
4795
  *,
4826
- behavior: typing.Optional[builtins.str] = None,
4827
- path: typing.Optional[builtins.str] = None,
4796
+ availability_zone: typing.Optional[builtins.str] = None,
4797
+ region_name: typing.Optional[builtins.str] = None,
4828
4798
  ) -> None:
4829
- '''``CacheBehaviorPerPath`` is a property of the `AWS::Lightsail::Distribution <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html>`_ resource. It describes the per-path cache behavior of an Amazon Lightsail content delivery network (CDN) distribution.
4830
-
4831
- Use a per-path cache behavior to override the default cache behavior of a distribution, or to add an exception to it. For example, if you set the ``CacheBehavior`` to ``cache`` , you can use a per-path cache behavior to specify a directory, file, or file type that your distribution will cache. If you don’t want your distribution to cache a specified directory, file, or file type, set the per-path cache behavior to ``dont-cache`` .
4799
+ '''The AWS Region and Availability Zone where the disk snapshot was created.
4832
4800
 
4833
- :param behavior: The cache behavior for the specified path. You can specify one of the following per-path cache behaviors: - *``cache``* - This behavior caches the specified path. - *``dont-cache``* - This behavior doesn't cache the specified path.
4834
- :param path: The path to a directory or file to cache, or not cache. Use an asterisk symbol to specify wildcard directories ( ``path/to/assets/*`` ), and file types ( ``*.html`` , ``*jpg`` , ``*js`` ). Directories and file paths are case-sensitive. Examples: - Specify the following to cache all files in the document root of an Apache web server running on a instance. ``var/www/html/`` - Specify the following file to cache only the index page in the document root of an Apache web server. ``var/www/html/index.html`` - Specify the following to cache only the .html files in the document root of an Apache web server. ``var/www/html/*.html`` - Specify the following to cache only the .jpg, .png, and .gif files in the images sub-directory of the document root of an Apache web server. ``var/www/html/images/*.jpg`` ``var/www/html/images/*.png`` ``var/www/html/images/*.gif`` Specify the following to cache all files in the images subdirectory of the document root of an Apache web server. ``var/www/html/images/``
4801
+ :param availability_zone: The Availability Zone where the disk snapshot was created.
4802
+ :param region_name: The AWS Region where the disk snapshot was created.
4835
4803
 
4836
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehaviorperpath.html
4804
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-disksnapshot-location.html
4837
4805
  :exampleMetadata: fixture=_generated
4838
4806
 
4839
4807
  Example::
@@ -4842,70 +4810,37 @@ class CfnDistribution(
4842
4810
  # The values are placeholders you should change.
4843
4811
  from aws_cdk import aws_lightsail as lightsail
4844
4812
 
4845
- cache_behavior_per_path_property = lightsail.CfnDistribution.CacheBehaviorPerPathProperty(
4846
- behavior="behavior",
4847
- path="path"
4813
+ location_property = lightsail.CfnDiskSnapshot.LocationProperty(
4814
+ availability_zone="availabilityZone",
4815
+ region_name="regionName"
4848
4816
  )
4849
4817
  '''
4850
4818
  if __debug__:
4851
- type_hints = typing.get_type_hints(_typecheckingstub__f2d974d0c55f60f6f3f06797debd277521527e8d953d07b13eb3246980e4f75d)
4852
- check_type(argname="argument behavior", value=behavior, expected_type=type_hints["behavior"])
4853
- check_type(argname="argument path", value=path, expected_type=type_hints["path"])
4819
+ type_hints = typing.get_type_hints(_typecheckingstub__fb7b13c4fd8a7881bacab9a4b8bcdc53a097639f681849e60b6f86c7094d1ddd)
4820
+ check_type(argname="argument availability_zone", value=availability_zone, expected_type=type_hints["availability_zone"])
4821
+ check_type(argname="argument region_name", value=region_name, expected_type=type_hints["region_name"])
4854
4822
  self._values: typing.Dict[builtins.str, typing.Any] = {}
4855
- if behavior is not None:
4856
- self._values["behavior"] = behavior
4857
- if path is not None:
4858
- self._values["path"] = path
4823
+ if availability_zone is not None:
4824
+ self._values["availability_zone"] = availability_zone
4825
+ if region_name is not None:
4826
+ self._values["region_name"] = region_name
4859
4827
 
4860
4828
  @builtins.property
4861
- def behavior(self) -> typing.Optional[builtins.str]:
4862
- '''The cache behavior for the specified path.
4863
-
4864
- You can specify one of the following per-path cache behaviors:
4865
-
4866
- - *``cache``* - This behavior caches the specified path.
4867
- - *``dont-cache``* - This behavior doesn't cache the specified path.
4829
+ def availability_zone(self) -> typing.Optional[builtins.str]:
4830
+ '''The Availability Zone where the disk snapshot was created.
4868
4831
 
4869
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehaviorperpath.html#cfn-lightsail-distribution-cachebehaviorperpath-behavior
4832
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-disksnapshot-location.html#cfn-lightsail-disksnapshot-location-availabilityzone
4870
4833
  '''
4871
- result = self._values.get("behavior")
4834
+ result = self._values.get("availability_zone")
4872
4835
  return typing.cast(typing.Optional[builtins.str], result)
4873
4836
 
4874
4837
  @builtins.property
4875
- def path(self) -> typing.Optional[builtins.str]:
4876
- '''The path to a directory or file to cache, or not cache.
4877
-
4878
- Use an asterisk symbol to specify wildcard directories ( ``path/to/assets/*`` ), and file types ( ``*.html`` , ``*jpg`` , ``*js`` ). Directories and file paths are case-sensitive.
4879
-
4880
- Examples:
4881
-
4882
- - Specify the following to cache all files in the document root of an Apache web server running on a instance.
4883
-
4884
- ``var/www/html/``
4885
-
4886
- - Specify the following file to cache only the index page in the document root of an Apache web server.
4887
-
4888
- ``var/www/html/index.html``
4889
-
4890
- - Specify the following to cache only the .html files in the document root of an Apache web server.
4891
-
4892
- ``var/www/html/*.html``
4893
-
4894
- - Specify the following to cache only the .jpg, .png, and .gif files in the images sub-directory of the document root of an Apache web server.
4895
-
4896
- ``var/www/html/images/*.jpg``
4897
-
4898
- ``var/www/html/images/*.png``
4899
-
4900
- ``var/www/html/images/*.gif``
4901
-
4902
- Specify the following to cache all files in the images subdirectory of the document root of an Apache web server.
4903
-
4904
- ``var/www/html/images/``
4838
+ def region_name(self) -> typing.Optional[builtins.str]:
4839
+ '''The AWS Region where the disk snapshot was created.
4905
4840
 
4906
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehaviorperpath.html#cfn-lightsail-distribution-cachebehaviorperpath-path
4841
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-disksnapshot-location.html#cfn-lightsail-disksnapshot-location-regionname
4907
4842
  '''
4908
- result = self._values.get("path")
4843
+ result = self._values.get("region_name")
4909
4844
  return typing.cast(typing.Optional[builtins.str], result)
4910
4845
 
4911
4846
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
@@ -4915,107 +4850,1014 @@ class CfnDistribution(
4915
4850
  return not (rhs == self)
4916
4851
 
4917
4852
  def __repr__(self) -> str:
4918
- return "CacheBehaviorPerPathProperty(%s)" % ", ".join(
4853
+ return "LocationProperty(%s)" % ", ".join(
4919
4854
  k + "=" + repr(v) for k, v in self._values.items()
4920
4855
  )
4921
4856
 
4922
- @jsii.data_type(
4923
- jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.CacheBehaviorProperty",
4924
- jsii_struct_bases=[],
4925
- name_mapping={"behavior": "behavior"},
4926
- )
4927
- class CacheBehaviorProperty:
4928
- def __init__(self, *, behavior: typing.Optional[builtins.str] = None) -> None:
4929
- '''``CacheBehavior`` is a property of the `AWS::Lightsail::Distribution <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html>`_ resource. It describes the default cache behavior of an Amazon Lightsail content delivery network (CDN) distribution.
4930
4857
 
4931
- :param behavior: The cache behavior of the distribution. The following cache behaviors can be specified: - *``cache``* - This option is best for static sites. When specified, your distribution caches and serves your entire website as static content. This behavior is ideal for websites with static content that doesn't change depending on who views it, or for websites that don't use cookies, headers, or query strings to personalize content. - *``dont-cache``* - This option is best for sites that serve a mix of static and dynamic content. When specified, your distribution caches and serves only the content that is specified in the distribution’s ``CacheBehaviorPerPath`` parameter. This behavior is ideal for websites or web applications that use cookies, headers, and query strings to personalize content for individual users.
4858
+ @jsii.data_type(
4859
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDiskSnapshotProps",
4860
+ jsii_struct_bases=[],
4861
+ name_mapping={
4862
+ "disk_name": "diskName",
4863
+ "disk_snapshot_name": "diskSnapshotName",
4864
+ "tags": "tags",
4865
+ },
4866
+ )
4867
+ class CfnDiskSnapshotProps:
4868
+ def __init__(
4869
+ self,
4870
+ *,
4871
+ disk_name: builtins.str,
4872
+ disk_snapshot_name: builtins.str,
4873
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4874
+ ) -> None:
4875
+ '''Properties for defining a ``CfnDiskSnapshot``.
4932
4876
 
4933
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehavior.html
4934
- :exampleMetadata: fixture=_generated
4877
+ :param disk_name: The unique name of the disk.
4878
+ :param disk_snapshot_name: The name of the disk snapshot ( ``my-disk-snapshot`` ).
4879
+ :param tags: The tag keys and optional values for the resource. For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
4935
4880
 
4936
- Example::
4881
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disksnapshot.html
4882
+ :exampleMetadata: fixture=_generated
4937
4883
 
4938
- # The code below shows an example of how to instantiate this type.
4939
- # The values are placeholders you should change.
4940
- from aws_cdk import aws_lightsail as lightsail
4941
-
4942
- cache_behavior_property = lightsail.CfnDistribution.CacheBehaviorProperty(
4943
- behavior="behavior"
4944
- )
4945
- '''
4946
- if __debug__:
4947
- type_hints = typing.get_type_hints(_typecheckingstub__f5c3a4aa024dd1b6cd4538cc52ce109aa9ade3ffeff44b9a1d33fbc5100a3c2a)
4948
- check_type(argname="argument behavior", value=behavior, expected_type=type_hints["behavior"])
4949
- self._values: typing.Dict[builtins.str, typing.Any] = {}
4950
- if behavior is not None:
4951
- self._values["behavior"] = behavior
4884
+ Example::
4952
4885
 
4953
- @builtins.property
4954
- def behavior(self) -> typing.Optional[builtins.str]:
4955
- '''The cache behavior of the distribution.
4886
+ # The code below shows an example of how to instantiate this type.
4887
+ # The values are placeholders you should change.
4888
+ from aws_cdk import aws_lightsail as lightsail
4889
+
4890
+ cfn_disk_snapshot_props = lightsail.CfnDiskSnapshotProps(
4891
+ disk_name="diskName",
4892
+ disk_snapshot_name="diskSnapshotName",
4893
+
4894
+ # the properties below are optional
4895
+ tags=[CfnTag(
4896
+ key="key",
4897
+ value="value"
4898
+ )]
4899
+ )
4900
+ '''
4901
+ if __debug__:
4902
+ type_hints = typing.get_type_hints(_typecheckingstub__582cce25c17f9f8ae3141662afacdd9a112ca28a80ce71bc1e60dbdced5f5b83)
4903
+ check_type(argname="argument disk_name", value=disk_name, expected_type=type_hints["disk_name"])
4904
+ check_type(argname="argument disk_snapshot_name", value=disk_snapshot_name, expected_type=type_hints["disk_snapshot_name"])
4905
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4906
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4907
+ "disk_name": disk_name,
4908
+ "disk_snapshot_name": disk_snapshot_name,
4909
+ }
4910
+ if tags is not None:
4911
+ self._values["tags"] = tags
4956
4912
 
4957
- The following cache behaviors can be specified:
4913
+ @builtins.property
4914
+ def disk_name(self) -> builtins.str:
4915
+ '''The unique name of the disk.
4958
4916
 
4959
- - *``cache``* - This option is best for static sites. When specified, your distribution caches and serves your entire website as static content. This behavior is ideal for websites with static content that doesn't change depending on who views it, or for websites that don't use cookies, headers, or query strings to personalize content.
4960
- - *``dont-cache``* - This option is best for sites that serve a mix of static and dynamic content. When specified, your distribution caches and serves only the content that is specified in the distribution’s ``CacheBehaviorPerPath`` parameter. This behavior is ideal for websites or web applications that use cookies, headers, and query strings to personalize content for individual users.
4917
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disksnapshot.html#cfn-lightsail-disksnapshot-diskname
4918
+ '''
4919
+ result = self._values.get("disk_name")
4920
+ assert result is not None, "Required property 'disk_name' is missing"
4921
+ return typing.cast(builtins.str, result)
4961
4922
 
4962
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehavior.html#cfn-lightsail-distribution-cachebehavior-behavior
4963
- '''
4964
- result = self._values.get("behavior")
4965
- return typing.cast(typing.Optional[builtins.str], result)
4923
+ @builtins.property
4924
+ def disk_snapshot_name(self) -> builtins.str:
4925
+ '''The name of the disk snapshot ( ``my-disk-snapshot`` ).
4966
4926
 
4967
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
4968
- return isinstance(rhs, self.__class__) and rhs._values == self._values
4927
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disksnapshot.html#cfn-lightsail-disksnapshot-disksnapshotname
4928
+ '''
4929
+ result = self._values.get("disk_snapshot_name")
4930
+ assert result is not None, "Required property 'disk_snapshot_name' is missing"
4931
+ return typing.cast(builtins.str, result)
4969
4932
 
4970
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
4971
- return not (rhs == self)
4933
+ @builtins.property
4934
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4935
+ '''The tag keys and optional values for the resource.
4972
4936
 
4973
- def __repr__(self) -> str:
4974
- return "CacheBehaviorProperty(%s)" % ", ".join(
4975
- k + "=" + repr(v) for k, v in self._values.items()
4976
- )
4937
+ For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
4977
4938
 
4978
- @jsii.data_type(
4979
- jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.CacheSettingsProperty",
4980
- jsii_struct_bases=[],
4981
- name_mapping={
4982
- "allowed_http_methods": "allowedHttpMethods",
4983
- "cached_http_methods": "cachedHttpMethods",
4984
- "default_ttl": "defaultTtl",
4985
- "forwarded_cookies": "forwardedCookies",
4986
- "forwarded_headers": "forwardedHeaders",
4987
- "forwarded_query_strings": "forwardedQueryStrings",
4939
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-disksnapshot.html#cfn-lightsail-disksnapshot-tags
4940
+ '''
4941
+ result = self._values.get("tags")
4942
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
4943
+
4944
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4945
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4946
+
4947
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4948
+ return not (rhs == self)
4949
+
4950
+ def __repr__(self) -> str:
4951
+ return "CfnDiskSnapshotProps(%s)" % ", ".join(
4952
+ k + "=" + repr(v) for k, v in self._values.items()
4953
+ )
4954
+
4955
+
4956
+ @jsii.implements(_IInspectable_c2943556, _IDistributionRef_512dbafd, _ITaggable_36806126)
4957
+ class CfnDistribution(
4958
+ _CfnResource_9df397a6,
4959
+ metaclass=jsii.JSIIMeta,
4960
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution",
4961
+ ):
4962
+ '''The ``AWS::Lightsail::Distribution`` resource specifies a content delivery network (CDN) distribution.
4963
+
4964
+ You can create distributions only in the ``us-east-1`` AWS Region.
4965
+
4966
+ A distribution is a globally distributed network of caching servers that improve the performance of your website or web application hosted on a Lightsail instance, static content hosted on a Lightsail bucket, or through a Lightsail load balancer.
4967
+
4968
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html
4969
+ :cloudformationResource: AWS::Lightsail::Distribution
4970
+ :exampleMetadata: fixture=_generated
4971
+
4972
+ Example::
4973
+
4974
+ # The code below shows an example of how to instantiate this type.
4975
+ # The values are placeholders you should change.
4976
+ from aws_cdk import aws_lightsail as lightsail
4977
+
4978
+ cfn_distribution = lightsail.CfnDistribution(self, "MyCfnDistribution",
4979
+ bundle_id="bundleId",
4980
+ default_cache_behavior=lightsail.CfnDistribution.CacheBehaviorProperty(
4981
+ behavior="behavior"
4982
+ ),
4983
+ distribution_name="distributionName",
4984
+ origin=lightsail.CfnDistribution.InputOriginProperty(
4985
+ name="name",
4986
+ protocol_policy="protocolPolicy",
4987
+ region_name="regionName"
4988
+ ),
4989
+
4990
+ # the properties below are optional
4991
+ cache_behaviors=[lightsail.CfnDistribution.CacheBehaviorPerPathProperty(
4992
+ behavior="behavior",
4993
+ path="path"
4994
+ )],
4995
+ cache_behavior_settings=lightsail.CfnDistribution.CacheSettingsProperty(
4996
+ allowed_http_methods="allowedHttpMethods",
4997
+ cached_http_methods="cachedHttpMethods",
4998
+ default_ttl=123,
4999
+ forwarded_cookies=lightsail.CfnDistribution.CookieObjectProperty(
5000
+ cookies_allow_list=["cookiesAllowList"],
5001
+ option="option"
5002
+ ),
5003
+ forwarded_headers=lightsail.CfnDistribution.HeaderObjectProperty(
5004
+ headers_allow_list=["headersAllowList"],
5005
+ option="option"
5006
+ ),
5007
+ forwarded_query_strings=lightsail.CfnDistribution.QueryStringObjectProperty(
5008
+ option=False,
5009
+ query_strings_allow_list=["queryStringsAllowList"]
5010
+ ),
5011
+ maximum_ttl=123,
5012
+ minimum_ttl=123
5013
+ ),
5014
+ certificate_name="certificateName",
5015
+ ip_address_type="ipAddressType",
5016
+ is_enabled=False,
5017
+ tags=[CfnTag(
5018
+ key="key",
5019
+ value="value"
5020
+ )]
5021
+ )
5022
+ '''
5023
+
5024
+ def __init__(
5025
+ self,
5026
+ scope: _constructs_77d1e7e8.Construct,
5027
+ id: builtins.str,
5028
+ *,
5029
+ bundle_id: builtins.str,
5030
+ default_cache_behavior: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.CacheBehaviorProperty", typing.Dict[builtins.str, typing.Any]]],
5031
+ distribution_name: builtins.str,
5032
+ origin: typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.InputOriginProperty", typing.Dict[builtins.str, typing.Any]]],
5033
+ cache_behaviors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.CacheBehaviorPerPathProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
5034
+ cache_behavior_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.CacheSettingsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5035
+ certificate_name: typing.Optional[builtins.str] = None,
5036
+ ip_address_type: typing.Optional[builtins.str] = None,
5037
+ is_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5038
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5039
+ ) -> None:
5040
+ '''Create a new ``AWS::Lightsail::Distribution``.
5041
+
5042
+ :param scope: Scope in which this resource is defined.
5043
+ :param id: Construct identifier for this resource (unique in its scope).
5044
+ :param bundle_id: The ID of the bundle applied to the distribution.
5045
+ :param default_cache_behavior: An object that describes the default cache behavior of the distribution.
5046
+ :param distribution_name: The name of the distribution.
5047
+ :param origin: An object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer. The distribution pulls, caches, and serves content from the origin.
5048
+ :param cache_behaviors: An array of objects that describe the per-path cache behavior of the distribution.
5049
+ :param cache_behavior_settings: An object that describes the cache behavior settings of the distribution.
5050
+ :param certificate_name: The name of the SSL/TLS certificate attached to the distribution.
5051
+ :param ip_address_type: The IP address type of the distribution. The possible values are ``ipv4`` for IPv4 only, and ``dualstack`` for IPv4 and IPv6.
5052
+ :param is_enabled: A Boolean value indicating whether the distribution is enabled.
5053
+ :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ in the *AWS CloudFormation User Guide* . .. epigraph:: The ``Value`` of ``Tags`` is optional for Lightsail resources.
5054
+ '''
5055
+ if __debug__:
5056
+ type_hints = typing.get_type_hints(_typecheckingstub__9482ccb96453330c51f380a8c1e2e74f0c57b789e803cc41a6d1f7dcb6be11b9)
5057
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5058
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5059
+ props = CfnDistributionProps(
5060
+ bundle_id=bundle_id,
5061
+ default_cache_behavior=default_cache_behavior,
5062
+ distribution_name=distribution_name,
5063
+ origin=origin,
5064
+ cache_behaviors=cache_behaviors,
5065
+ cache_behavior_settings=cache_behavior_settings,
5066
+ certificate_name=certificate_name,
5067
+ ip_address_type=ip_address_type,
5068
+ is_enabled=is_enabled,
5069
+ tags=tags,
5070
+ )
5071
+
5072
+ jsii.create(self.__class__, self, [scope, id, props])
5073
+
5074
+ @jsii.member(jsii_name="inspect")
5075
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
5076
+ '''Examines the CloudFormation resource and discloses attributes.
5077
+
5078
+ :param inspector: tree inspector to collect and process attributes.
5079
+ '''
5080
+ if __debug__:
5081
+ type_hints = typing.get_type_hints(_typecheckingstub__8da47e5ef6c7db02eb83fd111cd49ed93a08332c93a0f1d588cdc74356706636)
5082
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
5083
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
5084
+
5085
+ @jsii.member(jsii_name="renderProperties")
5086
+ def _render_properties(
5087
+ self,
5088
+ props: typing.Mapping[builtins.str, typing.Any],
5089
+ ) -> typing.Mapping[builtins.str, typing.Any]:
5090
+ '''
5091
+ :param props: -
5092
+ '''
5093
+ if __debug__:
5094
+ type_hints = typing.get_type_hints(_typecheckingstub__bb5945d202d9d8440df9db2cbb8008adb965c2628d41aee45553082f8a9fc477)
5095
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
5096
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
5097
+
5098
+ @jsii.python.classproperty
5099
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
5100
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
5101
+ '''The CloudFormation resource type name for this resource class.'''
5102
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
5103
+
5104
+ @builtins.property
5105
+ @jsii.member(jsii_name="attrAbleToUpdateBundle")
5106
+ def attr_able_to_update_bundle(self) -> _IResolvable_da3f097b:
5107
+ '''Indicates whether you can update the distribution’s current bundle to another bundle.
5108
+
5109
+ :cloudformationAttribute: AbleToUpdateBundle
5110
+ '''
5111
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrAbleToUpdateBundle"))
5112
+
5113
+ @builtins.property
5114
+ @jsii.member(jsii_name="attrDistributionArn")
5115
+ def attr_distribution_arn(self) -> builtins.str:
5116
+ '''The Amazon Resource Name (ARN) of the distribution.
5117
+
5118
+ :cloudformationAttribute: DistributionArn
5119
+ '''
5120
+ return typing.cast(builtins.str, jsii.get(self, "attrDistributionArn"))
5121
+
5122
+ @builtins.property
5123
+ @jsii.member(jsii_name="attrStatus")
5124
+ def attr_status(self) -> builtins.str:
5125
+ '''The status of the distribution.
5126
+
5127
+ :cloudformationAttribute: Status
5128
+ '''
5129
+ return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
5130
+
5131
+ @builtins.property
5132
+ @jsii.member(jsii_name="cfnProperties")
5133
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5134
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5135
+
5136
+ @builtins.property
5137
+ @jsii.member(jsii_name="distributionRef")
5138
+ def distribution_ref(self) -> _DistributionReference_1f46b65d:
5139
+ '''A reference to a Distribution resource.'''
5140
+ return typing.cast(_DistributionReference_1f46b65d, jsii.get(self, "distributionRef"))
5141
+
5142
+ @builtins.property
5143
+ @jsii.member(jsii_name="tags")
5144
+ def tags(self) -> _TagManager_0a598cb3:
5145
+ '''Tag Manager which manages the tags for this resource.'''
5146
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
5147
+
5148
+ @builtins.property
5149
+ @jsii.member(jsii_name="bundleId")
5150
+ def bundle_id(self) -> builtins.str:
5151
+ '''The ID of the bundle applied to the distribution.'''
5152
+ return typing.cast(builtins.str, jsii.get(self, "bundleId"))
5153
+
5154
+ @bundle_id.setter
5155
+ def bundle_id(self, value: builtins.str) -> None:
5156
+ if __debug__:
5157
+ type_hints = typing.get_type_hints(_typecheckingstub__713bb0b587b041ad1fbbf3481064d8f0e36314c4a715858754917a04e6b59834)
5158
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5159
+ jsii.set(self, "bundleId", value) # pyright: ignore[reportArgumentType]
5160
+
5161
+ @builtins.property
5162
+ @jsii.member(jsii_name="defaultCacheBehavior")
5163
+ def default_cache_behavior(
5164
+ self,
5165
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorProperty"]:
5166
+ '''An object that describes the default cache behavior of the distribution.'''
5167
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorProperty"], jsii.get(self, "defaultCacheBehavior"))
5168
+
5169
+ @default_cache_behavior.setter
5170
+ def default_cache_behavior(
5171
+ self,
5172
+ value: typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorProperty"],
5173
+ ) -> None:
5174
+ if __debug__:
5175
+ type_hints = typing.get_type_hints(_typecheckingstub__60f134014dad7eff652ae9a0a8f31d075d567a38120fb79b22fc79b66ef4afbf)
5176
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5177
+ jsii.set(self, "defaultCacheBehavior", value) # pyright: ignore[reportArgumentType]
5178
+
5179
+ @builtins.property
5180
+ @jsii.member(jsii_name="distributionName")
5181
+ def distribution_name(self) -> builtins.str:
5182
+ '''The name of the distribution.'''
5183
+ return typing.cast(builtins.str, jsii.get(self, "distributionName"))
5184
+
5185
+ @distribution_name.setter
5186
+ def distribution_name(self, value: builtins.str) -> None:
5187
+ if __debug__:
5188
+ type_hints = typing.get_type_hints(_typecheckingstub__3f10d8b0a845facf9cb45b4afe93f3ae69d0dab27fa56b50b7cc0e69ee5ab2f3)
5189
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5190
+ jsii.set(self, "distributionName", value) # pyright: ignore[reportArgumentType]
5191
+
5192
+ @builtins.property
5193
+ @jsii.member(jsii_name="origin")
5194
+ def origin(
5195
+ self,
5196
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnDistribution.InputOriginProperty"]:
5197
+ '''An object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer.'''
5198
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnDistribution.InputOriginProperty"], jsii.get(self, "origin"))
5199
+
5200
+ @origin.setter
5201
+ def origin(
5202
+ self,
5203
+ value: typing.Union[_IResolvable_da3f097b, "CfnDistribution.InputOriginProperty"],
5204
+ ) -> None:
5205
+ if __debug__:
5206
+ type_hints = typing.get_type_hints(_typecheckingstub__7aef6fbf79a3b5e2f5250752a43b5ce48241a88650e2ca85121c71c9eff2e8db)
5207
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5208
+ jsii.set(self, "origin", value) # pyright: ignore[reportArgumentType]
5209
+
5210
+ @builtins.property
5211
+ @jsii.member(jsii_name="cacheBehaviors")
5212
+ def cache_behaviors(
5213
+ self,
5214
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorPerPathProperty"]]]]:
5215
+ '''An array of objects that describe the per-path cache behavior of the distribution.'''
5216
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorPerPathProperty"]]]], jsii.get(self, "cacheBehaviors"))
5217
+
5218
+ @cache_behaviors.setter
5219
+ def cache_behaviors(
5220
+ self,
5221
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheBehaviorPerPathProperty"]]]],
5222
+ ) -> None:
5223
+ if __debug__:
5224
+ type_hints = typing.get_type_hints(_typecheckingstub__fa33d1002424823136283db85abedb68f706cfe801b8cdda97985832959b3635)
5225
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5226
+ jsii.set(self, "cacheBehaviors", value) # pyright: ignore[reportArgumentType]
5227
+
5228
+ @builtins.property
5229
+ @jsii.member(jsii_name="cacheBehaviorSettings")
5230
+ def cache_behavior_settings(
5231
+ self,
5232
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheSettingsProperty"]]:
5233
+ '''An object that describes the cache behavior settings of the distribution.'''
5234
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheSettingsProperty"]], jsii.get(self, "cacheBehaviorSettings"))
5235
+
5236
+ @cache_behavior_settings.setter
5237
+ def cache_behavior_settings(
5238
+ self,
5239
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CacheSettingsProperty"]],
5240
+ ) -> None:
5241
+ if __debug__:
5242
+ type_hints = typing.get_type_hints(_typecheckingstub__760802ef8ce7a6adca268629830855308c05a61f03a8580e810b0493e8340ff0)
5243
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5244
+ jsii.set(self, "cacheBehaviorSettings", value) # pyright: ignore[reportArgumentType]
5245
+
5246
+ @builtins.property
5247
+ @jsii.member(jsii_name="certificateName")
5248
+ def certificate_name(self) -> typing.Optional[builtins.str]:
5249
+ '''The name of the SSL/TLS certificate attached to the distribution.'''
5250
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "certificateName"))
5251
+
5252
+ @certificate_name.setter
5253
+ def certificate_name(self, value: typing.Optional[builtins.str]) -> None:
5254
+ if __debug__:
5255
+ type_hints = typing.get_type_hints(_typecheckingstub__1a588edb72e589002f8ed3b782d48335de6cd3b97ead472d268cbbc811d7a9aa)
5256
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5257
+ jsii.set(self, "certificateName", value) # pyright: ignore[reportArgumentType]
5258
+
5259
+ @builtins.property
5260
+ @jsii.member(jsii_name="ipAddressType")
5261
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
5262
+ '''The IP address type of the distribution.'''
5263
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAddressType"))
5264
+
5265
+ @ip_address_type.setter
5266
+ def ip_address_type(self, value: typing.Optional[builtins.str]) -> None:
5267
+ if __debug__:
5268
+ type_hints = typing.get_type_hints(_typecheckingstub__852740f08ca9ce997952eb51ce9417e48061256a758eed9e4defe320b5cb751d)
5269
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5270
+ jsii.set(self, "ipAddressType", value) # pyright: ignore[reportArgumentType]
5271
+
5272
+ @builtins.property
5273
+ @jsii.member(jsii_name="isEnabled")
5274
+ def is_enabled(
5275
+ self,
5276
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
5277
+ '''A Boolean value indicating whether the distribution is enabled.'''
5278
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "isEnabled"))
5279
+
5280
+ @is_enabled.setter
5281
+ def is_enabled(
5282
+ self,
5283
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
5284
+ ) -> None:
5285
+ if __debug__:
5286
+ type_hints = typing.get_type_hints(_typecheckingstub__45ad4bf8bbe0e7c8404bc88c174e7fc60ea632f80e1214c05127c076aa76106d)
5287
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5288
+ jsii.set(self, "isEnabled", value) # pyright: ignore[reportArgumentType]
5289
+
5290
+ @builtins.property
5291
+ @jsii.member(jsii_name="tagsRaw")
5292
+ def tags_raw(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
5293
+ '''An array of key-value pairs to apply to this resource.'''
5294
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tagsRaw"))
5295
+
5296
+ @tags_raw.setter
5297
+ def tags_raw(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
5298
+ if __debug__:
5299
+ type_hints = typing.get_type_hints(_typecheckingstub__908b31b9ccd34cec50f1719ac43f4d386695ad72d71eff4b6177f5f0cbae1d41)
5300
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5301
+ jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
5302
+
5303
+ @jsii.data_type(
5304
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.CacheBehaviorPerPathProperty",
5305
+ jsii_struct_bases=[],
5306
+ name_mapping={"behavior": "behavior", "path": "path"},
5307
+ )
5308
+ class CacheBehaviorPerPathProperty:
5309
+ def __init__(
5310
+ self,
5311
+ *,
5312
+ behavior: typing.Optional[builtins.str] = None,
5313
+ path: typing.Optional[builtins.str] = None,
5314
+ ) -> None:
5315
+ '''``CacheBehaviorPerPath`` is a property of the `AWS::Lightsail::Distribution <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html>`_ resource. It describes the per-path cache behavior of an Amazon Lightsail content delivery network (CDN) distribution.
5316
+
5317
+ Use a per-path cache behavior to override the default cache behavior of a distribution, or to add an exception to it. For example, if you set the ``CacheBehavior`` to ``cache`` , you can use a per-path cache behavior to specify a directory, file, or file type that your distribution will cache. If you don’t want your distribution to cache a specified directory, file, or file type, set the per-path cache behavior to ``dont-cache`` .
5318
+
5319
+ :param behavior: The cache behavior for the specified path. You can specify one of the following per-path cache behaviors: - *``cache``* - This behavior caches the specified path. - *``dont-cache``* - This behavior doesn't cache the specified path.
5320
+ :param path: The path to a directory or file to cache, or not cache. Use an asterisk symbol to specify wildcard directories ( ``path/to/assets/*`` ), and file types ( ``*.html`` , ``*jpg`` , ``*js`` ). Directories and file paths are case-sensitive. Examples: - Specify the following to cache all files in the document root of an Apache web server running on a instance. ``var/www/html/`` - Specify the following file to cache only the index page in the document root of an Apache web server. ``var/www/html/index.html`` - Specify the following to cache only the .html files in the document root of an Apache web server. ``var/www/html/*.html`` - Specify the following to cache only the .jpg, .png, and .gif files in the images sub-directory of the document root of an Apache web server. ``var/www/html/images/*.jpg`` ``var/www/html/images/*.png`` ``var/www/html/images/*.gif`` Specify the following to cache all files in the images subdirectory of the document root of an Apache web server. ``var/www/html/images/``
5321
+
5322
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehaviorperpath.html
5323
+ :exampleMetadata: fixture=_generated
5324
+
5325
+ Example::
5326
+
5327
+ # The code below shows an example of how to instantiate this type.
5328
+ # The values are placeholders you should change.
5329
+ from aws_cdk import aws_lightsail as lightsail
5330
+
5331
+ cache_behavior_per_path_property = lightsail.CfnDistribution.CacheBehaviorPerPathProperty(
5332
+ behavior="behavior",
5333
+ path="path"
5334
+ )
5335
+ '''
5336
+ if __debug__:
5337
+ type_hints = typing.get_type_hints(_typecheckingstub__f2d974d0c55f60f6f3f06797debd277521527e8d953d07b13eb3246980e4f75d)
5338
+ check_type(argname="argument behavior", value=behavior, expected_type=type_hints["behavior"])
5339
+ check_type(argname="argument path", value=path, expected_type=type_hints["path"])
5340
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5341
+ if behavior is not None:
5342
+ self._values["behavior"] = behavior
5343
+ if path is not None:
5344
+ self._values["path"] = path
5345
+
5346
+ @builtins.property
5347
+ def behavior(self) -> typing.Optional[builtins.str]:
5348
+ '''The cache behavior for the specified path.
5349
+
5350
+ You can specify one of the following per-path cache behaviors:
5351
+
5352
+ - *``cache``* - This behavior caches the specified path.
5353
+ - *``dont-cache``* - This behavior doesn't cache the specified path.
5354
+
5355
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehaviorperpath.html#cfn-lightsail-distribution-cachebehaviorperpath-behavior
5356
+ '''
5357
+ result = self._values.get("behavior")
5358
+ return typing.cast(typing.Optional[builtins.str], result)
5359
+
5360
+ @builtins.property
5361
+ def path(self) -> typing.Optional[builtins.str]:
5362
+ '''The path to a directory or file to cache, or not cache.
5363
+
5364
+ Use an asterisk symbol to specify wildcard directories ( ``path/to/assets/*`` ), and file types ( ``*.html`` , ``*jpg`` , ``*js`` ). Directories and file paths are case-sensitive.
5365
+
5366
+ Examples:
5367
+
5368
+ - Specify the following to cache all files in the document root of an Apache web server running on a instance.
5369
+
5370
+ ``var/www/html/``
5371
+
5372
+ - Specify the following file to cache only the index page in the document root of an Apache web server.
5373
+
5374
+ ``var/www/html/index.html``
5375
+
5376
+ - Specify the following to cache only the .html files in the document root of an Apache web server.
5377
+
5378
+ ``var/www/html/*.html``
5379
+
5380
+ - Specify the following to cache only the .jpg, .png, and .gif files in the images sub-directory of the document root of an Apache web server.
5381
+
5382
+ ``var/www/html/images/*.jpg``
5383
+
5384
+ ``var/www/html/images/*.png``
5385
+
5386
+ ``var/www/html/images/*.gif``
5387
+
5388
+ Specify the following to cache all files in the images subdirectory of the document root of an Apache web server.
5389
+
5390
+ ``var/www/html/images/``
5391
+
5392
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehaviorperpath.html#cfn-lightsail-distribution-cachebehaviorperpath-path
5393
+ '''
5394
+ result = self._values.get("path")
5395
+ return typing.cast(typing.Optional[builtins.str], result)
5396
+
5397
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5398
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5399
+
5400
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5401
+ return not (rhs == self)
5402
+
5403
+ def __repr__(self) -> str:
5404
+ return "CacheBehaviorPerPathProperty(%s)" % ", ".join(
5405
+ k + "=" + repr(v) for k, v in self._values.items()
5406
+ )
5407
+
5408
+ @jsii.data_type(
5409
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.CacheBehaviorProperty",
5410
+ jsii_struct_bases=[],
5411
+ name_mapping={"behavior": "behavior"},
5412
+ )
5413
+ class CacheBehaviorProperty:
5414
+ def __init__(self, *, behavior: typing.Optional[builtins.str] = None) -> None:
5415
+ '''``CacheBehavior`` is a property of the `AWS::Lightsail::Distribution <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html>`_ resource. It describes the default cache behavior of an Amazon Lightsail content delivery network (CDN) distribution.
5416
+
5417
+ :param behavior: The cache behavior of the distribution. The following cache behaviors can be specified: - *``cache``* - This option is best for static sites. When specified, your distribution caches and serves your entire website as static content. This behavior is ideal for websites with static content that doesn't change depending on who views it, or for websites that don't use cookies, headers, or query strings to personalize content. - *``dont-cache``* - This option is best for sites that serve a mix of static and dynamic content. When specified, your distribution caches and serves only the content that is specified in the distribution’s ``CacheBehaviorPerPath`` parameter. This behavior is ideal for websites or web applications that use cookies, headers, and query strings to personalize content for individual users.
5418
+
5419
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehavior.html
5420
+ :exampleMetadata: fixture=_generated
5421
+
5422
+ Example::
5423
+
5424
+ # The code below shows an example of how to instantiate this type.
5425
+ # The values are placeholders you should change.
5426
+ from aws_cdk import aws_lightsail as lightsail
5427
+
5428
+ cache_behavior_property = lightsail.CfnDistribution.CacheBehaviorProperty(
5429
+ behavior="behavior"
5430
+ )
5431
+ '''
5432
+ if __debug__:
5433
+ type_hints = typing.get_type_hints(_typecheckingstub__f5c3a4aa024dd1b6cd4538cc52ce109aa9ade3ffeff44b9a1d33fbc5100a3c2a)
5434
+ check_type(argname="argument behavior", value=behavior, expected_type=type_hints["behavior"])
5435
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5436
+ if behavior is not None:
5437
+ self._values["behavior"] = behavior
5438
+
5439
+ @builtins.property
5440
+ def behavior(self) -> typing.Optional[builtins.str]:
5441
+ '''The cache behavior of the distribution.
5442
+
5443
+ The following cache behaviors can be specified:
5444
+
5445
+ - *``cache``* - This option is best for static sites. When specified, your distribution caches and serves your entire website as static content. This behavior is ideal for websites with static content that doesn't change depending on who views it, or for websites that don't use cookies, headers, or query strings to personalize content.
5446
+ - *``dont-cache``* - This option is best for sites that serve a mix of static and dynamic content. When specified, your distribution caches and serves only the content that is specified in the distribution’s ``CacheBehaviorPerPath`` parameter. This behavior is ideal for websites or web applications that use cookies, headers, and query strings to personalize content for individual users.
5447
+
5448
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachebehavior.html#cfn-lightsail-distribution-cachebehavior-behavior
5449
+ '''
5450
+ result = self._values.get("behavior")
5451
+ return typing.cast(typing.Optional[builtins.str], result)
5452
+
5453
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5454
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5455
+
5456
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5457
+ return not (rhs == self)
5458
+
5459
+ def __repr__(self) -> str:
5460
+ return "CacheBehaviorProperty(%s)" % ", ".join(
5461
+ k + "=" + repr(v) for k, v in self._values.items()
5462
+ )
5463
+
5464
+ @jsii.data_type(
5465
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.CacheSettingsProperty",
5466
+ jsii_struct_bases=[],
5467
+ name_mapping={
5468
+ "allowed_http_methods": "allowedHttpMethods",
5469
+ "cached_http_methods": "cachedHttpMethods",
5470
+ "default_ttl": "defaultTtl",
5471
+ "forwarded_cookies": "forwardedCookies",
5472
+ "forwarded_headers": "forwardedHeaders",
5473
+ "forwarded_query_strings": "forwardedQueryStrings",
4988
5474
  "maximum_ttl": "maximumTtl",
4989
5475
  "minimum_ttl": "minimumTtl",
4990
5476
  },
4991
5477
  )
4992
- class CacheSettingsProperty:
5478
+ class CacheSettingsProperty:
5479
+ def __init__(
5480
+ self,
5481
+ *,
5482
+ allowed_http_methods: typing.Optional[builtins.str] = None,
5483
+ cached_http_methods: typing.Optional[builtins.str] = None,
5484
+ default_ttl: typing.Optional[jsii.Number] = None,
5485
+ forwarded_cookies: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.CookieObjectProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5486
+ forwarded_headers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.HeaderObjectProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5487
+ forwarded_query_strings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.QueryStringObjectProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5488
+ maximum_ttl: typing.Optional[jsii.Number] = None,
5489
+ minimum_ttl: typing.Optional[jsii.Number] = None,
5490
+ ) -> None:
5491
+ '''``CacheSettings`` is a property of the `AWS::Lightsail::Distribution <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html>`_ resource. It describes the cache settings of an Amazon Lightsail content delivery network (CDN) distribution.
5492
+
5493
+ These settings apply only to your distribution’s ``CacheBehaviors`` that have a ``Behavior`` of ``cache`` . This includes the ``DefaultCacheBehavior`` .
5494
+
5495
+ :param allowed_http_methods: The HTTP methods that are processed and forwarded to the distribution's origin. You can specify the following options: - ``GET,HEAD`` - The distribution forwards the ``GET`` and ``HEAD`` methods. - ``GET,HEAD,OPTIONS`` - The distribution forwards the ``GET`` , ``HEAD`` , and ``OPTIONS`` methods. - ``GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE`` - The distribution forwards the ``GET`` , ``HEAD`` , ``OPTIONS`` , ``PUT`` , ``PATCH`` , ``POST`` , and ``DELETE`` methods. If you specify ``GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE`` , you might need to restrict access to your distribution's origin so users can't perform operations that you don't want them to. For example, you might not want users to have permission to delete objects from your origin.
5496
+ :param cached_http_methods: The HTTP method responses that are cached by your distribution. You can specify the following options: - ``GET,HEAD`` - The distribution caches responses to the ``GET`` and ``HEAD`` methods. - ``GET,HEAD,OPTIONS`` - The distribution caches responses to the ``GET`` , ``HEAD`` , and ``OPTIONS`` methods.
5497
+ :param default_ttl: The default amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the content has been updated. .. epigraph:: The value specified applies only when the origin does not add HTTP headers such as ``Cache-Control max-age`` , ``Cache-Control s-maxage`` , and ``Expires`` to objects.
5498
+ :param forwarded_cookies: An object that describes the cookies that are forwarded to the origin. Your content is cached based on the cookies that are forwarded.
5499
+ :param forwarded_headers: An object that describes the headers that are forwarded to the origin. Your content is cached based on the headers that are forwarded.
5500
+ :param forwarded_query_strings: An object that describes the query strings that are forwarded to the origin. Your content is cached based on the query strings that are forwarded.
5501
+ :param maximum_ttl: The maximum amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the object has been updated. The value specified applies only when the origin adds HTTP headers such as ``Cache-Control max-age`` , ``Cache-Control s-maxage`` , and ``Expires`` to objects.
5502
+ :param minimum_ttl: The minimum amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the object has been updated. A value of ``0`` must be specified for ``minimumTTL`` if the distribution is configured to forward all headers to the origin.
5503
+
5504
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html
5505
+ :exampleMetadata: fixture=_generated
5506
+
5507
+ Example::
5508
+
5509
+ # The code below shows an example of how to instantiate this type.
5510
+ # The values are placeholders you should change.
5511
+ from aws_cdk import aws_lightsail as lightsail
5512
+
5513
+ cache_settings_property = lightsail.CfnDistribution.CacheSettingsProperty(
5514
+ allowed_http_methods="allowedHttpMethods",
5515
+ cached_http_methods="cachedHttpMethods",
5516
+ default_ttl=123,
5517
+ forwarded_cookies=lightsail.CfnDistribution.CookieObjectProperty(
5518
+ cookies_allow_list=["cookiesAllowList"],
5519
+ option="option"
5520
+ ),
5521
+ forwarded_headers=lightsail.CfnDistribution.HeaderObjectProperty(
5522
+ headers_allow_list=["headersAllowList"],
5523
+ option="option"
5524
+ ),
5525
+ forwarded_query_strings=lightsail.CfnDistribution.QueryStringObjectProperty(
5526
+ option=False,
5527
+ query_strings_allow_list=["queryStringsAllowList"]
5528
+ ),
5529
+ maximum_ttl=123,
5530
+ minimum_ttl=123
5531
+ )
5532
+ '''
5533
+ if __debug__:
5534
+ type_hints = typing.get_type_hints(_typecheckingstub__71273d747070fd305155aa796ba791770952e4398259d9319417dfa9ca649969)
5535
+ check_type(argname="argument allowed_http_methods", value=allowed_http_methods, expected_type=type_hints["allowed_http_methods"])
5536
+ check_type(argname="argument cached_http_methods", value=cached_http_methods, expected_type=type_hints["cached_http_methods"])
5537
+ check_type(argname="argument default_ttl", value=default_ttl, expected_type=type_hints["default_ttl"])
5538
+ check_type(argname="argument forwarded_cookies", value=forwarded_cookies, expected_type=type_hints["forwarded_cookies"])
5539
+ check_type(argname="argument forwarded_headers", value=forwarded_headers, expected_type=type_hints["forwarded_headers"])
5540
+ check_type(argname="argument forwarded_query_strings", value=forwarded_query_strings, expected_type=type_hints["forwarded_query_strings"])
5541
+ check_type(argname="argument maximum_ttl", value=maximum_ttl, expected_type=type_hints["maximum_ttl"])
5542
+ check_type(argname="argument minimum_ttl", value=minimum_ttl, expected_type=type_hints["minimum_ttl"])
5543
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5544
+ if allowed_http_methods is not None:
5545
+ self._values["allowed_http_methods"] = allowed_http_methods
5546
+ if cached_http_methods is not None:
5547
+ self._values["cached_http_methods"] = cached_http_methods
5548
+ if default_ttl is not None:
5549
+ self._values["default_ttl"] = default_ttl
5550
+ if forwarded_cookies is not None:
5551
+ self._values["forwarded_cookies"] = forwarded_cookies
5552
+ if forwarded_headers is not None:
5553
+ self._values["forwarded_headers"] = forwarded_headers
5554
+ if forwarded_query_strings is not None:
5555
+ self._values["forwarded_query_strings"] = forwarded_query_strings
5556
+ if maximum_ttl is not None:
5557
+ self._values["maximum_ttl"] = maximum_ttl
5558
+ if minimum_ttl is not None:
5559
+ self._values["minimum_ttl"] = minimum_ttl
5560
+
5561
+ @builtins.property
5562
+ def allowed_http_methods(self) -> typing.Optional[builtins.str]:
5563
+ '''The HTTP methods that are processed and forwarded to the distribution's origin.
5564
+
5565
+ You can specify the following options:
5566
+
5567
+ - ``GET,HEAD`` - The distribution forwards the ``GET`` and ``HEAD`` methods.
5568
+ - ``GET,HEAD,OPTIONS`` - The distribution forwards the ``GET`` , ``HEAD`` , and ``OPTIONS`` methods.
5569
+ - ``GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE`` - The distribution forwards the ``GET`` , ``HEAD`` , ``OPTIONS`` , ``PUT`` , ``PATCH`` , ``POST`` , and ``DELETE`` methods.
5570
+
5571
+ If you specify ``GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE`` , you might need to restrict access to your distribution's origin so users can't perform operations that you don't want them to. For example, you might not want users to have permission to delete objects from your origin.
5572
+
5573
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-allowedhttpmethods
5574
+ '''
5575
+ result = self._values.get("allowed_http_methods")
5576
+ return typing.cast(typing.Optional[builtins.str], result)
5577
+
5578
+ @builtins.property
5579
+ def cached_http_methods(self) -> typing.Optional[builtins.str]:
5580
+ '''The HTTP method responses that are cached by your distribution.
5581
+
5582
+ You can specify the following options:
5583
+
5584
+ - ``GET,HEAD`` - The distribution caches responses to the ``GET`` and ``HEAD`` methods.
5585
+ - ``GET,HEAD,OPTIONS`` - The distribution caches responses to the ``GET`` , ``HEAD`` , and ``OPTIONS`` methods.
5586
+
5587
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-cachedhttpmethods
5588
+ '''
5589
+ result = self._values.get("cached_http_methods")
5590
+ return typing.cast(typing.Optional[builtins.str], result)
5591
+
5592
+ @builtins.property
5593
+ def default_ttl(self) -> typing.Optional[jsii.Number]:
5594
+ '''The default amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the content has been updated.
5595
+
5596
+ .. epigraph::
5597
+
5598
+ The value specified applies only when the origin does not add HTTP headers such as ``Cache-Control max-age`` , ``Cache-Control s-maxage`` , and ``Expires`` to objects.
5599
+
5600
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-defaultttl
5601
+ '''
5602
+ result = self._values.get("default_ttl")
5603
+ return typing.cast(typing.Optional[jsii.Number], result)
5604
+
5605
+ @builtins.property
5606
+ def forwarded_cookies(
5607
+ self,
5608
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CookieObjectProperty"]]:
5609
+ '''An object that describes the cookies that are forwarded to the origin.
5610
+
5611
+ Your content is cached based on the cookies that are forwarded.
5612
+
5613
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-forwardedcookies
5614
+ '''
5615
+ result = self._values.get("forwarded_cookies")
5616
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CookieObjectProperty"]], result)
5617
+
5618
+ @builtins.property
5619
+ def forwarded_headers(
5620
+ self,
5621
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.HeaderObjectProperty"]]:
5622
+ '''An object that describes the headers that are forwarded to the origin.
5623
+
5624
+ Your content is cached based on the headers that are forwarded.
5625
+
5626
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-forwardedheaders
5627
+ '''
5628
+ result = self._values.get("forwarded_headers")
5629
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.HeaderObjectProperty"]], result)
5630
+
5631
+ @builtins.property
5632
+ def forwarded_query_strings(
5633
+ self,
5634
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.QueryStringObjectProperty"]]:
5635
+ '''An object that describes the query strings that are forwarded to the origin.
5636
+
5637
+ Your content is cached based on the query strings that are forwarded.
5638
+
5639
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-forwardedquerystrings
5640
+ '''
5641
+ result = self._values.get("forwarded_query_strings")
5642
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.QueryStringObjectProperty"]], result)
5643
+
5644
+ @builtins.property
5645
+ def maximum_ttl(self) -> typing.Optional[jsii.Number]:
5646
+ '''The maximum amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the object has been updated.
5647
+
5648
+ The value specified applies only when the origin adds HTTP headers such as ``Cache-Control max-age`` , ``Cache-Control s-maxage`` , and ``Expires`` to objects.
5649
+
5650
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-maximumttl
5651
+ '''
5652
+ result = self._values.get("maximum_ttl")
5653
+ return typing.cast(typing.Optional[jsii.Number], result)
5654
+
5655
+ @builtins.property
5656
+ def minimum_ttl(self) -> typing.Optional[jsii.Number]:
5657
+ '''The minimum amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the object has been updated.
5658
+
5659
+ A value of ``0`` must be specified for ``minimumTTL`` if the distribution is configured to forward all headers to the origin.
5660
+
5661
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-minimumttl
5662
+ '''
5663
+ result = self._values.get("minimum_ttl")
5664
+ return typing.cast(typing.Optional[jsii.Number], result)
5665
+
5666
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5667
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5668
+
5669
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5670
+ return not (rhs == self)
5671
+
5672
+ def __repr__(self) -> str:
5673
+ return "CacheSettingsProperty(%s)" % ", ".join(
5674
+ k + "=" + repr(v) for k, v in self._values.items()
5675
+ )
5676
+
5677
+ @jsii.data_type(
5678
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.CookieObjectProperty",
5679
+ jsii_struct_bases=[],
5680
+ name_mapping={"cookies_allow_list": "cookiesAllowList", "option": "option"},
5681
+ )
5682
+ class CookieObjectProperty:
5683
+ def __init__(
5684
+ self,
5685
+ *,
5686
+ cookies_allow_list: typing.Optional[typing.Sequence[builtins.str]] = None,
5687
+ option: typing.Optional[builtins.str] = None,
5688
+ ) -> None:
5689
+ '''``CookieObject`` is a property of the `CacheSettings <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html>`_ property. It describes whether an Amazon Lightsail content delivery network (CDN) distribution forwards cookies to the origin and, if so, which ones.
5690
+
5691
+ For the cookies that you specify, your distribution caches separate versions of the specified content based on the cookie values in viewer requests.
5692
+
5693
+ :param cookies_allow_list: The specific cookies to forward to your distribution's origin.
5694
+ :param option: Specifies which cookies to forward to the distribution's origin for a cache behavior. Use one of the following configurations for your distribution: - *``all``* - Forwards all cookies to your origin. - *``none``* - Doesn’t forward cookies to your origin. - *``allow-list``* - Forwards only the cookies that you specify using the ``CookiesAllowList`` parameter.
5695
+
5696
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cookieobject.html
5697
+ :exampleMetadata: fixture=_generated
5698
+
5699
+ Example::
5700
+
5701
+ # The code below shows an example of how to instantiate this type.
5702
+ # The values are placeholders you should change.
5703
+ from aws_cdk import aws_lightsail as lightsail
5704
+
5705
+ cookie_object_property = lightsail.CfnDistribution.CookieObjectProperty(
5706
+ cookies_allow_list=["cookiesAllowList"],
5707
+ option="option"
5708
+ )
5709
+ '''
5710
+ if __debug__:
5711
+ type_hints = typing.get_type_hints(_typecheckingstub__d58452d36b0308e6ce28a9b550fe3fce77b87aaad440feefc51f83755937f137)
5712
+ check_type(argname="argument cookies_allow_list", value=cookies_allow_list, expected_type=type_hints["cookies_allow_list"])
5713
+ check_type(argname="argument option", value=option, expected_type=type_hints["option"])
5714
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5715
+ if cookies_allow_list is not None:
5716
+ self._values["cookies_allow_list"] = cookies_allow_list
5717
+ if option is not None:
5718
+ self._values["option"] = option
5719
+
5720
+ @builtins.property
5721
+ def cookies_allow_list(self) -> typing.Optional[typing.List[builtins.str]]:
5722
+ '''The specific cookies to forward to your distribution's origin.
5723
+
5724
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cookieobject.html#cfn-lightsail-distribution-cookieobject-cookiesallowlist
5725
+ '''
5726
+ result = self._values.get("cookies_allow_list")
5727
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
5728
+
5729
+ @builtins.property
5730
+ def option(self) -> typing.Optional[builtins.str]:
5731
+ '''Specifies which cookies to forward to the distribution's origin for a cache behavior.
5732
+
5733
+ Use one of the following configurations for your distribution:
5734
+
5735
+ - *``all``* - Forwards all cookies to your origin.
5736
+ - *``none``* - Doesn’t forward cookies to your origin.
5737
+ - *``allow-list``* - Forwards only the cookies that you specify using the ``CookiesAllowList`` parameter.
5738
+
5739
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cookieobject.html#cfn-lightsail-distribution-cookieobject-option
5740
+ '''
5741
+ result = self._values.get("option")
5742
+ return typing.cast(typing.Optional[builtins.str], result)
5743
+
5744
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5745
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5746
+
5747
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5748
+ return not (rhs == self)
5749
+
5750
+ def __repr__(self) -> str:
5751
+ return "CookieObjectProperty(%s)" % ", ".join(
5752
+ k + "=" + repr(v) for k, v in self._values.items()
5753
+ )
5754
+
5755
+ @jsii.data_type(
5756
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.HeaderObjectProperty",
5757
+ jsii_struct_bases=[],
5758
+ name_mapping={"headers_allow_list": "headersAllowList", "option": "option"},
5759
+ )
5760
+ class HeaderObjectProperty:
5761
+ def __init__(
5762
+ self,
5763
+ *,
5764
+ headers_allow_list: typing.Optional[typing.Sequence[builtins.str]] = None,
5765
+ option: typing.Optional[builtins.str] = None,
5766
+ ) -> None:
5767
+ '''``HeaderObject`` is a property of the `CacheSettings <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html>`_ property. It describes the request headers used by your distribution, which caches your content based on the request headers.
5768
+
5769
+ For the headers that you specify, your distribution caches separate versions of the specified content based on the header values in viewer requests. For example, suppose that viewer requests for logo.jpg contain a custom product header that has a value of either acme or apex. Also, suppose that you configure your distribution to cache your content based on values in the product header. Your distribution forwards the product header to the origin and caches the response from the origin once for each header value.
5770
+
5771
+ :param headers_allow_list: The specific headers to forward to your distribution's origin.
5772
+ :param option: The headers that you want your distribution to forward to your origin. Your distribution caches your content based on these headers. Use one of the following configurations for your distribution: - *``all``* - Forwards all headers to your origin.. - *``none``* - Forwards only the default headers. - *``allow-list``* - Forwards only the headers that you specify using the ``HeadersAllowList`` parameter.
5773
+
5774
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-headerobject.html
5775
+ :exampleMetadata: fixture=_generated
5776
+
5777
+ Example::
5778
+
5779
+ # The code below shows an example of how to instantiate this type.
5780
+ # The values are placeholders you should change.
5781
+ from aws_cdk import aws_lightsail as lightsail
5782
+
5783
+ header_object_property = lightsail.CfnDistribution.HeaderObjectProperty(
5784
+ headers_allow_list=["headersAllowList"],
5785
+ option="option"
5786
+ )
5787
+ '''
5788
+ if __debug__:
5789
+ type_hints = typing.get_type_hints(_typecheckingstub__e8800c7d1a30fcdf0e75dfd3650ad86e4223cdabbe6df507c54628133a0c1fc2)
5790
+ check_type(argname="argument headers_allow_list", value=headers_allow_list, expected_type=type_hints["headers_allow_list"])
5791
+ check_type(argname="argument option", value=option, expected_type=type_hints["option"])
5792
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5793
+ if headers_allow_list is not None:
5794
+ self._values["headers_allow_list"] = headers_allow_list
5795
+ if option is not None:
5796
+ self._values["option"] = option
5797
+
5798
+ @builtins.property
5799
+ def headers_allow_list(self) -> typing.Optional[typing.List[builtins.str]]:
5800
+ '''The specific headers to forward to your distribution's origin.
5801
+
5802
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-headerobject.html#cfn-lightsail-distribution-headerobject-headersallowlist
5803
+ '''
5804
+ result = self._values.get("headers_allow_list")
5805
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
5806
+
5807
+ @builtins.property
5808
+ def option(self) -> typing.Optional[builtins.str]:
5809
+ '''The headers that you want your distribution to forward to your origin.
5810
+
5811
+ Your distribution caches your content based on these headers.
5812
+
5813
+ Use one of the following configurations for your distribution:
5814
+
5815
+ - *``all``* - Forwards all headers to your origin..
5816
+ - *``none``* - Forwards only the default headers.
5817
+ - *``allow-list``* - Forwards only the headers that you specify using the ``HeadersAllowList`` parameter.
5818
+
5819
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-headerobject.html#cfn-lightsail-distribution-headerobject-option
5820
+ '''
5821
+ result = self._values.get("option")
5822
+ return typing.cast(typing.Optional[builtins.str], result)
5823
+
5824
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5825
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5826
+
5827
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5828
+ return not (rhs == self)
5829
+
5830
+ def __repr__(self) -> str:
5831
+ return "HeaderObjectProperty(%s)" % ", ".join(
5832
+ k + "=" + repr(v) for k, v in self._values.items()
5833
+ )
5834
+
5835
+ @jsii.data_type(
5836
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.InputOriginProperty",
5837
+ jsii_struct_bases=[],
5838
+ name_mapping={
5839
+ "name": "name",
5840
+ "protocol_policy": "protocolPolicy",
5841
+ "region_name": "regionName",
5842
+ },
5843
+ )
5844
+ class InputOriginProperty:
4993
5845
  def __init__(
4994
5846
  self,
4995
5847
  *,
4996
- allowed_http_methods: typing.Optional[builtins.str] = None,
4997
- cached_http_methods: typing.Optional[builtins.str] = None,
4998
- default_ttl: typing.Optional[jsii.Number] = None,
4999
- forwarded_cookies: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.CookieObjectProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5000
- forwarded_headers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.HeaderObjectProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5001
- forwarded_query_strings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDistribution.QueryStringObjectProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5002
- maximum_ttl: typing.Optional[jsii.Number] = None,
5003
- minimum_ttl: typing.Optional[jsii.Number] = None,
5848
+ name: typing.Optional[builtins.str] = None,
5849
+ protocol_policy: typing.Optional[builtins.str] = None,
5850
+ region_name: typing.Optional[builtins.str] = None,
5004
5851
  ) -> None:
5005
- '''``CacheSettings`` is a property of the `AWS::Lightsail::Distribution <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html>`_ resource. It describes the cache settings of an Amazon Lightsail content delivery network (CDN) distribution.
5852
+ '''``InputOrigin`` is a property of the `AWS::Lightsail::Distribution <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html>`_ resource. It describes the origin resource of an Amazon Lightsail content delivery network (CDN) distribution.
5006
5853
 
5007
- These settings apply only to your distribution’s ``CacheBehaviors`` that have a ``Behavior`` of ``cache`` . This includes the ``DefaultCacheBehavior`` .
5854
+ An origin can be a instance, bucket, or load balancer. A distribution pulls content from an origin, caches it, and serves it to viewers through a worldwide network of edge servers.
5008
5855
 
5009
- :param allowed_http_methods: The HTTP methods that are processed and forwarded to the distribution's origin. You can specify the following options: - ``GET,HEAD`` - The distribution forwards the ``GET`` and ``HEAD`` methods. - ``GET,HEAD,OPTIONS`` - The distribution forwards the ``GET`` , ``HEAD`` , and ``OPTIONS`` methods. - ``GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE`` - The distribution forwards the ``GET`` , ``HEAD`` , ``OPTIONS`` , ``PUT`` , ``PATCH`` , ``POST`` , and ``DELETE`` methods. If you specify ``GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE`` , you might need to restrict access to your distribution's origin so users can't perform operations that you don't want them to. For example, you might not want users to have permission to delete objects from your origin.
5010
- :param cached_http_methods: The HTTP method responses that are cached by your distribution. You can specify the following options: - ``GET,HEAD`` - The distribution caches responses to the ``GET`` and ``HEAD`` methods. - ``GET,HEAD,OPTIONS`` - The distribution caches responses to the ``GET`` , ``HEAD`` , and ``OPTIONS`` methods.
5011
- :param default_ttl: The default amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the content has been updated. .. epigraph:: The value specified applies only when the origin does not add HTTP headers such as ``Cache-Control max-age`` , ``Cache-Control s-maxage`` , and ``Expires`` to objects.
5012
- :param forwarded_cookies: An object that describes the cookies that are forwarded to the origin. Your content is cached based on the cookies that are forwarded.
5013
- :param forwarded_headers: An object that describes the headers that are forwarded to the origin. Your content is cached based on the headers that are forwarded.
5014
- :param forwarded_query_strings: An object that describes the query strings that are forwarded to the origin. Your content is cached based on the query strings that are forwarded.
5015
- :param maximum_ttl: The maximum amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the object has been updated. The value specified applies only when the origin adds HTTP headers such as ``Cache-Control max-age`` , ``Cache-Control s-maxage`` , and ``Expires`` to objects.
5016
- :param minimum_ttl: The minimum amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the object has been updated. A value of ``0`` must be specified for ``minimumTTL`` if the distribution is configured to forward all headers to the origin.
5856
+ :param name: The name of the origin resource.
5857
+ :param protocol_policy: The protocol that your Amazon Lightsail distribution uses when establishing a connection with your origin to pull content.
5858
+ :param region_name: The AWS Region name of the origin resource.
5017
5859
 
5018
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html
5860
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html
5019
5861
  :exampleMetadata: fixture=_generated
5020
5862
 
5021
5863
  Example::
@@ -5024,442 +5866,634 @@ class CfnDistribution(
5024
5866
  # The values are placeholders you should change.
5025
5867
  from aws_cdk import aws_lightsail as lightsail
5026
5868
 
5027
- cache_settings_property = lightsail.CfnDistribution.CacheSettingsProperty(
5028
- allowed_http_methods="allowedHttpMethods",
5029
- cached_http_methods="cachedHttpMethods",
5030
- default_ttl=123,
5031
- forwarded_cookies=lightsail.CfnDistribution.CookieObjectProperty(
5032
- cookies_allow_list=["cookiesAllowList"],
5033
- option="option"
5034
- ),
5035
- forwarded_headers=lightsail.CfnDistribution.HeaderObjectProperty(
5036
- headers_allow_list=["headersAllowList"],
5037
- option="option"
5038
- ),
5039
- forwarded_query_strings=lightsail.CfnDistribution.QueryStringObjectProperty(
5040
- option=False,
5041
- query_strings_allow_list=["queryStringsAllowList"]
5042
- ),
5043
- maximum_ttl=123,
5044
- minimum_ttl=123
5869
+ input_origin_property = lightsail.CfnDistribution.InputOriginProperty(
5870
+ name="name",
5871
+ protocol_policy="protocolPolicy",
5872
+ region_name="regionName"
5045
5873
  )
5046
5874
  '''
5047
5875
  if __debug__:
5048
- type_hints = typing.get_type_hints(_typecheckingstub__71273d747070fd305155aa796ba791770952e4398259d9319417dfa9ca649969)
5049
- check_type(argname="argument allowed_http_methods", value=allowed_http_methods, expected_type=type_hints["allowed_http_methods"])
5050
- check_type(argname="argument cached_http_methods", value=cached_http_methods, expected_type=type_hints["cached_http_methods"])
5051
- check_type(argname="argument default_ttl", value=default_ttl, expected_type=type_hints["default_ttl"])
5052
- check_type(argname="argument forwarded_cookies", value=forwarded_cookies, expected_type=type_hints["forwarded_cookies"])
5053
- check_type(argname="argument forwarded_headers", value=forwarded_headers, expected_type=type_hints["forwarded_headers"])
5054
- check_type(argname="argument forwarded_query_strings", value=forwarded_query_strings, expected_type=type_hints["forwarded_query_strings"])
5055
- check_type(argname="argument maximum_ttl", value=maximum_ttl, expected_type=type_hints["maximum_ttl"])
5056
- check_type(argname="argument minimum_ttl", value=minimum_ttl, expected_type=type_hints["minimum_ttl"])
5876
+ type_hints = typing.get_type_hints(_typecheckingstub__accc7b7eb30a60be239eb0280dade3739e4094e04bda535d5fe3d04d2d008607)
5877
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
5878
+ check_type(argname="argument protocol_policy", value=protocol_policy, expected_type=type_hints["protocol_policy"])
5879
+ check_type(argname="argument region_name", value=region_name, expected_type=type_hints["region_name"])
5057
5880
  self._values: typing.Dict[builtins.str, typing.Any] = {}
5058
- if allowed_http_methods is not None:
5059
- self._values["allowed_http_methods"] = allowed_http_methods
5060
- if cached_http_methods is not None:
5061
- self._values["cached_http_methods"] = cached_http_methods
5062
- if default_ttl is not None:
5063
- self._values["default_ttl"] = default_ttl
5064
- if forwarded_cookies is not None:
5065
- self._values["forwarded_cookies"] = forwarded_cookies
5066
- if forwarded_headers is not None:
5067
- self._values["forwarded_headers"] = forwarded_headers
5068
- if forwarded_query_strings is not None:
5069
- self._values["forwarded_query_strings"] = forwarded_query_strings
5070
- if maximum_ttl is not None:
5071
- self._values["maximum_ttl"] = maximum_ttl
5072
- if minimum_ttl is not None:
5073
- self._values["minimum_ttl"] = minimum_ttl
5881
+ if name is not None:
5882
+ self._values["name"] = name
5883
+ if protocol_policy is not None:
5884
+ self._values["protocol_policy"] = protocol_policy
5885
+ if region_name is not None:
5886
+ self._values["region_name"] = region_name
5074
5887
 
5075
5888
  @builtins.property
5076
- def allowed_http_methods(self) -> typing.Optional[builtins.str]:
5077
- '''The HTTP methods that are processed and forwarded to the distribution's origin.
5078
-
5079
- You can specify the following options:
5080
-
5081
- - ``GET,HEAD`` - The distribution forwards the ``GET`` and ``HEAD`` methods.
5082
- - ``GET,HEAD,OPTIONS`` - The distribution forwards the ``GET`` , ``HEAD`` , and ``OPTIONS`` methods.
5083
- - ``GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE`` - The distribution forwards the ``GET`` , ``HEAD`` , ``OPTIONS`` , ``PUT`` , ``PATCH`` , ``POST`` , and ``DELETE`` methods.
5084
-
5085
- If you specify ``GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE`` , you might need to restrict access to your distribution's origin so users can't perform operations that you don't want them to. For example, you might not want users to have permission to delete objects from your origin.
5889
+ def name(self) -> typing.Optional[builtins.str]:
5890
+ '''The name of the origin resource.
5086
5891
 
5087
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-allowedhttpmethods
5892
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html#cfn-lightsail-distribution-inputorigin-name
5088
5893
  '''
5089
- result = self._values.get("allowed_http_methods")
5894
+ result = self._values.get("name")
5090
5895
  return typing.cast(typing.Optional[builtins.str], result)
5091
5896
 
5092
5897
  @builtins.property
5093
- def cached_http_methods(self) -> typing.Optional[builtins.str]:
5094
- '''The HTTP method responses that are cached by your distribution.
5898
+ def protocol_policy(self) -> typing.Optional[builtins.str]:
5899
+ '''The protocol that your Amazon Lightsail distribution uses when establishing a connection with your origin to pull content.
5095
5900
 
5096
- You can specify the following options:
5901
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html#cfn-lightsail-distribution-inputorigin-protocolpolicy
5902
+ '''
5903
+ result = self._values.get("protocol_policy")
5904
+ return typing.cast(typing.Optional[builtins.str], result)
5097
5905
 
5098
- - ``GET,HEAD`` - The distribution caches responses to the ``GET`` and ``HEAD`` methods.
5099
- - ``GET,HEAD,OPTIONS`` - The distribution caches responses to the ``GET`` , ``HEAD`` , and ``OPTIONS`` methods.
5906
+ @builtins.property
5907
+ def region_name(self) -> typing.Optional[builtins.str]:
5908
+ '''The AWS Region name of the origin resource.
5100
5909
 
5101
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-cachedhttpmethods
5910
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html#cfn-lightsail-distribution-inputorigin-regionname
5102
5911
  '''
5103
- result = self._values.get("cached_http_methods")
5912
+ result = self._values.get("region_name")
5104
5913
  return typing.cast(typing.Optional[builtins.str], result)
5105
5914
 
5106
- @builtins.property
5107
- def default_ttl(self) -> typing.Optional[jsii.Number]:
5108
- '''The default amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the content has been updated.
5915
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5916
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5109
5917
 
5110
- .. epigraph::
5918
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5919
+ return not (rhs == self)
5111
5920
 
5112
- The value specified applies only when the origin does not add HTTP headers such as ``Cache-Control max-age`` , ``Cache-Control s-maxage`` , and ``Expires`` to objects.
5921
+ def __repr__(self) -> str:
5922
+ return "InputOriginProperty(%s)" % ", ".join(
5923
+ k + "=" + repr(v) for k, v in self._values.items()
5924
+ )
5113
5925
 
5114
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-defaultttl
5926
+ @jsii.data_type(
5927
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.QueryStringObjectProperty",
5928
+ jsii_struct_bases=[],
5929
+ name_mapping={
5930
+ "option": "option",
5931
+ "query_strings_allow_list": "queryStringsAllowList",
5932
+ },
5933
+ )
5934
+ class QueryStringObjectProperty:
5935
+ def __init__(
5936
+ self,
5937
+ *,
5938
+ option: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5939
+ query_strings_allow_list: typing.Optional[typing.Sequence[builtins.str]] = None,
5940
+ ) -> None:
5941
+ '''``QueryStringObject`` is a property of the `CacheSettings <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html>`_ property. It describes the query string parameters that an Amazon Lightsail content delivery network (CDN) distribution to bases caching on.
5942
+
5943
+ For the query strings that you specify, your distribution caches separate versions of the specified content based on the query string values in viewer requests.
5944
+
5945
+ :param option: Indicates whether the distribution forwards and caches based on query strings.
5946
+ :param query_strings_allow_list: The specific query strings that the distribution forwards to the origin. Your distribution caches content based on the specified query strings. If the ``option`` parameter is true, then your distribution forwards all query strings, regardless of what you specify using the ``QueryStringsAllowList`` parameter.
5947
+
5948
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-querystringobject.html
5949
+ :exampleMetadata: fixture=_generated
5950
+
5951
+ Example::
5952
+
5953
+ # The code below shows an example of how to instantiate this type.
5954
+ # The values are placeholders you should change.
5955
+ from aws_cdk import aws_lightsail as lightsail
5956
+
5957
+ query_string_object_property = lightsail.CfnDistribution.QueryStringObjectProperty(
5958
+ option=False,
5959
+ query_strings_allow_list=["queryStringsAllowList"]
5960
+ )
5115
5961
  '''
5116
- result = self._values.get("default_ttl")
5117
- return typing.cast(typing.Optional[jsii.Number], result)
5962
+ if __debug__:
5963
+ type_hints = typing.get_type_hints(_typecheckingstub__d3d10f0e1349e20e39be61df90b8a453ebfd22f3496fc3e4391831ccb7b40abd)
5964
+ check_type(argname="argument option", value=option, expected_type=type_hints["option"])
5965
+ check_type(argname="argument query_strings_allow_list", value=query_strings_allow_list, expected_type=type_hints["query_strings_allow_list"])
5966
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5967
+ if option is not None:
5968
+ self._values["option"] = option
5969
+ if query_strings_allow_list is not None:
5970
+ self._values["query_strings_allow_list"] = query_strings_allow_list
5118
5971
 
5119
5972
  @builtins.property
5120
- def forwarded_cookies(
5973
+ def option(
5121
5974
  self,
5122
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CookieObjectProperty"]]:
5123
- '''An object that describes the cookies that are forwarded to the origin.
5124
-
5125
- Your content is cached based on the cookies that are forwarded.
5975
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
5976
+ '''Indicates whether the distribution forwards and caches based on query strings.
5126
5977
 
5127
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-forwardedcookies
5978
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-querystringobject.html#cfn-lightsail-distribution-querystringobject-option
5128
5979
  '''
5129
- result = self._values.get("forwarded_cookies")
5130
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.CookieObjectProperty"]], result)
5980
+ result = self._values.get("option")
5981
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
5131
5982
 
5132
5983
  @builtins.property
5133
- def forwarded_headers(
5984
+ def query_strings_allow_list(
5134
5985
  self,
5135
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.HeaderObjectProperty"]]:
5136
- '''An object that describes the headers that are forwarded to the origin.
5986
+ ) -> typing.Optional[typing.List[builtins.str]]:
5987
+ '''The specific query strings that the distribution forwards to the origin.
5137
5988
 
5138
- Your content is cached based on the headers that are forwarded.
5989
+ Your distribution caches content based on the specified query strings.
5139
5990
 
5140
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-forwardedheaders
5991
+ If the ``option`` parameter is true, then your distribution forwards all query strings, regardless of what you specify using the ``QueryStringsAllowList`` parameter.
5992
+
5993
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-querystringobject.html#cfn-lightsail-distribution-querystringobject-querystringsallowlist
5141
5994
  '''
5142
- result = self._values.get("forwarded_headers")
5143
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.HeaderObjectProperty"]], result)
5995
+ result = self._values.get("query_strings_allow_list")
5996
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
5997
+
5998
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5999
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6000
+
6001
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6002
+ return not (rhs == self)
6003
+
6004
+ def __repr__(self) -> str:
6005
+ return "QueryStringObjectProperty(%s)" % ", ".join(
6006
+ k + "=" + repr(v) for k, v in self._values.items()
6007
+ )
6008
+
6009
+
6010
+ @jsii.data_type(
6011
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDistributionProps",
6012
+ jsii_struct_bases=[],
6013
+ name_mapping={
6014
+ "bundle_id": "bundleId",
6015
+ "default_cache_behavior": "defaultCacheBehavior",
6016
+ "distribution_name": "distributionName",
6017
+ "origin": "origin",
6018
+ "cache_behaviors": "cacheBehaviors",
6019
+ "cache_behavior_settings": "cacheBehaviorSettings",
6020
+ "certificate_name": "certificateName",
6021
+ "ip_address_type": "ipAddressType",
6022
+ "is_enabled": "isEnabled",
6023
+ "tags": "tags",
6024
+ },
6025
+ )
6026
+ class CfnDistributionProps:
6027
+ def __init__(
6028
+ self,
6029
+ *,
6030
+ bundle_id: builtins.str,
6031
+ default_cache_behavior: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.CacheBehaviorProperty, typing.Dict[builtins.str, typing.Any]]],
6032
+ distribution_name: builtins.str,
6033
+ origin: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.InputOriginProperty, typing.Dict[builtins.str, typing.Any]]],
6034
+ cache_behaviors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.CacheBehaviorPerPathProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
6035
+ cache_behavior_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.CacheSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6036
+ certificate_name: typing.Optional[builtins.str] = None,
6037
+ ip_address_type: typing.Optional[builtins.str] = None,
6038
+ is_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6039
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6040
+ ) -> None:
6041
+ '''Properties for defining a ``CfnDistribution``.
6042
+
6043
+ :param bundle_id: The ID of the bundle applied to the distribution.
6044
+ :param default_cache_behavior: An object that describes the default cache behavior of the distribution.
6045
+ :param distribution_name: The name of the distribution.
6046
+ :param origin: An object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer. The distribution pulls, caches, and serves content from the origin.
6047
+ :param cache_behaviors: An array of objects that describe the per-path cache behavior of the distribution.
6048
+ :param cache_behavior_settings: An object that describes the cache behavior settings of the distribution.
6049
+ :param certificate_name: The name of the SSL/TLS certificate attached to the distribution.
6050
+ :param ip_address_type: The IP address type of the distribution. The possible values are ``ipv4`` for IPv4 only, and ``dualstack`` for IPv4 and IPv6.
6051
+ :param is_enabled: A Boolean value indicating whether the distribution is enabled.
6052
+ :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ in the *AWS CloudFormation User Guide* . .. epigraph:: The ``Value`` of ``Tags`` is optional for Lightsail resources.
6053
+
6054
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html
6055
+ :exampleMetadata: fixture=_generated
6056
+
6057
+ Example::
6058
+
6059
+ # The code below shows an example of how to instantiate this type.
6060
+ # The values are placeholders you should change.
6061
+ from aws_cdk import aws_lightsail as lightsail
6062
+
6063
+ cfn_distribution_props = lightsail.CfnDistributionProps(
6064
+ bundle_id="bundleId",
6065
+ default_cache_behavior=lightsail.CfnDistribution.CacheBehaviorProperty(
6066
+ behavior="behavior"
6067
+ ),
6068
+ distribution_name="distributionName",
6069
+ origin=lightsail.CfnDistribution.InputOriginProperty(
6070
+ name="name",
6071
+ protocol_policy="protocolPolicy",
6072
+ region_name="regionName"
6073
+ ),
6074
+
6075
+ # the properties below are optional
6076
+ cache_behaviors=[lightsail.CfnDistribution.CacheBehaviorPerPathProperty(
6077
+ behavior="behavior",
6078
+ path="path"
6079
+ )],
6080
+ cache_behavior_settings=lightsail.CfnDistribution.CacheSettingsProperty(
6081
+ allowed_http_methods="allowedHttpMethods",
6082
+ cached_http_methods="cachedHttpMethods",
6083
+ default_ttl=123,
6084
+ forwarded_cookies=lightsail.CfnDistribution.CookieObjectProperty(
6085
+ cookies_allow_list=["cookiesAllowList"],
6086
+ option="option"
6087
+ ),
6088
+ forwarded_headers=lightsail.CfnDistribution.HeaderObjectProperty(
6089
+ headers_allow_list=["headersAllowList"],
6090
+ option="option"
6091
+ ),
6092
+ forwarded_query_strings=lightsail.CfnDistribution.QueryStringObjectProperty(
6093
+ option=False,
6094
+ query_strings_allow_list=["queryStringsAllowList"]
6095
+ ),
6096
+ maximum_ttl=123,
6097
+ minimum_ttl=123
6098
+ ),
6099
+ certificate_name="certificateName",
6100
+ ip_address_type="ipAddressType",
6101
+ is_enabled=False,
6102
+ tags=[CfnTag(
6103
+ key="key",
6104
+ value="value"
6105
+ )]
6106
+ )
6107
+ '''
6108
+ if __debug__:
6109
+ type_hints = typing.get_type_hints(_typecheckingstub__5746be261e67458f872b406208009ddcf740c3277f27869ccbc24697bfb6d14c)
6110
+ check_type(argname="argument bundle_id", value=bundle_id, expected_type=type_hints["bundle_id"])
6111
+ check_type(argname="argument default_cache_behavior", value=default_cache_behavior, expected_type=type_hints["default_cache_behavior"])
6112
+ check_type(argname="argument distribution_name", value=distribution_name, expected_type=type_hints["distribution_name"])
6113
+ check_type(argname="argument origin", value=origin, expected_type=type_hints["origin"])
6114
+ check_type(argname="argument cache_behaviors", value=cache_behaviors, expected_type=type_hints["cache_behaviors"])
6115
+ check_type(argname="argument cache_behavior_settings", value=cache_behavior_settings, expected_type=type_hints["cache_behavior_settings"])
6116
+ check_type(argname="argument certificate_name", value=certificate_name, expected_type=type_hints["certificate_name"])
6117
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
6118
+ check_type(argname="argument is_enabled", value=is_enabled, expected_type=type_hints["is_enabled"])
6119
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
6120
+ self._values: typing.Dict[builtins.str, typing.Any] = {
6121
+ "bundle_id": bundle_id,
6122
+ "default_cache_behavior": default_cache_behavior,
6123
+ "distribution_name": distribution_name,
6124
+ "origin": origin,
6125
+ }
6126
+ if cache_behaviors is not None:
6127
+ self._values["cache_behaviors"] = cache_behaviors
6128
+ if cache_behavior_settings is not None:
6129
+ self._values["cache_behavior_settings"] = cache_behavior_settings
6130
+ if certificate_name is not None:
6131
+ self._values["certificate_name"] = certificate_name
6132
+ if ip_address_type is not None:
6133
+ self._values["ip_address_type"] = ip_address_type
6134
+ if is_enabled is not None:
6135
+ self._values["is_enabled"] = is_enabled
6136
+ if tags is not None:
6137
+ self._values["tags"] = tags
5144
6138
 
5145
- @builtins.property
5146
- def forwarded_query_strings(
5147
- self,
5148
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.QueryStringObjectProperty"]]:
5149
- '''An object that describes the query strings that are forwarded to the origin.
6139
+ @builtins.property
6140
+ def bundle_id(self) -> builtins.str:
6141
+ '''The ID of the bundle applied to the distribution.
5150
6142
 
5151
- Your content is cached based on the query strings that are forwarded.
6143
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-bundleid
6144
+ '''
6145
+ result = self._values.get("bundle_id")
6146
+ assert result is not None, "Required property 'bundle_id' is missing"
6147
+ return typing.cast(builtins.str, result)
5152
6148
 
5153
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-forwardedquerystrings
5154
- '''
5155
- result = self._values.get("forwarded_query_strings")
5156
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnDistribution.QueryStringObjectProperty"]], result)
6149
+ @builtins.property
6150
+ def default_cache_behavior(
6151
+ self,
6152
+ ) -> typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheBehaviorProperty]:
6153
+ '''An object that describes the default cache behavior of the distribution.
5157
6154
 
5158
- @builtins.property
5159
- def maximum_ttl(self) -> typing.Optional[jsii.Number]:
5160
- '''The maximum amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the object has been updated.
6155
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-defaultcachebehavior
6156
+ '''
6157
+ result = self._values.get("default_cache_behavior")
6158
+ assert result is not None, "Required property 'default_cache_behavior' is missing"
6159
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheBehaviorProperty], result)
5161
6160
 
5162
- The value specified applies only when the origin adds HTTP headers such as ``Cache-Control max-age`` , ``Cache-Control s-maxage`` , and ``Expires`` to objects.
6161
+ @builtins.property
6162
+ def distribution_name(self) -> builtins.str:
6163
+ '''The name of the distribution.
5163
6164
 
5164
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-maximumttl
5165
- '''
5166
- result = self._values.get("maximum_ttl")
5167
- return typing.cast(typing.Optional[jsii.Number], result)
6165
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-distributionname
6166
+ '''
6167
+ result = self._values.get("distribution_name")
6168
+ assert result is not None, "Required property 'distribution_name' is missing"
6169
+ return typing.cast(builtins.str, result)
5168
6170
 
5169
- @builtins.property
5170
- def minimum_ttl(self) -> typing.Optional[jsii.Number]:
5171
- '''The minimum amount of time that objects stay in the distribution's cache before the distribution forwards another request to the origin to determine whether the object has been updated.
6171
+ @builtins.property
6172
+ def origin(
6173
+ self,
6174
+ ) -> typing.Union[_IResolvable_da3f097b, CfnDistribution.InputOriginProperty]:
6175
+ '''An object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer.
5172
6176
 
5173
- A value of ``0`` must be specified for ``minimumTTL`` if the distribution is configured to forward all headers to the origin.
6177
+ The distribution pulls, caches, and serves content from the origin.
5174
6178
 
5175
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html#cfn-lightsail-distribution-cachesettings-minimumttl
5176
- '''
5177
- result = self._values.get("minimum_ttl")
5178
- return typing.cast(typing.Optional[jsii.Number], result)
6179
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-origin
6180
+ '''
6181
+ result = self._values.get("origin")
6182
+ assert result is not None, "Required property 'origin' is missing"
6183
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnDistribution.InputOriginProperty], result)
5179
6184
 
5180
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
5181
- return isinstance(rhs, self.__class__) and rhs._values == self._values
6185
+ @builtins.property
6186
+ def cache_behaviors(
6187
+ self,
6188
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheBehaviorPerPathProperty]]]]:
6189
+ '''An array of objects that describe the per-path cache behavior of the distribution.
5182
6190
 
5183
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
5184
- return not (rhs == self)
6191
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-cachebehaviors
6192
+ '''
6193
+ result = self._values.get("cache_behaviors")
6194
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheBehaviorPerPathProperty]]]], result)
5185
6195
 
5186
- def __repr__(self) -> str:
5187
- return "CacheSettingsProperty(%s)" % ", ".join(
5188
- k + "=" + repr(v) for k, v in self._values.items()
5189
- )
6196
+ @builtins.property
6197
+ def cache_behavior_settings(
6198
+ self,
6199
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheSettingsProperty]]:
6200
+ '''An object that describes the cache behavior settings of the distribution.
5190
6201
 
5191
- @jsii.data_type(
5192
- jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.CookieObjectProperty",
5193
- jsii_struct_bases=[],
5194
- name_mapping={"cookies_allow_list": "cookiesAllowList", "option": "option"},
5195
- )
5196
- class CookieObjectProperty:
5197
- def __init__(
5198
- self,
5199
- *,
5200
- cookies_allow_list: typing.Optional[typing.Sequence[builtins.str]] = None,
5201
- option: typing.Optional[builtins.str] = None,
5202
- ) -> None:
5203
- '''``CookieObject`` is a property of the `CacheSettings <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html>`_ property. It describes whether an Amazon Lightsail content delivery network (CDN) distribution forwards cookies to the origin and, if so, which ones.
6202
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-cachebehaviorsettings
6203
+ '''
6204
+ result = self._values.get("cache_behavior_settings")
6205
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheSettingsProperty]], result)
5204
6206
 
5205
- For the cookies that you specify, your distribution caches separate versions of the specified content based on the cookie values in viewer requests.
6207
+ @builtins.property
6208
+ def certificate_name(self) -> typing.Optional[builtins.str]:
6209
+ '''The name of the SSL/TLS certificate attached to the distribution.
5206
6210
 
5207
- :param cookies_allow_list: The specific cookies to forward to your distribution's origin.
5208
- :param option: Specifies which cookies to forward to the distribution's origin for a cache behavior. Use one of the following configurations for your distribution: - *``all``* - Forwards all cookies to your origin. - *``none``* - Doesn’t forward cookies to your origin. - *``allow-list``* - Forwards only the cookies that you specify using the ``CookiesAllowList`` parameter.
6211
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-certificatename
6212
+ '''
6213
+ result = self._values.get("certificate_name")
6214
+ return typing.cast(typing.Optional[builtins.str], result)
5209
6215
 
5210
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cookieobject.html
5211
- :exampleMetadata: fixture=_generated
6216
+ @builtins.property
6217
+ def ip_address_type(self) -> typing.Optional[builtins.str]:
6218
+ '''The IP address type of the distribution.
5212
6219
 
5213
- Example::
6220
+ The possible values are ``ipv4`` for IPv4 only, and ``dualstack`` for IPv4 and IPv6.
5214
6221
 
5215
- # The code below shows an example of how to instantiate this type.
5216
- # The values are placeholders you should change.
5217
- from aws_cdk import aws_lightsail as lightsail
5218
-
5219
- cookie_object_property = lightsail.CfnDistribution.CookieObjectProperty(
5220
- cookies_allow_list=["cookiesAllowList"],
5221
- option="option"
5222
- )
5223
- '''
5224
- if __debug__:
5225
- type_hints = typing.get_type_hints(_typecheckingstub__d58452d36b0308e6ce28a9b550fe3fce77b87aaad440feefc51f83755937f137)
5226
- check_type(argname="argument cookies_allow_list", value=cookies_allow_list, expected_type=type_hints["cookies_allow_list"])
5227
- check_type(argname="argument option", value=option, expected_type=type_hints["option"])
5228
- self._values: typing.Dict[builtins.str, typing.Any] = {}
5229
- if cookies_allow_list is not None:
5230
- self._values["cookies_allow_list"] = cookies_allow_list
5231
- if option is not None:
5232
- self._values["option"] = option
6222
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-ipaddresstype
6223
+ '''
6224
+ result = self._values.get("ip_address_type")
6225
+ return typing.cast(typing.Optional[builtins.str], result)
5233
6226
 
5234
- @builtins.property
5235
- def cookies_allow_list(self) -> typing.Optional[typing.List[builtins.str]]:
5236
- '''The specific cookies to forward to your distribution's origin.
6227
+ @builtins.property
6228
+ def is_enabled(
6229
+ self,
6230
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6231
+ '''A Boolean value indicating whether the distribution is enabled.
5237
6232
 
5238
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cookieobject.html#cfn-lightsail-distribution-cookieobject-cookiesallowlist
5239
- '''
5240
- result = self._values.get("cookies_allow_list")
5241
- return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6233
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-isenabled
6234
+ '''
6235
+ result = self._values.get("is_enabled")
6236
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
5242
6237
 
5243
- @builtins.property
5244
- def option(self) -> typing.Optional[builtins.str]:
5245
- '''Specifies which cookies to forward to the distribution's origin for a cache behavior.
6238
+ @builtins.property
6239
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
6240
+ '''An array of key-value pairs to apply to this resource.
5246
6241
 
5247
- Use one of the following configurations for your distribution:
6242
+ For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ in the *AWS CloudFormation User Guide* .
6243
+ .. epigraph::
5248
6244
 
5249
- - *``all``* - Forwards all cookies to your origin.
5250
- - *``none``* - Doesn’t forward cookies to your origin.
5251
- - *``allow-list``* - Forwards only the cookies that you specify using the ``CookiesAllowList`` parameter.
6245
+ The ``Value`` of ``Tags`` is optional for Lightsail resources.
5252
6246
 
5253
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cookieobject.html#cfn-lightsail-distribution-cookieobject-option
5254
- '''
5255
- result = self._values.get("option")
5256
- return typing.cast(typing.Optional[builtins.str], result)
6247
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-tags
6248
+ '''
6249
+ result = self._values.get("tags")
6250
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
5257
6251
 
5258
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
5259
- return isinstance(rhs, self.__class__) and rhs._values == self._values
6252
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6253
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5260
6254
 
5261
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
5262
- return not (rhs == self)
6255
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6256
+ return not (rhs == self)
5263
6257
 
5264
- def __repr__(self) -> str:
5265
- return "CookieObjectProperty(%s)" % ", ".join(
5266
- k + "=" + repr(v) for k, v in self._values.items()
5267
- )
6258
+ def __repr__(self) -> str:
6259
+ return "CfnDistributionProps(%s)" % ", ".join(
6260
+ k + "=" + repr(v) for k, v in self._values.items()
6261
+ )
5268
6262
 
5269
- @jsii.data_type(
5270
- jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.HeaderObjectProperty",
5271
- jsii_struct_bases=[],
5272
- name_mapping={"headers_allow_list": "headersAllowList", "option": "option"},
5273
- )
5274
- class HeaderObjectProperty:
5275
- def __init__(
5276
- self,
5277
- *,
5278
- headers_allow_list: typing.Optional[typing.Sequence[builtins.str]] = None,
5279
- option: typing.Optional[builtins.str] = None,
5280
- ) -> None:
5281
- '''``HeaderObject`` is a property of the `CacheSettings <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html>`_ property. It describes the request headers used by your distribution, which caches your content based on the request headers.
5282
6263
 
5283
- For the headers that you specify, your distribution caches separate versions of the specified content based on the header values in viewer requests. For example, suppose that viewer requests for logo.jpg contain a custom product header that has a value of either acme or apex. Also, suppose that you configure your distribution to cache your content based on values in the product header. Your distribution forwards the product header to the origin and caches the response from the origin once for each header value.
6264
+ @jsii.implements(_IInspectable_c2943556, _IDomainRef_3b81a960, _ITaggableV2_4e6798f8)
6265
+ class CfnDomain(
6266
+ _CfnResource_9df397a6,
6267
+ metaclass=jsii.JSIIMeta,
6268
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDomain",
6269
+ ):
6270
+ '''Describes a domain where you are storing recordsets.
5284
6271
 
5285
- :param headers_allow_list: The specific headers to forward to your distribution's origin.
5286
- :param option: The headers that you want your distribution to forward to your origin. Your distribution caches your content based on these headers. Use one of the following configurations for your distribution: - *``all``* - Forwards all headers to your origin.. - *``none``* - Forwards only the default headers. - *``allow-list``* - Forwards only the headers that you specify using the ``HeadersAllowList`` parameter.
6272
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-domain.html
6273
+ :cloudformationResource: AWS::Lightsail::Domain
6274
+ :exampleMetadata: fixture=_generated
5287
6275
 
5288
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-headerobject.html
5289
- :exampleMetadata: fixture=_generated
6276
+ Example::
5290
6277
 
5291
- Example::
6278
+ # The code below shows an example of how to instantiate this type.
6279
+ # The values are placeholders you should change.
6280
+ from aws_cdk import aws_lightsail as lightsail
6281
+
6282
+ cfn_domain = lightsail.CfnDomain(self, "MyCfnDomain",
6283
+ domain_name="domainName",
6284
+
6285
+ # the properties below are optional
6286
+ domain_entries=[lightsail.CfnDomain.DomainEntryProperty(
6287
+ name="name",
6288
+ target="target",
6289
+ type="type",
6290
+
6291
+ # the properties below are optional
6292
+ id="id",
6293
+ is_alias=False
6294
+ )],
6295
+ tags=[CfnTag(
6296
+ key="key",
6297
+ value="value"
6298
+ )]
6299
+ )
6300
+ '''
5292
6301
 
5293
- # The code below shows an example of how to instantiate this type.
5294
- # The values are placeholders you should change.
5295
- from aws_cdk import aws_lightsail as lightsail
5296
-
5297
- header_object_property = lightsail.CfnDistribution.HeaderObjectProperty(
5298
- headers_allow_list=["headersAllowList"],
5299
- option="option"
5300
- )
5301
- '''
5302
- if __debug__:
5303
- type_hints = typing.get_type_hints(_typecheckingstub__e8800c7d1a30fcdf0e75dfd3650ad86e4223cdabbe6df507c54628133a0c1fc2)
5304
- check_type(argname="argument headers_allow_list", value=headers_allow_list, expected_type=type_hints["headers_allow_list"])
5305
- check_type(argname="argument option", value=option, expected_type=type_hints["option"])
5306
- self._values: typing.Dict[builtins.str, typing.Any] = {}
5307
- if headers_allow_list is not None:
5308
- self._values["headers_allow_list"] = headers_allow_list
5309
- if option is not None:
5310
- self._values["option"] = option
6302
+ def __init__(
6303
+ self,
6304
+ scope: _constructs_77d1e7e8.Construct,
6305
+ id: builtins.str,
6306
+ *,
6307
+ domain_name: builtins.str,
6308
+ domain_entries: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnDomain.DomainEntryProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
6309
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6310
+ ) -> None:
6311
+ '''Create a new ``AWS::Lightsail::Domain``.
5311
6312
 
5312
- @builtins.property
5313
- def headers_allow_list(self) -> typing.Optional[typing.List[builtins.str]]:
5314
- '''The specific headers to forward to your distribution's origin.
6313
+ :param scope: Scope in which this resource is defined.
6314
+ :param id: Construct identifier for this resource (unique in its scope).
6315
+ :param domain_name: The fully qualified domain name in the certificate request.
6316
+ :param domain_entries: An array of key-value pairs containing information about the domain entries.
6317
+ :param tags: The tag keys and optional values for the resource. For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
6318
+ '''
6319
+ if __debug__:
6320
+ type_hints = typing.get_type_hints(_typecheckingstub__fe82b246fe7ed5830d2f0fc5524cb4172fd4d2438795a1aba9ad5e6fda309803)
6321
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
6322
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
6323
+ props = CfnDomainProps(
6324
+ domain_name=domain_name, domain_entries=domain_entries, tags=tags
6325
+ )
5315
6326
 
5316
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-headerobject.html#cfn-lightsail-distribution-headerobject-headersallowlist
5317
- '''
5318
- result = self._values.get("headers_allow_list")
5319
- return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6327
+ jsii.create(self.__class__, self, [scope, id, props])
5320
6328
 
5321
- @builtins.property
5322
- def option(self) -> typing.Optional[builtins.str]:
5323
- '''The headers that you want your distribution to forward to your origin.
6329
+ @jsii.member(jsii_name="inspect")
6330
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
6331
+ '''Examines the CloudFormation resource and discloses attributes.
5324
6332
 
5325
- Your distribution caches your content based on these headers.
6333
+ :param inspector: tree inspector to collect and process attributes.
6334
+ '''
6335
+ if __debug__:
6336
+ type_hints = typing.get_type_hints(_typecheckingstub__c5869283d5873a582cc7febd55d88bc8f89d5e0d976b0c63a738d68a672de289)
6337
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
6338
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
5326
6339
 
5327
- Use one of the following configurations for your distribution:
6340
+ @jsii.member(jsii_name="renderProperties")
6341
+ def _render_properties(
6342
+ self,
6343
+ props: typing.Mapping[builtins.str, typing.Any],
6344
+ ) -> typing.Mapping[builtins.str, typing.Any]:
6345
+ '''
6346
+ :param props: -
6347
+ '''
6348
+ if __debug__:
6349
+ type_hints = typing.get_type_hints(_typecheckingstub__a03ca7db8e2eb25b17b104e3e9ff0b0b0fbf08555e1dbe68b5b5b3af1073c501)
6350
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
6351
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
5328
6352
 
5329
- - *``all``* - Forwards all headers to your origin..
5330
- - *``none``* - Forwards only the default headers.
5331
- - *``allow-list``* - Forwards only the headers that you specify using the ``HeadersAllowList`` parameter.
6353
+ @jsii.python.classproperty
6354
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
6355
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
6356
+ '''The CloudFormation resource type name for this resource class.'''
6357
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
5332
6358
 
5333
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-headerobject.html#cfn-lightsail-distribution-headerobject-option
5334
- '''
5335
- result = self._values.get("option")
5336
- return typing.cast(typing.Optional[builtins.str], result)
6359
+ @builtins.property
6360
+ @jsii.member(jsii_name="attrArn")
6361
+ def attr_arn(self) -> builtins.str:
6362
+ '''The Amazon Resource Name (ARN) of the domain recordset ( ``arn:aws:lightsail:global:123456789101:Domain/824cede0-abc7-4f84-8dbc-12345EXAMPLE`` ).
5337
6363
 
5338
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
5339
- return isinstance(rhs, self.__class__) and rhs._values == self._values
6364
+ :cloudformationAttribute: Arn
6365
+ '''
6366
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
5340
6367
 
5341
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
5342
- return not (rhs == self)
6368
+ @builtins.property
6369
+ @jsii.member(jsii_name="attrCreatedAt")
6370
+ def attr_created_at(self) -> builtins.str:
6371
+ '''The date when the domain recordset was created.
5343
6372
 
5344
- def __repr__(self) -> str:
5345
- return "HeaderObjectProperty(%s)" % ", ".join(
5346
- k + "=" + repr(v) for k, v in self._values.items()
5347
- )
6373
+ :cloudformationAttribute: CreatedAt
6374
+ '''
6375
+ return typing.cast(builtins.str, jsii.get(self, "attrCreatedAt"))
5348
6376
 
5349
- @jsii.data_type(
5350
- jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.InputOriginProperty",
5351
- jsii_struct_bases=[],
5352
- name_mapping={
5353
- "name": "name",
5354
- "protocol_policy": "protocolPolicy",
5355
- "region_name": "regionName",
5356
- },
5357
- )
5358
- class InputOriginProperty:
5359
- def __init__(
5360
- self,
5361
- *,
5362
- name: typing.Optional[builtins.str] = None,
5363
- protocol_policy: typing.Optional[builtins.str] = None,
5364
- region_name: typing.Optional[builtins.str] = None,
5365
- ) -> None:
5366
- '''``InputOrigin`` is a property of the `AWS::Lightsail::Distribution <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html>`_ resource. It describes the origin resource of an Amazon Lightsail content delivery network (CDN) distribution.
6377
+ @builtins.property
6378
+ @jsii.member(jsii_name="attrLocation")
6379
+ def attr_location(self) -> _IResolvable_da3f097b:
6380
+ '''The AWS Region and Availability Zone where the domain was created (read-only).
5367
6381
 
5368
- An origin can be a instance, bucket, or load balancer. A distribution pulls content from an origin, caches it, and serves it to viewers through a worldwide network of edge servers.
6382
+ :cloudformationAttribute: Location
6383
+ '''
6384
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrLocation"))
5369
6385
 
5370
- :param name: The name of the origin resource.
5371
- :param protocol_policy: The protocol that your Amazon Lightsail distribution uses when establishing a connection with your origin to pull content.
5372
- :param region_name: The AWS Region name of the origin resource.
6386
+ @builtins.property
6387
+ @jsii.member(jsii_name="attrResourceType")
6388
+ def attr_resource_type(self) -> builtins.str:
6389
+ '''The resource type.
5373
6390
 
5374
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html
5375
- :exampleMetadata: fixture=_generated
6391
+ :cloudformationAttribute: ResourceType
6392
+ '''
6393
+ return typing.cast(builtins.str, jsii.get(self, "attrResourceType"))
5376
6394
 
5377
- Example::
6395
+ @builtins.property
6396
+ @jsii.member(jsii_name="attrSupportCode")
6397
+ def attr_support_code(self) -> builtins.str:
6398
+ '''The support code.
5378
6399
 
5379
- # The code below shows an example of how to instantiate this type.
5380
- # The values are placeholders you should change.
5381
- from aws_cdk import aws_lightsail as lightsail
5382
-
5383
- input_origin_property = lightsail.CfnDistribution.InputOriginProperty(
5384
- name="name",
5385
- protocol_policy="protocolPolicy",
5386
- region_name="regionName"
5387
- )
5388
- '''
5389
- if __debug__:
5390
- type_hints = typing.get_type_hints(_typecheckingstub__accc7b7eb30a60be239eb0280dade3739e4094e04bda535d5fe3d04d2d008607)
5391
- check_type(argname="argument name", value=name, expected_type=type_hints["name"])
5392
- check_type(argname="argument protocol_policy", value=protocol_policy, expected_type=type_hints["protocol_policy"])
5393
- check_type(argname="argument region_name", value=region_name, expected_type=type_hints["region_name"])
5394
- self._values: typing.Dict[builtins.str, typing.Any] = {}
5395
- if name is not None:
5396
- self._values["name"] = name
5397
- if protocol_policy is not None:
5398
- self._values["protocol_policy"] = protocol_policy
5399
- if region_name is not None:
5400
- self._values["region_name"] = region_name
6400
+ Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.
5401
6401
 
5402
- @builtins.property
5403
- def name(self) -> typing.Optional[builtins.str]:
5404
- '''The name of the origin resource.
6402
+ :cloudformationAttribute: SupportCode
6403
+ '''
6404
+ return typing.cast(builtins.str, jsii.get(self, "attrSupportCode"))
5405
6405
 
5406
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html#cfn-lightsail-distribution-inputorigin-name
5407
- '''
5408
- result = self._values.get("name")
5409
- return typing.cast(typing.Optional[builtins.str], result)
6406
+ @builtins.property
6407
+ @jsii.member(jsii_name="cdkTagManager")
6408
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
6409
+ '''Tag Manager which manages the tags for this resource.'''
6410
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
5410
6411
 
5411
- @builtins.property
5412
- def protocol_policy(self) -> typing.Optional[builtins.str]:
5413
- '''The protocol that your Amazon Lightsail distribution uses when establishing a connection with your origin to pull content.
6412
+ @builtins.property
6413
+ @jsii.member(jsii_name="cfnProperties")
6414
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
6415
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5414
6416
 
5415
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html#cfn-lightsail-distribution-inputorigin-protocolpolicy
5416
- '''
5417
- result = self._values.get("protocol_policy")
5418
- return typing.cast(typing.Optional[builtins.str], result)
6417
+ @builtins.property
6418
+ @jsii.member(jsii_name="domainRef")
6419
+ def domain_ref(self) -> _DomainReference_8cd3277c:
6420
+ '''A reference to a Domain resource.'''
6421
+ return typing.cast(_DomainReference_8cd3277c, jsii.get(self, "domainRef"))
5419
6422
 
5420
- @builtins.property
5421
- def region_name(self) -> typing.Optional[builtins.str]:
5422
- '''The AWS Region name of the origin resource.
6423
+ @builtins.property
6424
+ @jsii.member(jsii_name="domainName")
6425
+ def domain_name(self) -> builtins.str:
6426
+ '''The fully qualified domain name in the certificate request.'''
6427
+ return typing.cast(builtins.str, jsii.get(self, "domainName"))
5423
6428
 
5424
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-inputorigin.html#cfn-lightsail-distribution-inputorigin-regionname
5425
- '''
5426
- result = self._values.get("region_name")
5427
- return typing.cast(typing.Optional[builtins.str], result)
6429
+ @domain_name.setter
6430
+ def domain_name(self, value: builtins.str) -> None:
6431
+ if __debug__:
6432
+ type_hints = typing.get_type_hints(_typecheckingstub__18c312b38452b100f6b9507db7e6e5dabba6daa6c2a21e716e3069f4029b91ff)
6433
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6434
+ jsii.set(self, "domainName", value) # pyright: ignore[reportArgumentType]
5428
6435
 
5429
- def __eq__(self, rhs: typing.Any) -> builtins.bool:
5430
- return isinstance(rhs, self.__class__) and rhs._values == self._values
6436
+ @builtins.property
6437
+ @jsii.member(jsii_name="domainEntries")
6438
+ def domain_entries(
6439
+ self,
6440
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDomain.DomainEntryProperty"]]]]:
6441
+ '''An array of key-value pairs containing information about the domain entries.'''
6442
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDomain.DomainEntryProperty"]]]], jsii.get(self, "domainEntries"))
6443
+
6444
+ @domain_entries.setter
6445
+ def domain_entries(
6446
+ self,
6447
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnDomain.DomainEntryProperty"]]]],
6448
+ ) -> None:
6449
+ if __debug__:
6450
+ type_hints = typing.get_type_hints(_typecheckingstub__751d0aaf99cc70b85edb0ece306cc421fe3ebfd62efaace5ee34838f421756e1)
6451
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6452
+ jsii.set(self, "domainEntries", value) # pyright: ignore[reportArgumentType]
5431
6453
 
5432
- def __ne__(self, rhs: typing.Any) -> builtins.bool:
5433
- return not (rhs == self)
6454
+ @builtins.property
6455
+ @jsii.member(jsii_name="tags")
6456
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
6457
+ '''The tag keys and optional values for the resource.'''
6458
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
5434
6459
 
5435
- def __repr__(self) -> str:
5436
- return "InputOriginProperty(%s)" % ", ".join(
5437
- k + "=" + repr(v) for k, v in self._values.items()
5438
- )
6460
+ @tags.setter
6461
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
6462
+ if __debug__:
6463
+ type_hints = typing.get_type_hints(_typecheckingstub__0d269539a28b4197d92a71ab41d2713cc83b7c390022d51ef6b28f0b7f9757b8)
6464
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6465
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
5439
6466
 
5440
6467
  @jsii.data_type(
5441
- jsii_type="aws-cdk-lib.aws_lightsail.CfnDistribution.QueryStringObjectProperty",
6468
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDomain.DomainEntryProperty",
5442
6469
  jsii_struct_bases=[],
5443
6470
  name_mapping={
5444
- "option": "option",
5445
- "query_strings_allow_list": "queryStringsAllowList",
6471
+ "name": "name",
6472
+ "target": "target",
6473
+ "type": "type",
6474
+ "id": "id",
6475
+ "is_alias": "isAlias",
5446
6476
  },
5447
6477
  )
5448
- class QueryStringObjectProperty:
6478
+ class DomainEntryProperty:
5449
6479
  def __init__(
5450
6480
  self,
5451
6481
  *,
5452
- option: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5453
- query_strings_allow_list: typing.Optional[typing.Sequence[builtins.str]] = None,
6482
+ name: builtins.str,
6483
+ target: builtins.str,
6484
+ type: builtins.str,
6485
+ id: typing.Optional[builtins.str] = None,
6486
+ is_alias: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5454
6487
  ) -> None:
5455
- '''``QueryStringObject`` is a property of the `CacheSettings <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-cachesettings.html>`_ property. It describes the query string parameters that an Amazon Lightsail content delivery network (CDN) distribution to bases caching on.
5456
-
5457
- For the query strings that you specify, your distribution caches separate versions of the specified content based on the query string values in viewer requests.
6488
+ '''Describes a domain recordset entry.
5458
6489
 
5459
- :param option: Indicates whether the distribution forwards and caches based on query strings.
5460
- :param query_strings_allow_list: The specific query strings that the distribution forwards to the origin. Your distribution caches content based on the specified query strings. If the ``option`` parameter is true, then your distribution forwards all query strings, regardless of what you specify using the ``QueryStringsAllowList`` parameter.
6490
+ :param name: The name of the domain.
6491
+ :param target: The target IP address ( ``192.0.2.0`` ), or AWS name server ( ``ns-111.awsdns-22.com.`` ). For Lightsail load balancers, the value looks like ``ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com`` . For Lightsail distributions, the value looks like ``exampled1182ne.cloudfront.net`` . For Lightsail container services, the value looks like ``container-service-1.example23scljs.us-west-2.cs.amazonlightsail.com`` . Be sure to also set ``isAlias`` to ``true`` when setting up an A record for a Lightsail load balancer, distribution, or container service.
6492
+ :param type: The type of domain entry, such as address for IPv4 (A), address for IPv6 (AAAA), canonical name (CNAME), mail exchanger (MX), name server (NS), start of authority (SOA), service locator (SRV), or text (TXT). The following domain entry types can be used: - ``A`` - ``AAAA`` - ``CNAME`` - ``MX`` - ``NS`` - ``SOA`` - ``SRV`` - ``TXT``
6493
+ :param id: The ID of the domain recordset entry.
6494
+ :param is_alias: When ``true`` , specifies whether the domain entry is an alias used by the Lightsail load balancer, Lightsail container service, Lightsail content delivery network (CDN) distribution, or another AWS resource. You can include an alias (A type) record in your request, which points to the DNS name of a load balancer, container service, CDN distribution, or other AWS resource and routes traffic to that resource.
5461
6495
 
5462
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-querystringobject.html
6496
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-domain-domainentry.html
5463
6497
  :exampleMetadata: fixture=_generated
5464
6498
 
5465
6499
  Example::
@@ -5468,46 +6502,97 @@ class CfnDistribution(
5468
6502
  # The values are placeholders you should change.
5469
6503
  from aws_cdk import aws_lightsail as lightsail
5470
6504
 
5471
- query_string_object_property = lightsail.CfnDistribution.QueryStringObjectProperty(
5472
- option=False,
5473
- query_strings_allow_list=["queryStringsAllowList"]
6505
+ domain_entry_property = lightsail.CfnDomain.DomainEntryProperty(
6506
+ name="name",
6507
+ target="target",
6508
+ type="type",
6509
+
6510
+ # the properties below are optional
6511
+ id="id",
6512
+ is_alias=False
5474
6513
  )
5475
6514
  '''
5476
6515
  if __debug__:
5477
- type_hints = typing.get_type_hints(_typecheckingstub__d3d10f0e1349e20e39be61df90b8a453ebfd22f3496fc3e4391831ccb7b40abd)
5478
- check_type(argname="argument option", value=option, expected_type=type_hints["option"])
5479
- check_type(argname="argument query_strings_allow_list", value=query_strings_allow_list, expected_type=type_hints["query_strings_allow_list"])
5480
- self._values: typing.Dict[builtins.str, typing.Any] = {}
5481
- if option is not None:
5482
- self._values["option"] = option
5483
- if query_strings_allow_list is not None:
5484
- self._values["query_strings_allow_list"] = query_strings_allow_list
6516
+ type_hints = typing.get_type_hints(_typecheckingstub__a2089a9f9b5a6ae2cd6b2c26e4c85e131b82f110629db2f6b789e7f8555f3c51)
6517
+ check_type(argname="argument name", value=name, expected_type=type_hints["name"])
6518
+ check_type(argname="argument target", value=target, expected_type=type_hints["target"])
6519
+ check_type(argname="argument type", value=type, expected_type=type_hints["type"])
6520
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
6521
+ check_type(argname="argument is_alias", value=is_alias, expected_type=type_hints["is_alias"])
6522
+ self._values: typing.Dict[builtins.str, typing.Any] = {
6523
+ "name": name,
6524
+ "target": target,
6525
+ "type": type,
6526
+ }
6527
+ if id is not None:
6528
+ self._values["id"] = id
6529
+ if is_alias is not None:
6530
+ self._values["is_alias"] = is_alias
5485
6531
 
5486
6532
  @builtins.property
5487
- def option(
5488
- self,
5489
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
5490
- '''Indicates whether the distribution forwards and caches based on query strings.
6533
+ def name(self) -> builtins.str:
6534
+ '''The name of the domain.
5491
6535
 
5492
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-querystringobject.html#cfn-lightsail-distribution-querystringobject-option
6536
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-domain-domainentry.html#cfn-lightsail-domain-domainentry-name
5493
6537
  '''
5494
- result = self._values.get("option")
5495
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6538
+ result = self._values.get("name")
6539
+ assert result is not None, "Required property 'name' is missing"
6540
+ return typing.cast(builtins.str, result)
5496
6541
 
5497
6542
  @builtins.property
5498
- def query_strings_allow_list(
5499
- self,
5500
- ) -> typing.Optional[typing.List[builtins.str]]:
5501
- '''The specific query strings that the distribution forwards to the origin.
6543
+ def target(self) -> builtins.str:
6544
+ '''The target IP address ( ``192.0.2.0`` ), or AWS name server ( ``ns-111.awsdns-22.com.`` ).
5502
6545
 
5503
- Your distribution caches content based on the specified query strings.
6546
+ For Lightsail load balancers, the value looks like ``ab1234c56789c6b86aba6fb203d443bc-123456789.us-east-2.elb.amazonaws.com`` . For Lightsail distributions, the value looks like ``exampled1182ne.cloudfront.net`` . For Lightsail container services, the value looks like ``container-service-1.example23scljs.us-west-2.cs.amazonlightsail.com`` . Be sure to also set ``isAlias`` to ``true`` when setting up an A record for a Lightsail load balancer, distribution, or container service.
5504
6547
 
5505
- If the ``option`` parameter is true, then your distribution forwards all query strings, regardless of what you specify using the ``QueryStringsAllowList`` parameter.
6548
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-domain-domainentry.html#cfn-lightsail-domain-domainentry-target
6549
+ '''
6550
+ result = self._values.get("target")
6551
+ assert result is not None, "Required property 'target' is missing"
6552
+ return typing.cast(builtins.str, result)
5506
6553
 
5507
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-distribution-querystringobject.html#cfn-lightsail-distribution-querystringobject-querystringsallowlist
6554
+ @builtins.property
6555
+ def type(self) -> builtins.str:
6556
+ '''The type of domain entry, such as address for IPv4 (A), address for IPv6 (AAAA), canonical name (CNAME), mail exchanger (MX), name server (NS), start of authority (SOA), service locator (SRV), or text (TXT).
6557
+
6558
+ The following domain entry types can be used:
6559
+
6560
+ - ``A``
6561
+ - ``AAAA``
6562
+ - ``CNAME``
6563
+ - ``MX``
6564
+ - ``NS``
6565
+ - ``SOA``
6566
+ - ``SRV``
6567
+ - ``TXT``
6568
+
6569
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-domain-domainentry.html#cfn-lightsail-domain-domainentry-type
5508
6570
  '''
5509
- result = self._values.get("query_strings_allow_list")
5510
- return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6571
+ result = self._values.get("type")
6572
+ assert result is not None, "Required property 'type' is missing"
6573
+ return typing.cast(builtins.str, result)
6574
+
6575
+ @builtins.property
6576
+ def id(self) -> typing.Optional[builtins.str]:
6577
+ '''The ID of the domain recordset entry.
6578
+
6579
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-domain-domainentry.html#cfn-lightsail-domain-domainentry-id
6580
+ '''
6581
+ result = self._values.get("id")
6582
+ return typing.cast(typing.Optional[builtins.str], result)
6583
+
6584
+ @builtins.property
6585
+ def is_alias(
6586
+ self,
6587
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6588
+ '''When ``true`` , specifies whether the domain entry is an alias used by the Lightsail load balancer, Lightsail container service, Lightsail content delivery network (CDN) distribution, or another AWS resource.
6589
+
6590
+ You can include an alias (A type) record in your request, which points to the DNS name of a load balancer, container service, CDN distribution, or other AWS resource and routes traffic to that resource.
6591
+
6592
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-domain-domainentry.html#cfn-lightsail-domain-domainentry-isalias
6593
+ '''
6594
+ result = self._values.get("is_alias")
6595
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
5511
6596
 
5512
6597
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
5513
6598
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -5516,249 +6601,176 @@ class CfnDistribution(
5516
6601
  return not (rhs == self)
5517
6602
 
5518
6603
  def __repr__(self) -> str:
5519
- return "QueryStringObjectProperty(%s)" % ", ".join(
6604
+ return "DomainEntryProperty(%s)" % ", ".join(
5520
6605
  k + "=" + repr(v) for k, v in self._values.items()
5521
6606
  )
5522
6607
 
6608
+ @jsii.data_type(
6609
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDomain.LocationProperty",
6610
+ jsii_struct_bases=[],
6611
+ name_mapping={
6612
+ "availability_zone": "availabilityZone",
6613
+ "region_name": "regionName",
6614
+ },
6615
+ )
6616
+ class LocationProperty:
6617
+ def __init__(
6618
+ self,
6619
+ *,
6620
+ availability_zone: typing.Optional[builtins.str] = None,
6621
+ region_name: typing.Optional[builtins.str] = None,
6622
+ ) -> None:
6623
+ '''The AWS Region and Availability Zone where the domain was created (read-only).
5523
6624
 
5524
- @jsii.data_type(
5525
- jsii_type="aws-cdk-lib.aws_lightsail.CfnDistributionProps",
5526
- jsii_struct_bases=[],
5527
- name_mapping={
5528
- "bundle_id": "bundleId",
5529
- "default_cache_behavior": "defaultCacheBehavior",
5530
- "distribution_name": "distributionName",
5531
- "origin": "origin",
5532
- "cache_behaviors": "cacheBehaviors",
5533
- "cache_behavior_settings": "cacheBehaviorSettings",
5534
- "certificate_name": "certificateName",
5535
- "ip_address_type": "ipAddressType",
5536
- "is_enabled": "isEnabled",
5537
- "tags": "tags",
5538
- },
5539
- )
5540
- class CfnDistributionProps:
5541
- def __init__(
5542
- self,
5543
- *,
5544
- bundle_id: builtins.str,
5545
- default_cache_behavior: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.CacheBehaviorProperty, typing.Dict[builtins.str, typing.Any]]],
5546
- distribution_name: builtins.str,
5547
- origin: typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.InputOriginProperty, typing.Dict[builtins.str, typing.Any]]],
5548
- cache_behaviors: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.CacheBehaviorPerPathProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
5549
- cache_behavior_settings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDistribution.CacheSettingsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5550
- certificate_name: typing.Optional[builtins.str] = None,
5551
- ip_address_type: typing.Optional[builtins.str] = None,
5552
- is_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5553
- tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5554
- ) -> None:
5555
- '''Properties for defining a ``CfnDistribution``.
5556
-
5557
- :param bundle_id: The ID of the bundle applied to the distribution.
5558
- :param default_cache_behavior: An object that describes the default cache behavior of the distribution.
5559
- :param distribution_name: The name of the distribution.
5560
- :param origin: An object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer. The distribution pulls, caches, and serves content from the origin.
5561
- :param cache_behaviors: An array of objects that describe the per-path cache behavior of the distribution.
5562
- :param cache_behavior_settings: An object that describes the cache behavior settings of the distribution.
5563
- :param certificate_name: The name of the SSL/TLS certificate attached to the distribution.
5564
- :param ip_address_type: The IP address type of the distribution. The possible values are ``ipv4`` for IPv4 only, and ``dualstack`` for IPv4 and IPv6.
5565
- :param is_enabled: A Boolean value indicating whether the distribution is enabled.
5566
- :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ in the *AWS CloudFormation User Guide* . .. epigraph:: The ``Value`` of ``Tags`` is optional for Lightsail resources.
6625
+ :param availability_zone: The Availability Zone.
6626
+ :param region_name: The AWS Region name.
5567
6627
 
5568
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html
5569
- :exampleMetadata: fixture=_generated
6628
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-domain-location.html
6629
+ :exampleMetadata: fixture=_generated
5570
6630
 
5571
- Example::
6631
+ Example::
5572
6632
 
5573
- # The code below shows an example of how to instantiate this type.
5574
- # The values are placeholders you should change.
5575
- from aws_cdk import aws_lightsail as lightsail
5576
-
5577
- cfn_distribution_props = lightsail.CfnDistributionProps(
5578
- bundle_id="bundleId",
5579
- default_cache_behavior=lightsail.CfnDistribution.CacheBehaviorProperty(
5580
- behavior="behavior"
5581
- ),
5582
- distribution_name="distributionName",
5583
- origin=lightsail.CfnDistribution.InputOriginProperty(
5584
- name="name",
5585
- protocol_policy="protocolPolicy",
6633
+ # The code below shows an example of how to instantiate this type.
6634
+ # The values are placeholders you should change.
6635
+ from aws_cdk import aws_lightsail as lightsail
6636
+
6637
+ location_property = lightsail.CfnDomain.LocationProperty(
6638
+ availability_zone="availabilityZone",
5586
6639
  region_name="regionName"
5587
- ),
5588
-
5589
- # the properties below are optional
5590
- cache_behaviors=[lightsail.CfnDistribution.CacheBehaviorPerPathProperty(
5591
- behavior="behavior",
5592
- path="path"
5593
- )],
5594
- cache_behavior_settings=lightsail.CfnDistribution.CacheSettingsProperty(
5595
- allowed_http_methods="allowedHttpMethods",
5596
- cached_http_methods="cachedHttpMethods",
5597
- default_ttl=123,
5598
- forwarded_cookies=lightsail.CfnDistribution.CookieObjectProperty(
5599
- cookies_allow_list=["cookiesAllowList"],
5600
- option="option"
5601
- ),
5602
- forwarded_headers=lightsail.CfnDistribution.HeaderObjectProperty(
5603
- headers_allow_list=["headersAllowList"],
5604
- option="option"
5605
- ),
5606
- forwarded_query_strings=lightsail.CfnDistribution.QueryStringObjectProperty(
5607
- option=False,
5608
- query_strings_allow_list=["queryStringsAllowList"]
5609
- ),
5610
- maximum_ttl=123,
5611
- minimum_ttl=123
5612
- ),
5613
- certificate_name="certificateName",
5614
- ip_address_type="ipAddressType",
5615
- is_enabled=False,
5616
- tags=[CfnTag(
5617
- key="key",
5618
- value="value"
5619
- )]
5620
- )
5621
- '''
5622
- if __debug__:
5623
- type_hints = typing.get_type_hints(_typecheckingstub__5746be261e67458f872b406208009ddcf740c3277f27869ccbc24697bfb6d14c)
5624
- check_type(argname="argument bundle_id", value=bundle_id, expected_type=type_hints["bundle_id"])
5625
- check_type(argname="argument default_cache_behavior", value=default_cache_behavior, expected_type=type_hints["default_cache_behavior"])
5626
- check_type(argname="argument distribution_name", value=distribution_name, expected_type=type_hints["distribution_name"])
5627
- check_type(argname="argument origin", value=origin, expected_type=type_hints["origin"])
5628
- check_type(argname="argument cache_behaviors", value=cache_behaviors, expected_type=type_hints["cache_behaviors"])
5629
- check_type(argname="argument cache_behavior_settings", value=cache_behavior_settings, expected_type=type_hints["cache_behavior_settings"])
5630
- check_type(argname="argument certificate_name", value=certificate_name, expected_type=type_hints["certificate_name"])
5631
- check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
5632
- check_type(argname="argument is_enabled", value=is_enabled, expected_type=type_hints["is_enabled"])
5633
- check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
5634
- self._values: typing.Dict[builtins.str, typing.Any] = {
5635
- "bundle_id": bundle_id,
5636
- "default_cache_behavior": default_cache_behavior,
5637
- "distribution_name": distribution_name,
5638
- "origin": origin,
5639
- }
5640
- if cache_behaviors is not None:
5641
- self._values["cache_behaviors"] = cache_behaviors
5642
- if cache_behavior_settings is not None:
5643
- self._values["cache_behavior_settings"] = cache_behavior_settings
5644
- if certificate_name is not None:
5645
- self._values["certificate_name"] = certificate_name
5646
- if ip_address_type is not None:
5647
- self._values["ip_address_type"] = ip_address_type
5648
- if is_enabled is not None:
5649
- self._values["is_enabled"] = is_enabled
5650
- if tags is not None:
5651
- self._values["tags"] = tags
5652
-
5653
- @builtins.property
5654
- def bundle_id(self) -> builtins.str:
5655
- '''The ID of the bundle applied to the distribution.
5656
-
5657
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-bundleid
5658
- '''
5659
- result = self._values.get("bundle_id")
5660
- assert result is not None, "Required property 'bundle_id' is missing"
5661
- return typing.cast(builtins.str, result)
5662
-
5663
- @builtins.property
5664
- def default_cache_behavior(
5665
- self,
5666
- ) -> typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheBehaviorProperty]:
5667
- '''An object that describes the default cache behavior of the distribution.
6640
+ )
6641
+ '''
6642
+ if __debug__:
6643
+ type_hints = typing.get_type_hints(_typecheckingstub__90dd64f1adcbc46305e94119be963a9a0b42e98e0d597ac23263cfbc5cf2e695)
6644
+ check_type(argname="argument availability_zone", value=availability_zone, expected_type=type_hints["availability_zone"])
6645
+ check_type(argname="argument region_name", value=region_name, expected_type=type_hints["region_name"])
6646
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6647
+ if availability_zone is not None:
6648
+ self._values["availability_zone"] = availability_zone
6649
+ if region_name is not None:
6650
+ self._values["region_name"] = region_name
5668
6651
 
5669
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-defaultcachebehavior
5670
- '''
5671
- result = self._values.get("default_cache_behavior")
5672
- assert result is not None, "Required property 'default_cache_behavior' is missing"
5673
- return typing.cast(typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheBehaviorProperty], result)
6652
+ @builtins.property
6653
+ def availability_zone(self) -> typing.Optional[builtins.str]:
6654
+ '''The Availability Zone.
5674
6655
 
5675
- @builtins.property
5676
- def distribution_name(self) -> builtins.str:
5677
- '''The name of the distribution.
6656
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-domain-location.html#cfn-lightsail-domain-location-availabilityzone
6657
+ '''
6658
+ result = self._values.get("availability_zone")
6659
+ return typing.cast(typing.Optional[builtins.str], result)
5678
6660
 
5679
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-distributionname
5680
- '''
5681
- result = self._values.get("distribution_name")
5682
- assert result is not None, "Required property 'distribution_name' is missing"
5683
- return typing.cast(builtins.str, result)
6661
+ @builtins.property
6662
+ def region_name(self) -> typing.Optional[builtins.str]:
6663
+ '''The AWS Region name.
5684
6664
 
5685
- @builtins.property
5686
- def origin(
5687
- self,
5688
- ) -> typing.Union[_IResolvable_da3f097b, CfnDistribution.InputOriginProperty]:
5689
- '''An object that describes the origin resource of the distribution, such as a Lightsail instance, bucket, or load balancer.
6665
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lightsail-domain-location.html#cfn-lightsail-domain-location-regionname
6666
+ '''
6667
+ result = self._values.get("region_name")
6668
+ return typing.cast(typing.Optional[builtins.str], result)
5690
6669
 
5691
- The distribution pulls, caches, and serves content from the origin.
6670
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6671
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5692
6672
 
5693
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-origin
5694
- '''
5695
- result = self._values.get("origin")
5696
- assert result is not None, "Required property 'origin' is missing"
5697
- return typing.cast(typing.Union[_IResolvable_da3f097b, CfnDistribution.InputOriginProperty], result)
6673
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6674
+ return not (rhs == self)
5698
6675
 
5699
- @builtins.property
5700
- def cache_behaviors(
5701
- self,
5702
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheBehaviorPerPathProperty]]]]:
5703
- '''An array of objects that describe the per-path cache behavior of the distribution.
6676
+ def __repr__(self) -> str:
6677
+ return "LocationProperty(%s)" % ", ".join(
6678
+ k + "=" + repr(v) for k, v in self._values.items()
6679
+ )
5704
6680
 
5705
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-cachebehaviors
5706
- '''
5707
- result = self._values.get("cache_behaviors")
5708
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheBehaviorPerPathProperty]]]], result)
5709
6681
 
5710
- @builtins.property
5711
- def cache_behavior_settings(
6682
+ @jsii.data_type(
6683
+ jsii_type="aws-cdk-lib.aws_lightsail.CfnDomainProps",
6684
+ jsii_struct_bases=[],
6685
+ name_mapping={
6686
+ "domain_name": "domainName",
6687
+ "domain_entries": "domainEntries",
6688
+ "tags": "tags",
6689
+ },
6690
+ )
6691
+ class CfnDomainProps:
6692
+ def __init__(
5712
6693
  self,
5713
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheSettingsProperty]]:
5714
- '''An object that describes the cache behavior settings of the distribution.
6694
+ *,
6695
+ domain_name: builtins.str,
6696
+ domain_entries: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.DomainEntryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
6697
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
6698
+ ) -> None:
6699
+ '''Properties for defining a ``CfnDomain``.
5715
6700
 
5716
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-cachebehaviorsettings
5717
- '''
5718
- result = self._values.get("cache_behavior_settings")
5719
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnDistribution.CacheSettingsProperty]], result)
6701
+ :param domain_name: The fully qualified domain name in the certificate request.
6702
+ :param domain_entries: An array of key-value pairs containing information about the domain entries.
6703
+ :param tags: The tag keys and optional values for the resource. For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
5720
6704
 
5721
- @builtins.property
5722
- def certificate_name(self) -> typing.Optional[builtins.str]:
5723
- '''The name of the SSL/TLS certificate attached to the distribution.
6705
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-domain.html
6706
+ :exampleMetadata: fixture=_generated
5724
6707
 
5725
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-certificatename
6708
+ Example::
6709
+
6710
+ # The code below shows an example of how to instantiate this type.
6711
+ # The values are placeholders you should change.
6712
+ from aws_cdk import aws_lightsail as lightsail
6713
+
6714
+ cfn_domain_props = lightsail.CfnDomainProps(
6715
+ domain_name="domainName",
6716
+
6717
+ # the properties below are optional
6718
+ domain_entries=[lightsail.CfnDomain.DomainEntryProperty(
6719
+ name="name",
6720
+ target="target",
6721
+ type="type",
6722
+
6723
+ # the properties below are optional
6724
+ id="id",
6725
+ is_alias=False
6726
+ )],
6727
+ tags=[CfnTag(
6728
+ key="key",
6729
+ value="value"
6730
+ )]
6731
+ )
5726
6732
  '''
5727
- result = self._values.get("certificate_name")
5728
- return typing.cast(typing.Optional[builtins.str], result)
6733
+ if __debug__:
6734
+ type_hints = typing.get_type_hints(_typecheckingstub__b15d375f4723a95213ce832b405ecb413a0e590e3d391fc2396fabdd2d0f9eee)
6735
+ check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
6736
+ check_type(argname="argument domain_entries", value=domain_entries, expected_type=type_hints["domain_entries"])
6737
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
6738
+ self._values: typing.Dict[builtins.str, typing.Any] = {
6739
+ "domain_name": domain_name,
6740
+ }
6741
+ if domain_entries is not None:
6742
+ self._values["domain_entries"] = domain_entries
6743
+ if tags is not None:
6744
+ self._values["tags"] = tags
5729
6745
 
5730
6746
  @builtins.property
5731
- def ip_address_type(self) -> typing.Optional[builtins.str]:
5732
- '''The IP address type of the distribution.
5733
-
5734
- The possible values are ``ipv4`` for IPv4 only, and ``dualstack`` for IPv4 and IPv6.
6747
+ def domain_name(self) -> builtins.str:
6748
+ '''The fully qualified domain name in the certificate request.
5735
6749
 
5736
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-ipaddresstype
6750
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-domain.html#cfn-lightsail-domain-domainname
5737
6751
  '''
5738
- result = self._values.get("ip_address_type")
5739
- return typing.cast(typing.Optional[builtins.str], result)
6752
+ result = self._values.get("domain_name")
6753
+ assert result is not None, "Required property 'domain_name' is missing"
6754
+ return typing.cast(builtins.str, result)
5740
6755
 
5741
6756
  @builtins.property
5742
- def is_enabled(
6757
+ def domain_entries(
5743
6758
  self,
5744
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
5745
- '''A Boolean value indicating whether the distribution is enabled.
6759
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnDomain.DomainEntryProperty]]]]:
6760
+ '''An array of key-value pairs containing information about the domain entries.
5746
6761
 
5747
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-isenabled
6762
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-domain.html#cfn-lightsail-domain-domainentries
5748
6763
  '''
5749
- result = self._values.get("is_enabled")
5750
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6764
+ result = self._values.get("domain_entries")
6765
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnDomain.DomainEntryProperty]]]], result)
5751
6766
 
5752
6767
  @builtins.property
5753
6768
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
5754
- '''An array of key-value pairs to apply to this resource.
6769
+ '''The tag keys and optional values for the resource.
5755
6770
 
5756
- For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ in the *AWS CloudFormation User Guide* .
5757
- .. epigraph::
5758
-
5759
- The ``Value`` of ``Tags`` is optional for Lightsail resources.
6771
+ For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
5760
6772
 
5761
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-distribution.html#cfn-lightsail-distribution-tags
6773
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-domain.html#cfn-lightsail-domain-tags
5762
6774
  '''
5763
6775
  result = self._values.get("tags")
5764
6776
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
@@ -5770,12 +6782,12 @@ class CfnDistributionProps:
5770
6782
  return not (rhs == self)
5771
6783
 
5772
6784
  def __repr__(self) -> str:
5773
- return "CfnDistributionProps(%s)" % ", ".join(
6785
+ return "CfnDomainProps(%s)" % ", ".join(
5774
6786
  k + "=" + repr(v) for k, v in self._values.items()
5775
6787
  )
5776
6788
 
5777
6789
 
5778
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
6790
+ @jsii.implements(_IInspectable_c2943556, _IInstanceRef_f1c05940, _ITaggable_36806126)
5779
6791
  class CfnInstance(
5780
6792
  _CfnResource_9df397a6,
5781
6793
  metaclass=jsii.JSIIMeta,
@@ -5878,7 +6890,8 @@ class CfnInstance(
5878
6890
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5879
6891
  user_data: typing.Optional[builtins.str] = None,
5880
6892
  ) -> None:
5881
- '''
6893
+ '''Create a new ``AWS::Lightsail::Instance``.
6894
+
5882
6895
  :param scope: Scope in which this resource is defined.
5883
6896
  :param id: Construct identifier for this resource (unique in its scope).
5884
6897
  :param blueprint_id: The blueprint ID for the instance (for example, ``os_amlinux_2016_03`` ).
@@ -6096,6 +7109,12 @@ class CfnInstance(
6096
7109
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
6097
7110
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
6098
7111
 
7112
+ @builtins.property
7113
+ @jsii.member(jsii_name="instanceRef")
7114
+ def instance_ref(self) -> _InstanceReference_f3b82c18:
7115
+ '''A reference to a Instance resource.'''
7116
+ return typing.cast(_InstanceReference_f3b82c18, jsii.get(self, "instanceRef"))
7117
+
6099
7118
  @builtins.property
6100
7119
  @jsii.member(jsii_name="tags")
6101
7120
  def tags(self) -> _TagManager_0a598cb3:
@@ -7574,13 +8593,13 @@ class CfnInstanceProps:
7574
8593
  )
7575
8594
 
7576
8595
 
7577
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
8596
+ @jsii.implements(_IInspectable_c2943556, _IInstanceSnapshotRef_c18fd10c, _ITaggableV2_4e6798f8)
7578
8597
  class CfnInstanceSnapshot(
7579
8598
  _CfnResource_9df397a6,
7580
8599
  metaclass=jsii.JSIIMeta,
7581
8600
  jsii_type="aws-cdk-lib.aws_lightsail.CfnInstanceSnapshot",
7582
8601
  ):
7583
- '''Resource Type definition for AWS::Lightsail::InstanceSnapshot.
8602
+ '''Describes an instance snapshot.
7584
8603
 
7585
8604
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instancesnapshot.html
7586
8605
  :cloudformationResource: AWS::Lightsail::InstanceSnapshot
@@ -7613,12 +8632,13 @@ class CfnInstanceSnapshot(
7613
8632
  instance_snapshot_name: builtins.str,
7614
8633
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7615
8634
  ) -> None:
7616
- '''
8635
+ '''Create a new ``AWS::Lightsail::InstanceSnapshot``.
8636
+
7617
8637
  :param scope: Scope in which this resource is defined.
7618
8638
  :param id: Construct identifier for this resource (unique in its scope).
7619
- :param instance_name: The instance from which the snapshot was created.
8639
+ :param instance_name: The name the user gave the instance ( ``Amazon_Linux_2023-1`` ).
7620
8640
  :param instance_snapshot_name: The name of the snapshot.
7621
- :param tags: An array of key-value pairs to apply to this resource.
8641
+ :param tags: The tag keys and optional values for the resource. For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
7622
8642
  '''
7623
8643
  if __debug__:
7624
8644
  type_hints = typing.get_type_hints(_typecheckingstub__b541a8ae34465f7b9196a2ba229a1f5fd9a1a2d84c59e0a52b4bb8767067a951)
@@ -7665,7 +8685,7 @@ class CfnInstanceSnapshot(
7665
8685
  @builtins.property
7666
8686
  @jsii.member(jsii_name="attrArn")
7667
8687
  def attr_arn(self) -> builtins.str:
7668
- '''The Amazon Resource Name (ARN) of the snapshot.
8688
+ '''The Amazon Resource Name (ARN) of the snapshot ( ``arn:aws:lightsail:us-east-2:123456789101:InstanceSnapshot/d23b5706-3322-4d83-81e5-12345EXAMPLE`` ).
7669
8689
 
7670
8690
  :cloudformationAttribute: Arn
7671
8691
  '''
@@ -7674,7 +8694,7 @@ class CfnInstanceSnapshot(
7674
8694
  @builtins.property
7675
8695
  @jsii.member(jsii_name="attrFromInstanceArn")
7676
8696
  def attr_from_instance_arn(self) -> builtins.str:
7677
- '''The Amazon Resource Name (ARN) of the instance from which the snapshot was created.
8697
+ '''The Amazon Resource Name (ARN) of the instance from which the snapshot was created ( ``arn:aws:lightsail:us-east-2:123456789101:Instance/64b8404c-ccb1-430b-8daf-12345EXAMPLE`` ).
7678
8698
 
7679
8699
  :cloudformationAttribute: FromInstanceArn
7680
8700
  '''
@@ -7710,7 +8730,7 @@ class CfnInstanceSnapshot(
7710
8730
  @builtins.property
7711
8731
  @jsii.member(jsii_name="attrResourceType")
7712
8732
  def attr_resource_type(self) -> builtins.str:
7713
- '''The type of resource (usually InstanceSnapshot).
8733
+ '''The type of resource (usually ``InstanceSnapshot`` ).
7714
8734
 
7715
8735
  :cloudformationAttribute: ResourceType
7716
8736
  '''
@@ -7737,7 +8757,9 @@ class CfnInstanceSnapshot(
7737
8757
  @builtins.property
7738
8758
  @jsii.member(jsii_name="attrSupportCode")
7739
8759
  def attr_support_code(self) -> builtins.str:
7740
- '''Support code to help identify any issues.
8760
+ '''The support code.
8761
+
8762
+ Include this code in your email to support when you have questions about an instance or another resource in Lightsail. This code enables our support team to look up your Lightsail information more easily.
7741
8763
 
7742
8764
  :cloudformationAttribute: SupportCode
7743
8765
  '''
@@ -7754,10 +8776,16 @@ class CfnInstanceSnapshot(
7754
8776
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
7755
8777
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
7756
8778
 
8779
+ @builtins.property
8780
+ @jsii.member(jsii_name="instanceSnapshotRef")
8781
+ def instance_snapshot_ref(self) -> _InstanceSnapshotReference_90d3b17d:
8782
+ '''A reference to a InstanceSnapshot resource.'''
8783
+ return typing.cast(_InstanceSnapshotReference_90d3b17d, jsii.get(self, "instanceSnapshotRef"))
8784
+
7757
8785
  @builtins.property
7758
8786
  @jsii.member(jsii_name="instanceName")
7759
8787
  def instance_name(self) -> builtins.str:
7760
- '''The instance from which the snapshot was created.'''
8788
+ '''The name the user gave the instance ( ``Amazon_Linux_2023-1`` ).'''
7761
8789
  return typing.cast(builtins.str, jsii.get(self, "instanceName"))
7762
8790
 
7763
8791
  @instance_name.setter
@@ -7783,7 +8811,7 @@ class CfnInstanceSnapshot(
7783
8811
  @builtins.property
7784
8812
  @jsii.member(jsii_name="tags")
7785
8813
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
7786
- '''An array of key-value pairs to apply to this resource.'''
8814
+ '''The tag keys and optional values for the resource.'''
7787
8815
  return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
7788
8816
 
7789
8817
  @tags.setter
@@ -7888,9 +8916,9 @@ class CfnInstanceSnapshotProps:
7888
8916
  ) -> None:
7889
8917
  '''Properties for defining a ``CfnInstanceSnapshot``.
7890
8918
 
7891
- :param instance_name: The instance from which the snapshot was created.
8919
+ :param instance_name: The name the user gave the instance ( ``Amazon_Linux_2023-1`` ).
7892
8920
  :param instance_snapshot_name: The name of the snapshot.
7893
- :param tags: An array of key-value pairs to apply to this resource.
8921
+ :param tags: The tag keys and optional values for the resource. For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
7894
8922
 
7895
8923
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instancesnapshot.html
7896
8924
  :exampleMetadata: fixture=_generated
@@ -7926,7 +8954,7 @@ class CfnInstanceSnapshotProps:
7926
8954
 
7927
8955
  @builtins.property
7928
8956
  def instance_name(self) -> builtins.str:
7929
- '''The instance from which the snapshot was created.
8957
+ '''The name the user gave the instance ( ``Amazon_Linux_2023-1`` ).
7930
8958
 
7931
8959
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instancesnapshot.html#cfn-lightsail-instancesnapshot-instancename
7932
8960
  '''
@@ -7946,7 +8974,9 @@ class CfnInstanceSnapshotProps:
7946
8974
 
7947
8975
  @builtins.property
7948
8976
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
7949
- '''An array of key-value pairs to apply to this resource.
8977
+ '''The tag keys and optional values for the resource.
8978
+
8979
+ For more information about tags in Lightsail, see the `Amazon Lightsail Developer Guide <https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-tags>`_ .
7950
8980
 
7951
8981
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lightsail-instancesnapshot.html#cfn-lightsail-instancesnapshot-tags
7952
8982
  '''
@@ -7965,7 +8995,7 @@ class CfnInstanceSnapshotProps:
7965
8995
  )
7966
8996
 
7967
8997
 
7968
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
8998
+ @jsii.implements(_IInspectable_c2943556, _ILoadBalancerRef_7b5a1371, _ITaggable_36806126)
7969
8999
  class CfnLoadBalancer(
7970
9000
  _CfnResource_9df397a6,
7971
9001
  metaclass=jsii.JSIIMeta,
@@ -8020,7 +9050,8 @@ class CfnLoadBalancer(
8020
9050
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8021
9051
  tls_policy_name: typing.Optional[builtins.str] = None,
8022
9052
  ) -> None:
8023
- '''
9053
+ '''Create a new ``AWS::Lightsail::LoadBalancer``.
9054
+
8024
9055
  :param scope: Scope in which this resource is defined.
8025
9056
  :param id: Construct identifier for this resource (unique in its scope).
8026
9057
  :param instance_port: The port that the load balancer uses to direct traffic to your Lightsail instances. For HTTP traffic, specify port ``80`` . For HTTPS traffic, specify port ``443`` .
@@ -8095,6 +9126,12 @@ class CfnLoadBalancer(
8095
9126
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8096
9127
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8097
9128
 
9129
+ @builtins.property
9130
+ @jsii.member(jsii_name="loadBalancerRef")
9131
+ def load_balancer_ref(self) -> _LoadBalancerReference_c8dab726:
9132
+ '''A reference to a LoadBalancer resource.'''
9133
+ return typing.cast(_LoadBalancerReference_c8dab726, jsii.get(self, "loadBalancerRef"))
9134
+
8098
9135
  @builtins.property
8099
9136
  @jsii.member(jsii_name="tags")
8100
9137
  def tags(self) -> _TagManager_0a598cb3:
@@ -8443,7 +9480,7 @@ class CfnLoadBalancerProps:
8443
9480
  )
8444
9481
 
8445
9482
 
8446
- @jsii.implements(_IInspectable_c2943556)
9483
+ @jsii.implements(_IInspectable_c2943556, _ILoadBalancerTlsCertificateRef_c1bbdf26)
8447
9484
  class CfnLoadBalancerTlsCertificate(
8448
9485
  _CfnResource_9df397a6,
8449
9486
  metaclass=jsii.JSIIMeta,
@@ -8485,7 +9522,8 @@ class CfnLoadBalancerTlsCertificate(
8485
9522
  https_redirection_enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
8486
9523
  is_attached: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
8487
9524
  ) -> None:
8488
- '''
9525
+ '''Create a new ``AWS::Lightsail::LoadBalancerTlsCertificate``.
9526
+
8489
9527
  :param scope: Scope in which this resource is defined.
8490
9528
  :param id: Construct identifier for this resource (unique in its scope).
8491
9529
  :param certificate_domain_name: The domain name for the SSL/TLS certificate. For example, ``example.com`` or ``www.example.com`` .
@@ -8565,6 +9603,14 @@ class CfnLoadBalancerTlsCertificate(
8565
9603
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8566
9604
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8567
9605
 
9606
+ @builtins.property
9607
+ @jsii.member(jsii_name="loadBalancerTlsCertificateRef")
9608
+ def load_balancer_tls_certificate_ref(
9609
+ self,
9610
+ ) -> _LoadBalancerTlsCertificateReference_7a33f29e:
9611
+ '''A reference to a LoadBalancerTlsCertificate resource.'''
9612
+ return typing.cast(_LoadBalancerTlsCertificateReference_7a33f29e, jsii.get(self, "loadBalancerTlsCertificateRef"))
9613
+
8568
9614
  @builtins.property
8569
9615
  @jsii.member(jsii_name="certificateDomainName")
8570
9616
  def certificate_domain_name(self) -> builtins.str:
@@ -8810,7 +9856,7 @@ class CfnLoadBalancerTlsCertificateProps:
8810
9856
  )
8811
9857
 
8812
9858
 
8813
- @jsii.implements(_IInspectable_c2943556)
9859
+ @jsii.implements(_IInspectable_c2943556, _IStaticIpRef_8b78d790)
8814
9860
  class CfnStaticIp(
8815
9861
  _CfnResource_9df397a6,
8816
9862
  metaclass=jsii.JSIIMeta,
@@ -8844,7 +9890,8 @@ class CfnStaticIp(
8844
9890
  static_ip_name: builtins.str,
8845
9891
  attached_to: typing.Optional[builtins.str] = None,
8846
9892
  ) -> None:
8847
- '''
9893
+ '''Create a new ``AWS::Lightsail::StaticIp``.
9894
+
8848
9895
  :param scope: Scope in which this resource is defined.
8849
9896
  :param id: Construct identifier for this resource (unique in its scope).
8850
9897
  :param static_ip_name: The name of the static IP.
@@ -8922,6 +9969,12 @@ class CfnStaticIp(
8922
9969
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8923
9970
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8924
9971
 
9972
+ @builtins.property
9973
+ @jsii.member(jsii_name="staticIpRef")
9974
+ def static_ip_ref(self) -> _StaticIpReference_8e2e0ed9:
9975
+ '''A reference to a StaticIp resource.'''
9976
+ return typing.cast(_StaticIpReference_8e2e0ed9, jsii.get(self, "staticIpRef"))
9977
+
8925
9978
  @builtins.property
8926
9979
  @jsii.member(jsii_name="staticIpName")
8927
9980
  def static_ip_name(self) -> builtins.str:
@@ -9036,8 +10089,12 @@ __all__ = [
9036
10089
  "CfnDatabaseProps",
9037
10090
  "CfnDisk",
9038
10091
  "CfnDiskProps",
10092
+ "CfnDiskSnapshot",
10093
+ "CfnDiskSnapshotProps",
9039
10094
  "CfnDistribution",
9040
10095
  "CfnDistributionProps",
10096
+ "CfnDomain",
10097
+ "CfnDomainProps",
9041
10098
  "CfnInstance",
9042
10099
  "CfnInstanceProps",
9043
10100
  "CfnInstanceSnapshot",
@@ -9741,6 +10798,64 @@ def _typecheckingstub__d095d2590ef382758292269648b2abe4a720c01c7094f3ff4555ad700
9741
10798
  """Type checking stubs"""
9742
10799
  pass
9743
10800
 
10801
+ def _typecheckingstub__635e9a5f927b657b2b6980a2d21a19d4d6ef337bedbd026386a09593585a2419(
10802
+ scope: _constructs_77d1e7e8.Construct,
10803
+ id: builtins.str,
10804
+ *,
10805
+ disk_name: builtins.str,
10806
+ disk_snapshot_name: builtins.str,
10807
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10808
+ ) -> None:
10809
+ """Type checking stubs"""
10810
+ pass
10811
+
10812
+ def _typecheckingstub__04aab83a28e37e63c1b2e591b678f9b3cb34b471058c106321646e02dbd6677b(
10813
+ inspector: _TreeInspector_488e0dd5,
10814
+ ) -> None:
10815
+ """Type checking stubs"""
10816
+ pass
10817
+
10818
+ def _typecheckingstub__c914f1dd677dbf6ddbd3846df95651696795d109e5a6555fad7338b6a1fc858d(
10819
+ props: typing.Mapping[builtins.str, typing.Any],
10820
+ ) -> None:
10821
+ """Type checking stubs"""
10822
+ pass
10823
+
10824
+ def _typecheckingstub__861290cff23c7fe2934f1de7199f6b74624783a8bcd5b96cf38bbe3869d4b5e3(
10825
+ value: builtins.str,
10826
+ ) -> None:
10827
+ """Type checking stubs"""
10828
+ pass
10829
+
10830
+ def _typecheckingstub__53378ceb6c4f8b6e46e0dc66cd89c3bc1960a20639410376f56d1e5ec9cbf9eb(
10831
+ value: builtins.str,
10832
+ ) -> None:
10833
+ """Type checking stubs"""
10834
+ pass
10835
+
10836
+ def _typecheckingstub__9132cbc1b1f3a90290073917b7b4c55b2c748bfade6bc8f30bf990e4d617be32(
10837
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
10838
+ ) -> None:
10839
+ """Type checking stubs"""
10840
+ pass
10841
+
10842
+ def _typecheckingstub__fb7b13c4fd8a7881bacab9a4b8bcdc53a097639f681849e60b6f86c7094d1ddd(
10843
+ *,
10844
+ availability_zone: typing.Optional[builtins.str] = None,
10845
+ region_name: typing.Optional[builtins.str] = None,
10846
+ ) -> None:
10847
+ """Type checking stubs"""
10848
+ pass
10849
+
10850
+ def _typecheckingstub__582cce25c17f9f8ae3141662afacdd9a112ca28a80ce71bc1e60dbdced5f5b83(
10851
+ *,
10852
+ disk_name: builtins.str,
10853
+ disk_snapshot_name: builtins.str,
10854
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
10855
+ ) -> None:
10856
+ """Type checking stubs"""
10857
+ pass
10858
+
9744
10859
  def _typecheckingstub__9482ccb96453330c51f380a8c1e2e74f0c57b789e803cc41a6d1f7dcb6be11b9(
9745
10860
  scope: _constructs_77d1e7e8.Construct,
9746
10861
  id: builtins.str,
@@ -9909,6 +11024,75 @@ def _typecheckingstub__5746be261e67458f872b406208009ddcf740c3277f27869ccbc24697b
9909
11024
  """Type checking stubs"""
9910
11025
  pass
9911
11026
 
11027
+ def _typecheckingstub__fe82b246fe7ed5830d2f0fc5524cb4172fd4d2438795a1aba9ad5e6fda309803(
11028
+ scope: _constructs_77d1e7e8.Construct,
11029
+ id: builtins.str,
11030
+ *,
11031
+ domain_name: builtins.str,
11032
+ domain_entries: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.DomainEntryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
11033
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
11034
+ ) -> None:
11035
+ """Type checking stubs"""
11036
+ pass
11037
+
11038
+ def _typecheckingstub__c5869283d5873a582cc7febd55d88bc8f89d5e0d976b0c63a738d68a672de289(
11039
+ inspector: _TreeInspector_488e0dd5,
11040
+ ) -> None:
11041
+ """Type checking stubs"""
11042
+ pass
11043
+
11044
+ def _typecheckingstub__a03ca7db8e2eb25b17b104e3e9ff0b0b0fbf08555e1dbe68b5b5b3af1073c501(
11045
+ props: typing.Mapping[builtins.str, typing.Any],
11046
+ ) -> None:
11047
+ """Type checking stubs"""
11048
+ pass
11049
+
11050
+ def _typecheckingstub__18c312b38452b100f6b9507db7e6e5dabba6daa6c2a21e716e3069f4029b91ff(
11051
+ value: builtins.str,
11052
+ ) -> None:
11053
+ """Type checking stubs"""
11054
+ pass
11055
+
11056
+ def _typecheckingstub__751d0aaf99cc70b85edb0ece306cc421fe3ebfd62efaace5ee34838f421756e1(
11057
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnDomain.DomainEntryProperty]]]],
11058
+ ) -> None:
11059
+ """Type checking stubs"""
11060
+ pass
11061
+
11062
+ def _typecheckingstub__0d269539a28b4197d92a71ab41d2713cc83b7c390022d51ef6b28f0b7f9757b8(
11063
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
11064
+ ) -> None:
11065
+ """Type checking stubs"""
11066
+ pass
11067
+
11068
+ def _typecheckingstub__a2089a9f9b5a6ae2cd6b2c26e4c85e131b82f110629db2f6b789e7f8555f3c51(
11069
+ *,
11070
+ name: builtins.str,
11071
+ target: builtins.str,
11072
+ type: builtins.str,
11073
+ id: typing.Optional[builtins.str] = None,
11074
+ is_alias: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
11075
+ ) -> None:
11076
+ """Type checking stubs"""
11077
+ pass
11078
+
11079
+ def _typecheckingstub__90dd64f1adcbc46305e94119be963a9a0b42e98e0d597ac23263cfbc5cf2e695(
11080
+ *,
11081
+ availability_zone: typing.Optional[builtins.str] = None,
11082
+ region_name: typing.Optional[builtins.str] = None,
11083
+ ) -> None:
11084
+ """Type checking stubs"""
11085
+ pass
11086
+
11087
+ def _typecheckingstub__b15d375f4723a95213ce832b405ecb413a0e590e3d391fc2396fabdd2d0f9eee(
11088
+ *,
11089
+ domain_name: builtins.str,
11090
+ domain_entries: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnDomain.DomainEntryProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
11091
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
11092
+ ) -> None:
11093
+ """Type checking stubs"""
11094
+ pass
11095
+
9912
11096
  def _typecheckingstub__f56ba2d2d7e68ec61cd3684949f9d2894843d2a820ea3c2a5dce40b3698dd9fe(
9913
11097
  scope: _constructs_77d1e7e8.Construct,
9914
11098
  id: builtins.str,