aws-cdk-lib 2.195.0__py3-none-any.whl → 2.224.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (572) hide show
  1. aws_cdk/__init__.py +1806 -417
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.195.0.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +12 -2
  5. aws_cdk/aws_accessanalyzer/__init__.py +323 -6
  6. aws_cdk/aws_acmpca/__init__.py +53 -10
  7. aws_cdk/aws_aiops/__init__.py +1019 -0
  8. aws_cdk/aws_amazonmq/__init__.py +357 -313
  9. aws_cdk/aws_amplify/__init__.py +173 -17
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
  11. aws_cdk/aws_apigateway/__init__.py +1245 -215
  12. aws_cdk/aws_apigatewayv2/__init__.py +3890 -476
  13. aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
  14. aws_cdk/aws_appconfig/__init__.py +618 -91
  15. aws_cdk/aws_appflow/__init__.py +151 -6
  16. aws_cdk/aws_appintegrations/__init__.py +546 -6
  17. aws_cdk/aws_applicationautoscaling/__init__.py +75 -10
  18. aws_cdk/aws_applicationinsights/__init__.py +13 -2
  19. aws_cdk/aws_applicationsignals/__init__.py +374 -6
  20. aws_cdk/aws_appmesh/__init__.py +136 -26
  21. aws_cdk/aws_apprunner/__init__.py +66 -18
  22. aws_cdk/aws_appstream/__init__.py +309 -55
  23. aws_cdk/aws_appsync/__init__.py +350 -94
  24. aws_cdk/aws_apptest/__init__.py +71 -2
  25. aws_cdk/aws_aps/__init__.py +2188 -94
  26. aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
  27. aws_cdk/aws_arczonalshift/__init__.py +39 -12
  28. aws_cdk/aws_athena/__init__.py +365 -29
  29. aws_cdk/aws_auditmanager/__init__.py +71 -2
  30. aws_cdk/aws_autoscaling/__init__.py +165 -60
  31. aws_cdk/aws_autoscaling_common/__init__.py +3 -0
  32. aws_cdk/aws_autoscalingplans/__init__.py +13 -2
  33. aws_cdk/aws_b2bi/__init__.py +1819 -99
  34. aws_cdk/aws_backup/__init__.py +370 -42
  35. aws_cdk/aws_backupgateway/__init__.py +13 -2
  36. aws_cdk/aws_batch/__init__.py +1462 -163
  37. aws_cdk/aws_bcmdataexports/__init__.py +21 -2
  38. aws_cdk/aws_bedrock/__init__.py +7867 -727
  39. aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
  40. aws_cdk/aws_billingconductor/__init__.py +197 -11
  41. aws_cdk/aws_budgets/__init__.py +611 -4
  42. aws_cdk/aws_cassandra/__init__.py +247 -6
  43. aws_cdk/aws_ce/__init__.py +35 -6
  44. aws_cdk/aws_certificatemanager/__init__.py +258 -32
  45. aws_cdk/aws_chatbot/__init__.py +76 -6
  46. aws_cdk/aws_cleanrooms/__init__.py +709 -206
  47. aws_cdk/aws_cleanroomsml/__init__.py +13 -2
  48. aws_cdk/aws_cloud9/__init__.py +13 -2
  49. aws_cdk/aws_cloudformation/__init__.py +362 -189
  50. aws_cdk/aws_cloudfront/__init__.py +2188 -674
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +114 -16
  52. aws_cdk/aws_cloudfront_origins/__init__.py +615 -74
  53. aws_cdk/aws_cloudtrail/__init__.py +311 -21
  54. aws_cdk/aws_cloudwatch/__init__.py +3093 -1038
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  56. aws_cdk/aws_codeartifact/__init__.py +35 -6
  57. aws_cdk/aws_codebuild/__init__.py +1303 -135
  58. aws_cdk/aws_codecommit/__init__.py +29 -9
  59. aws_cdk/aws_codeconnections/__init__.py +13 -2
  60. aws_cdk/aws_codedeploy/__init__.py +130 -6
  61. aws_cdk/aws_codeguruprofiler/__init__.py +80 -2
  62. aws_cdk/aws_codegurureviewer/__init__.py +13 -2
  63. aws_cdk/aws_codepipeline/__init__.py +177 -71
  64. aws_cdk/aws_codepipeline_actions/__init__.py +753 -4
  65. aws_cdk/aws_codestar/__init__.py +13 -2
  66. aws_cdk/aws_codestarconnections/__init__.py +35 -6
  67. aws_cdk/aws_codestarnotifications/__init__.py +22 -2
  68. aws_cdk/aws_cognito/__init__.py +905 -92
  69. aws_cdk/aws_cognito_identitypool/__init__.py +23 -12
  70. aws_cdk/aws_comprehend/__init__.py +24 -4
  71. aws_cdk/aws_config/__init__.py +227 -30
  72. aws_cdk/aws_connect/__init__.py +2736 -191
  73. aws_cdk/aws_connectcampaigns/__init__.py +13 -2
  74. aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
  75. aws_cdk/aws_controltower/__init__.py +35 -6
  76. aws_cdk/aws_cur/__init__.py +100 -4
  77. aws_cdk/aws_customerprofiles/__init__.py +617 -27
  78. aws_cdk/aws_databrew/__init__.py +68 -12
  79. aws_cdk/aws_datapipeline/__init__.py +42 -2
  80. aws_cdk/aws_datasync/__init__.py +1514 -977
  81. aws_cdk/aws_datazone/__init__.py +7426 -1763
  82. aws_cdk/aws_dax/__init__.py +83 -6
  83. aws_cdk/aws_deadline/__init__.py +511 -36
  84. aws_cdk/aws_detective/__init__.py +35 -6
  85. aws_cdk/aws_devicefarm/__init__.py +68 -12
  86. aws_cdk/aws_devopsguru/__init__.py +37 -6
  87. aws_cdk/aws_directoryservice/__init__.py +53 -4
  88. aws_cdk/aws_dlm/__init__.py +13 -2
  89. aws_cdk/aws_dms/__init__.py +184 -27
  90. aws_cdk/aws_docdb/__init__.py +350 -49
  91. aws_cdk/aws_docdbelastic/__init__.py +13 -2
  92. aws_cdk/aws_dsql/__init__.py +386 -16
  93. aws_cdk/aws_dynamodb/__init__.py +1479 -170
  94. aws_cdk/aws_ec2/__init__.py +10465 -1335
  95. aws_cdk/aws_ecr/__init__.py +637 -43
  96. aws_cdk/aws_ecr_assets/__init__.py +10 -0
  97. aws_cdk/aws_ecs/__init__.py +6629 -490
  98. aws_cdk/aws_ecs_patterns/__init__.py +124 -12
  99. aws_cdk/aws_efs/__init__.py +276 -24
  100. aws_cdk/aws_eks/__init__.py +1132 -227
  101. aws_cdk/aws_elasticache/__init__.py +378 -25
  102. aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
  103. aws_cdk/aws_elasticloadbalancing/__init__.py +22 -2
  104. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1796 -123
  105. aws_cdk/aws_elasticsearch/__init__.py +291 -9
  106. aws_cdk/aws_emr/__init__.py +219 -18
  107. aws_cdk/aws_emrcontainers/__init__.py +71 -2
  108. aws_cdk/aws_emrserverless/__init__.py +188 -3
  109. aws_cdk/aws_entityresolution/__init__.py +585 -58
  110. aws_cdk/aws_events/__init__.py +1007 -126
  111. aws_cdk/aws_events_targets/__init__.py +398 -65
  112. aws_cdk/aws_eventschemas/__init__.py +46 -8
  113. aws_cdk/aws_evidently/__init__.py +57 -10
  114. aws_cdk/aws_evs/__init__.py +2244 -0
  115. aws_cdk/aws_finspace/__init__.py +71 -2
  116. aws_cdk/aws_fis/__init__.py +26 -4
  117. aws_cdk/aws_fms/__init__.py +35 -6
  118. aws_cdk/aws_forecast/__init__.py +24 -4
  119. aws_cdk/aws_frauddetector/__init__.py +79 -14
  120. aws_cdk/aws_fsx/__init__.py +1349 -127
  121. aws_cdk/aws_gamelift/__init__.py +755 -94
  122. aws_cdk/aws_gameliftstreams/__init__.py +44 -22
  123. aws_cdk/aws_globalaccelerator/__init__.py +73 -14
  124. aws_cdk/aws_glue/__init__.py +1455 -378
  125. aws_cdk/aws_grafana/__init__.py +13 -2
  126. aws_cdk/aws_greengrass/__init__.py +654 -32
  127. aws_cdk/aws_greengrassv2/__init__.py +53 -4
  128. aws_cdk/aws_groundstation/__init__.py +122 -6
  129. aws_cdk/aws_guardduty/__init__.py +1613 -123
  130. aws_cdk/aws_healthimaging/__init__.py +71 -2
  131. aws_cdk/aws_healthlake/__init__.py +42 -2
  132. aws_cdk/aws_iam/__init__.py +921 -141
  133. aws_cdk/aws_identitystore/__init__.py +24 -4
  134. aws_cdk/aws_imagebuilder/__init__.py +1454 -199
  135. aws_cdk/aws_inspector/__init__.py +44 -6
  136. aws_cdk/aws_inspectorv2/__init__.py +2285 -243
  137. aws_cdk/aws_internetmonitor/__init__.py +71 -2
  138. aws_cdk/aws_invoicing/__init__.py +13 -2
  139. aws_cdk/aws_iot/__init__.py +1760 -64
  140. aws_cdk/aws_iotanalytics/__init__.py +162 -8
  141. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
  142. aws_cdk/aws_iotevents/__init__.py +122 -6
  143. aws_cdk/aws_iotfleethub/__init__.py +71 -2
  144. aws_cdk/aws_iotfleetwise/__init__.py +195 -14
  145. aws_cdk/aws_iotsitewise/__init__.py +1837 -89
  146. aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
  147. aws_cdk/aws_iottwinmaker/__init__.py +115 -10
  148. aws_cdk/aws_iotwireless/__init__.py +649 -22
  149. aws_cdk/aws_ivs/__init__.py +561 -57
  150. aws_cdk/aws_ivschat/__init__.py +24 -4
  151. aws_cdk/aws_kafkaconnect/__init__.py +35 -6
  152. aws_cdk/aws_kendra/__init__.py +120 -28
  153. aws_cdk/aws_kendraranking/__init__.py +13 -2
  154. aws_cdk/aws_kinesis/__init__.py +641 -23
  155. aws_cdk/aws_kinesisanalytics/__init__.py +467 -96
  156. aws_cdk/aws_kinesisanalyticsv2/__init__.py +207 -19
  157. aws_cdk/aws_kinesisfirehose/__init__.py +3087 -295
  158. aws_cdk/aws_kinesisvideo/__init__.py +24 -4
  159. aws_cdk/aws_kms/__init__.py +204 -45
  160. aws_cdk/aws_lakeformation/__init__.py +80 -15
  161. aws_cdk/aws_lambda/__init__.py +2236 -297
  162. aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
  163. aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
  164. aws_cdk/aws_launchwizard/__init__.py +13 -2
  165. aws_cdk/aws_lex/__init__.py +2162 -212
  166. aws_cdk/aws_licensemanager/__init__.py +24 -4
  167. aws_cdk/aws_lightsail/__init__.py +2958 -1322
  168. aws_cdk/aws_location/__init__.py +618 -14
  169. aws_cdk/aws_logs/__init__.py +6014 -923
  170. aws_cdk/aws_lookoutequipment/__init__.py +13 -2
  171. aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
  172. aws_cdk/aws_lookoutvision/__init__.py +71 -2
  173. aws_cdk/aws_m2/__init__.py +94 -19
  174. aws_cdk/aws_macie/__init__.py +49 -11
  175. aws_cdk/aws_managedblockchain/__init__.py +180 -6
  176. aws_cdk/aws_mediaconnect/__init__.py +101 -18
  177. aws_cdk/aws_mediaconvert/__init__.py +35 -6
  178. aws_cdk/aws_medialive/__init__.py +1938 -532
  179. aws_cdk/aws_mediapackage/__init__.py +59 -12
  180. aws_cdk/aws_mediapackagev2/__init__.py +1616 -233
  181. aws_cdk/aws_mediastore/__init__.py +13 -2
  182. aws_cdk/aws_mediatailor/__init__.py +583 -12
  183. aws_cdk/aws_memorydb/__init__.py +271 -12
  184. aws_cdk/aws_mpa/__init__.py +1495 -0
  185. aws_cdk/aws_msk/__init__.py +108 -22
  186. aws_cdk/aws_mwaa/__init__.py +121 -9
  187. aws_cdk/aws_neptune/__init__.py +290 -78
  188. aws_cdk/aws_neptunegraph/__init__.py +24 -4
  189. aws_cdk/aws_networkfirewall/__init__.py +1184 -164
  190. aws_cdk/aws_networkmanager/__init__.py +349 -33
  191. aws_cdk/aws_nimblestudio/__init__.py +283 -408
  192. aws_cdk/aws_notifications/__init__.py +317 -12
  193. aws_cdk/aws_notificationscontacts/__init__.py +13 -2
  194. aws_cdk/aws_oam/__init__.py +24 -4
  195. aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
  196. aws_cdk/aws_odb/__init__.py +5872 -0
  197. aws_cdk/aws_omics/__init__.py +2967 -162
  198. aws_cdk/aws_opensearchserverless/__init__.py +312 -37
  199. aws_cdk/aws_opensearchservice/__init__.py +501 -19
  200. aws_cdk/aws_opsworks/__init__.py +235 -139
  201. aws_cdk/aws_opsworkscm/__init__.py +16 -52
  202. aws_cdk/aws_organizations/__init__.py +70 -10
  203. aws_cdk/aws_osis/__init__.py +167 -2
  204. aws_cdk/aws_panorama/__init__.py +181 -9
  205. aws_cdk/aws_paymentcryptography/__init__.py +24 -4
  206. aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
  207. aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
  208. aws_cdk/aws_pcs/__init__.py +516 -64
  209. aws_cdk/aws_personalize/__init__.py +46 -8
  210. aws_cdk/aws_pinpoint/__init__.py +329 -38
  211. aws_cdk/aws_pinpointemail/__init__.py +48 -8
  212. aws_cdk/aws_pipes/__init__.py +12 -2
  213. aws_cdk/aws_proton/__init__.py +37 -6
  214. aws_cdk/aws_qbusiness/__init__.py +635 -34
  215. aws_cdk/aws_qldb/__init__.py +24 -4
  216. aws_cdk/aws_quicksight/__init__.py +7900 -1160
  217. aws_cdk/aws_ram/__init__.py +24 -4
  218. aws_cdk/aws_rbin/__init__.py +12 -2
  219. aws_cdk/aws_rds/__init__.py +3721 -573
  220. aws_cdk/aws_redshift/__init__.py +143 -20
  221. aws_cdk/aws_redshiftserverless/__init__.py +699 -11
  222. aws_cdk/aws_refactorspaces/__init__.py +64 -14
  223. aws_cdk/aws_rekognition/__init__.py +93 -6
  224. aws_cdk/aws_resiliencehub/__init__.py +24 -4
  225. aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
  226. aws_cdk/aws_resourcegroups/__init__.py +82 -4
  227. aws_cdk/aws_robomaker/__init__.py +72 -12
  228. aws_cdk/aws_rolesanywhere/__init__.py +194 -19
  229. aws_cdk/aws_route53/__init__.py +3965 -1436
  230. aws_cdk/aws_route53_targets/__init__.py +3 -0
  231. aws_cdk/aws_route53profiles/__init__.py +37 -6
  232. aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
  233. aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
  234. aws_cdk/aws_route53resolver/__init__.py +189 -40
  235. aws_cdk/aws_rtbfabric/__init__.py +3498 -0
  236. aws_cdk/aws_rum/__init__.py +13 -2
  237. aws_cdk/aws_s3/__init__.py +1742 -221
  238. aws_cdk/aws_s3_assets/__init__.py +11 -11
  239. aws_cdk/aws_s3_deployment/__init__.py +153 -11
  240. aws_cdk/aws_s3_notifications/__init__.py +7 -7
  241. aws_cdk/aws_s3express/__init__.py +1053 -6
  242. aws_cdk/aws_s3objectlambda/__init__.py +68 -16
  243. aws_cdk/aws_s3outposts/__init__.py +46 -8
  244. aws_cdk/aws_s3tables/__init__.py +2000 -323
  245. aws_cdk/aws_s3vectors/__init__.py +1378 -0
  246. aws_cdk/aws_sagemaker/__init__.py +6848 -373
  247. aws_cdk/aws_sam/__init__.py +79 -14
  248. aws_cdk/aws_scheduler/__init__.py +249 -4
  249. aws_cdk/aws_sdb/__init__.py +12 -2
  250. aws_cdk/aws_secretsmanager/__init__.py +194 -14
  251. aws_cdk/aws_securityhub/__init__.py +3121 -176
  252. aws_cdk/aws_securitylake/__init__.py +46 -8
  253. aws_cdk/aws_servicecatalog/__init__.py +429 -246
  254. aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
  255. aws_cdk/aws_servicediscovery/__init__.py +188 -47
  256. aws_cdk/aws_ses/__init__.py +2265 -369
  257. aws_cdk/aws_shield/__init__.py +46 -8
  258. aws_cdk/aws_signer/__init__.py +33 -4
  259. aws_cdk/aws_simspaceweaver/__init__.py +42 -2
  260. aws_cdk/aws_smsvoice/__init__.py +4716 -0
  261. aws_cdk/aws_sns/__init__.py +263 -29
  262. aws_cdk/aws_sns_subscriptions/__init__.py +265 -2
  263. aws_cdk/aws_sqs/__init__.py +223 -14
  264. aws_cdk/aws_ssm/__init__.py +413 -58
  265. aws_cdk/aws_ssmcontacts/__init__.py +98 -9
  266. aws_cdk/aws_ssmguiconnect/__init__.py +20 -9
  267. aws_cdk/aws_ssmincidents/__init__.py +24 -4
  268. aws_cdk/aws_ssmquicksetup/__init__.py +393 -8
  269. aws_cdk/aws_sso/__init__.py +70 -12
  270. aws_cdk/aws_stepfunctions/__init__.py +823 -94
  271. aws_cdk/aws_stepfunctions_tasks/__init__.py +2323 -150
  272. aws_cdk/aws_supportapp/__init__.py +39 -6
  273. aws_cdk/aws_synthetics/__init__.py +1088 -126
  274. aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
  275. aws_cdk/aws_timestream/__init__.py +104 -8
  276. aws_cdk/aws_transfer/__init__.py +784 -87
  277. aws_cdk/aws_verifiedpermissions/__init__.py +306 -13
  278. aws_cdk/aws_voiceid/__init__.py +54 -5
  279. aws_cdk/aws_vpclattice/__init__.py +589 -231
  280. aws_cdk/aws_waf/__init__.py +79 -14
  281. aws_cdk/aws_wafregional/__init__.py +123 -22
  282. aws_cdk/aws_wafv2/__init__.py +1183 -64
  283. aws_cdk/aws_wisdom/__init__.py +1403 -90
  284. aws_cdk/aws_workspaces/__init__.py +134 -6
  285. aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
  286. aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
  287. aws_cdk/aws_workspacesweb/__init__.py +1057 -141
  288. aws_cdk/aws_xray/__init__.py +48 -8
  289. aws_cdk/cloud_assembly_schema/__init__.py +368 -48
  290. aws_cdk/custom_resources/__init__.py +58 -12
  291. aws_cdk/cx_api/__init__.py +125 -21
  292. aws_cdk/interfaces/__init__.py +739 -0
  293. aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
  294. aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
  295. aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
  296. aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
  297. aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
  298. aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
  299. aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
  300. aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
  301. aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
  302. aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
  303. aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
  304. aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
  305. aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
  306. aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
  307. aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
  308. aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
  309. aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
  310. aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
  311. aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
  312. aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
  313. aws_cdk/interfaces/aws_aps/__init__.py +558 -0
  314. aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
  315. aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
  316. aws_cdk/interfaces/aws_athena/__init__.py +575 -0
  317. aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
  318. aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
  319. aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
  320. aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
  321. aws_cdk/interfaces/aws_backup/__init__.py +955 -0
  322. aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
  323. aws_cdk/interfaces/aws_batch/__init__.py +681 -0
  324. aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
  325. aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
  326. aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
  327. aws_cdk/interfaces/aws_billing/__init__.py +146 -0
  328. aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
  329. aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
  330. aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
  331. aws_cdk/interfaces/aws_ce/__init__.py +352 -0
  332. aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
  333. aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
  334. aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
  335. aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
  336. aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
  337. aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
  338. aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
  339. aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
  340. aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
  341. aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
  342. aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
  343. aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
  344. aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
  345. aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
  346. aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
  347. aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
  348. aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
  349. aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
  350. aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
  351. aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
  352. aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
  353. aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
  354. aws_cdk/interfaces/aws_config/__init__.py +1165 -0
  355. aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
  356. aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
  357. aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
  358. aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
  359. aws_cdk/interfaces/aws_cur/__init__.py +146 -0
  360. aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
  361. aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
  362. aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
  363. aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
  364. aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
  365. aws_cdk/interfaces/aws_dax/__init__.py +364 -0
  366. aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
  367. aws_cdk/interfaces/aws_detective/__init__.py +364 -0
  368. aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
  369. aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
  370. aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
  371. aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
  372. aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
  373. aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
  374. aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
  375. aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
  376. aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
  377. aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
  378. aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
  379. aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
  380. aws_cdk/interfaces/aws_efs/__init__.py +392 -0
  381. aws_cdk/interfaces/aws_eks/__init__.py +948 -0
  382. aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
  383. aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
  384. aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
  385. aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
  386. aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
  387. aws_cdk/interfaces/aws_emr/__init__.py +913 -0
  388. aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
  389. aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
  390. aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
  391. aws_cdk/interfaces/aws_events/__init__.py +872 -0
  392. aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
  393. aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
  394. aws_cdk/interfaces/aws_evs/__init__.py +166 -0
  395. aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
  396. aws_cdk/interfaces/aws_fis/__init__.py +271 -0
  397. aws_cdk/interfaces/aws_fms/__init__.py +364 -0
  398. aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
  399. aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
  400. aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
  401. aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
  402. aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
  403. aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
  404. aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
  405. aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
  406. aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
  407. aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
  408. aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
  409. aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
  410. aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
  411. aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
  412. aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
  413. aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
  414. aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
  415. aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
  416. aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
  417. aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
  418. aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
  419. aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
  420. aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
  421. aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
  422. aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
  423. aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
  424. aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
  425. aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
  426. aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
  427. aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
  428. aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
  429. aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
  430. aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
  431. aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
  432. aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
  433. aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
  434. aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
  435. aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
  436. aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
  437. aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
  438. aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
  439. aws_cdk/interfaces/aws_kms/__init__.py +376 -0
  440. aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
  441. aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
  442. aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
  443. aws_cdk/interfaces/aws_lex/__init__.py +513 -0
  444. aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
  445. aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
  446. aws_cdk/interfaces/aws_location/__init__.py +879 -0
  447. aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
  448. aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
  449. aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
  450. aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
  451. aws_cdk/interfaces/aws_m2/__init__.py +352 -0
  452. aws_cdk/interfaces/aws_macie/__init__.py +512 -0
  453. aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
  454. aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
  455. aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
  456. aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
  457. aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
  458. aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
  459. aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
  460. aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
  461. aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
  462. aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
  463. aws_cdk/interfaces/aws_msk/__init__.py +764 -0
  464. aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
  465. aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
  466. aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
  467. aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
  468. aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
  469. aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
  470. aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
  471. aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
  472. aws_cdk/interfaces/aws_oam/__init__.py +249 -0
  473. aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
  474. aws_cdk/interfaces/aws_odb/__init__.py +562 -0
  475. aws_cdk/interfaces/aws_omics/__init__.py +838 -0
  476. aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
  477. aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
  478. aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
  479. aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
  480. aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
  481. aws_cdk/interfaces/aws_osis/__init__.py +146 -0
  482. aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
  483. aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
  484. aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
  485. aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
  486. aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
  487. aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
  488. aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
  489. aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
  490. aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
  491. aws_cdk/interfaces/aws_proton/__init__.py +360 -0
  492. aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
  493. aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
  494. aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
  495. aws_cdk/interfaces/aws_ram/__init__.py +249 -0
  496. aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
  497. aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
  498. aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
  499. aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
  500. aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
  501. aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
  502. aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
  503. aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
  504. aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
  505. aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
  506. aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
  507. aws_cdk/interfaces/aws_route53/__init__.py +804 -0
  508. aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
  509. aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
  510. aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
  511. aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
  512. aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
  513. aws_cdk/interfaces/aws_rum/__init__.py +146 -0
  514. aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
  515. aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
  516. aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
  517. aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
  518. aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
  519. aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
  520. aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
  521. aws_cdk/interfaces/aws_sam/__init__.py +603 -0
  522. aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
  523. aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
  524. aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
  525. aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
  526. aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
  527. aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
  528. aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
  529. aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
  530. aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
  531. aws_cdk/interfaces/aws_shield/__init__.py +455 -0
  532. aws_cdk/interfaces/aws_signer/__init__.py +266 -0
  533. aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
  534. aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
  535. aws_cdk/interfaces/aws_sns/__init__.py +455 -0
  536. aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
  537. aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
  538. aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
  539. aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
  540. aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
  541. aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
  542. aws_cdk/interfaces/aws_sso/__init__.py +797 -0
  543. aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
  544. aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
  545. aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
  546. aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
  547. aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
  548. aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
  549. aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
  550. aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
  551. aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
  552. aws_cdk/interfaces/aws_waf/__init__.py +764 -0
  553. aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
  554. aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
  555. aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
  556. aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
  557. aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
  558. aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
  559. aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
  560. aws_cdk/interfaces/aws_xray/__init__.py +457 -0
  561. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  562. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  563. aws_cdk/pipelines/__init__.py +202 -52
  564. aws_cdk/region_info/__init__.py +3 -0
  565. aws_cdk/triggers/__init__.py +66 -18
  566. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +418 -18
  567. aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
  568. aws_cdk_lib-2.195.0.dist-info/RECORD +0 -304
  569. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
  570. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
  571. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
  572. {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
@@ -1002,6 +1002,17 @@ user_pool_client = cognito.UserPoolClient(self, "UserPoolClient",
1002
1002
  )
1003
1003
  ```
1004
1004
 
1005
+ [Refresh token rotation](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html#using-the-refresh-token-rotation)
1006
+ can be configured to enable automatic rotation of refresh tokens. By default, refresh token rotation is disabled. When the refreshTokenRotationGracePeriod is 0, the grace period is disabled and a successful request immediately invalidates the submitted refresh token.
1007
+
1008
+ ```python
1009
+ pool = cognito.UserPool(self, "Pool")
1010
+ pool.add_client("app-client",
1011
+ # ...
1012
+ refresh_token_rotation_grace_period=Duration.seconds(40)
1013
+ )
1014
+ ```
1015
+
1005
1016
  See [Adding user device and session data to API requests](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-adaptive-authentication.html#user-pool-settings-adaptive-authentication-device-fingerprint) for more information.
1006
1017
 
1007
1018
  ### Resource Servers
@@ -1313,14 +1324,45 @@ from .. import (
1313
1324
  TreeInspector as _TreeInspector_488e0dd5,
1314
1325
  )
1315
1326
  from ..aws_certificatemanager import ICertificate as _ICertificate_c194c70b
1316
- from ..aws_iam import (
1317
- Grant as _Grant_a7ae64f8,
1318
- IGrantable as _IGrantable_71c4f5de,
1319
- IRole as _IRole_235f5d8e,
1320
- )
1321
- from ..aws_kms import IKey as _IKey_5f11635f
1327
+ from ..aws_iam import Grant as _Grant_a7ae64f8, IGrantable as _IGrantable_71c4f5de
1322
1328
  from ..aws_lambda import IFunction as _IFunction_6adb0ab8
1323
1329
  from ..aws_pinpoint import CfnApp as _CfnApp_e8bac60b
1330
+ from ..interfaces.aws_cognito import (
1331
+ IIdentityPoolPrincipalTagRef as _IIdentityPoolPrincipalTagRef_9e692705,
1332
+ IIdentityPoolRef as _IIdentityPoolRef_5cf45895,
1333
+ IIdentityPoolRoleAttachmentRef as _IIdentityPoolRoleAttachmentRef_2e8a15ee,
1334
+ ILogDeliveryConfigurationRef as _ILogDeliveryConfigurationRef_0c0b6844,
1335
+ IManagedLoginBrandingRef as _IManagedLoginBrandingRef_2fdc5419,
1336
+ ITermsRef as _ITermsRef_3aea4e86,
1337
+ IUserPoolClientRef as _IUserPoolClientRef_4466eeba,
1338
+ IUserPoolDomainRef as _IUserPoolDomainRef_2fa54b0c,
1339
+ IUserPoolGroupRef as _IUserPoolGroupRef_89b16d48,
1340
+ IUserPoolIdentityProviderRef as _IUserPoolIdentityProviderRef_935eed62,
1341
+ IUserPoolRef as _IUserPoolRef_0b7d02b5,
1342
+ IUserPoolResourceServerRef as _IUserPoolResourceServerRef_fda874c5,
1343
+ IUserPoolRiskConfigurationAttachmentRef as _IUserPoolRiskConfigurationAttachmentRef_b5390b06,
1344
+ IUserPoolUICustomizationAttachmentRef as _IUserPoolUICustomizationAttachmentRef_855e6497,
1345
+ IUserPoolUserRef as _IUserPoolUserRef_cbf1b211,
1346
+ IUserPoolUserToGroupAttachmentRef as _IUserPoolUserToGroupAttachmentRef_04a5a41e,
1347
+ IdentityPoolPrincipalTagReference as _IdentityPoolPrincipalTagReference_aaa53261,
1348
+ IdentityPoolReference as _IdentityPoolReference_3ad34644,
1349
+ IdentityPoolRoleAttachmentReference as _IdentityPoolRoleAttachmentReference_d6aa4828,
1350
+ LogDeliveryConfigurationReference as _LogDeliveryConfigurationReference_3ea56b01,
1351
+ ManagedLoginBrandingReference as _ManagedLoginBrandingReference_f305ff72,
1352
+ TermsReference as _TermsReference_01199e92,
1353
+ UserPoolClientReference as _UserPoolClientReference_2e04ee48,
1354
+ UserPoolDomainReference as _UserPoolDomainReference_8e0aecda,
1355
+ UserPoolGroupReference as _UserPoolGroupReference_5e435fdd,
1356
+ UserPoolIdentityProviderReference as _UserPoolIdentityProviderReference_a5d59f88,
1357
+ UserPoolReference as _UserPoolReference_0ef20aae,
1358
+ UserPoolResourceServerReference as _UserPoolResourceServerReference_5b196bf5,
1359
+ UserPoolRiskConfigurationAttachmentReference as _UserPoolRiskConfigurationAttachmentReference_815104e9,
1360
+ UserPoolUICustomizationAttachmentReference as _UserPoolUICustomizationAttachmentReference_2c1e7860,
1361
+ UserPoolUserReference as _UserPoolUserReference_b50e0a97,
1362
+ UserPoolUserToGroupAttachmentReference as _UserPoolUserToGroupAttachmentReference_fa1a0479,
1363
+ )
1364
+ from ..interfaces.aws_iam import IRoleRef as _IRoleRef_8400221f
1365
+ from ..interfaces.aws_kms import IKeyRef as _IKeyRef_d4fc6ef3
1324
1366
 
1325
1367
 
1326
1368
  @jsii.enum(jsii_type="aws-cdk-lib.aws_cognito.AccountRecovery")
@@ -1515,7 +1557,7 @@ class AnalyticsConfiguration:
1515
1557
  application: typing.Optional[_CfnApp_e8bac60b] = None,
1516
1558
  application_id: typing.Optional[builtins.str] = None,
1517
1559
  external_id: typing.Optional[builtins.str] = None,
1518
- role: typing.Optional[_IRole_235f5d8e] = None,
1560
+ role: typing.Optional[_IRoleRef_8400221f] = None,
1519
1561
  share_user_data: typing.Optional[builtins.bool] = None,
1520
1562
  ) -> None:
1521
1563
  '''The settings for Amazon Pinpoint analytics configuration.
@@ -1605,13 +1647,13 @@ class AnalyticsConfiguration:
1605
1647
  return typing.cast(typing.Optional[builtins.str], result)
1606
1648
 
1607
1649
  @builtins.property
1608
- def role(self) -> typing.Optional[_IRole_235f5d8e]:
1650
+ def role(self) -> typing.Optional[_IRoleRef_8400221f]:
1609
1651
  '''The IAM role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics.
1610
1652
 
1611
1653
  :default: - no configuration, you need to specify either this property along with ``applicationId`` and ``externalId`` or ``application``.
1612
1654
  '''
1613
1655
  result = self._values.get("role")
1614
- return typing.cast(typing.Optional[_IRole_235f5d8e], result)
1656
+ return typing.cast(typing.Optional[_IRoleRef_8400221f], result)
1615
1657
 
1616
1658
  @builtins.property
1617
1659
  def share_user_data(self) -> typing.Optional[builtins.bool]:
@@ -2219,7 +2261,7 @@ class BaseUrlOptions:
2219
2261
  )
2220
2262
 
2221
2263
 
2222
- @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
2264
+ @jsii.implements(_IInspectable_c2943556, _IIdentityPoolRef_5cf45895, _ITaggableV2_4e6798f8)
2223
2265
  class CfnIdentityPool(
2224
2266
  _CfnResource_9df397a6,
2225
2267
  metaclass=jsii.JSIIMeta,
@@ -2264,7 +2306,8 @@ class CfnIdentityPool(
2264
2306
  saml_provider_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
2265
2307
  supported_login_providers: typing.Any = None,
2266
2308
  ) -> None:
2267
- '''
2309
+ '''Create a new ``AWS::Cognito::IdentityPool``.
2310
+
2268
2311
  :param scope: Scope in which this resource is defined.
2269
2312
  :param id: Construct identifier for this resource (unique in its scope).
2270
2313
  :param allow_unauthenticated_identities: Specifies whether the identity pool supports unauthenticated logins.
@@ -2301,6 +2344,27 @@ class CfnIdentityPool(
2301
2344
 
2302
2345
  jsii.create(self.__class__, self, [scope, id, props])
2303
2346
 
2347
+ @jsii.member(jsii_name="fromIdentityPoolId")
2348
+ @builtins.classmethod
2349
+ def from_identity_pool_id(
2350
+ cls,
2351
+ scope: _constructs_77d1e7e8.Construct,
2352
+ id: builtins.str,
2353
+ identity_pool_id: builtins.str,
2354
+ ) -> _IIdentityPoolRef_5cf45895:
2355
+ '''Creates a new IIdentityPoolRef from a identityPoolId.
2356
+
2357
+ :param scope: -
2358
+ :param id: -
2359
+ :param identity_pool_id: -
2360
+ '''
2361
+ if __debug__:
2362
+ type_hints = typing.get_type_hints(_typecheckingstub__23c766eb59af70f92541dfd9c9cae67b99255f21efd59868b8feff44354f4e77)
2363
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
2364
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
2365
+ check_type(argname="argument identity_pool_id", value=identity_pool_id, expected_type=type_hints["identity_pool_id"])
2366
+ return typing.cast(_IIdentityPoolRef_5cf45895, jsii.sinvoke(cls, "fromIdentityPoolId", [scope, id, identity_pool_id]))
2367
+
2304
2368
  @jsii.member(jsii_name="inspect")
2305
2369
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
2306
2370
  '''Examines the CloudFormation resource and discloses attributes.
@@ -2359,6 +2423,12 @@ class CfnIdentityPool(
2359
2423
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2360
2424
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2361
2425
 
2426
+ @builtins.property
2427
+ @jsii.member(jsii_name="identityPoolRef")
2428
+ def identity_pool_ref(self) -> _IdentityPoolReference_3ad34644:
2429
+ '''A reference to a IdentityPool resource.'''
2430
+ return typing.cast(_IdentityPoolReference_3ad34644, jsii.get(self, "identityPoolRef"))
2431
+
2362
2432
  @builtins.property
2363
2433
  @jsii.member(jsii_name="allowUnauthenticatedIdentities")
2364
2434
  def allow_unauthenticated_identities(
@@ -2817,7 +2887,7 @@ class CfnIdentityPool(
2817
2887
  )
2818
2888
 
2819
2889
 
2820
- @jsii.implements(_IInspectable_c2943556)
2890
+ @jsii.implements(_IInspectable_c2943556, _IIdentityPoolPrincipalTagRef_9e692705)
2821
2891
  class CfnIdentityPoolPrincipalTag(
2822
2892
  _CfnResource_9df397a6,
2823
2893
  metaclass=jsii.JSIIMeta,
@@ -2857,7 +2927,8 @@ class CfnIdentityPoolPrincipalTag(
2857
2927
  principal_tags: typing.Any = None,
2858
2928
  use_defaults: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
2859
2929
  ) -> None:
2860
- '''
2930
+ '''Create a new ``AWS::Cognito::IdentityPoolPrincipalTag``.
2931
+
2861
2932
  :param scope: Scope in which this resource is defined.
2862
2933
  :param id: Construct identifier for this resource (unique in its scope).
2863
2934
  :param identity_pool_id: The identity pool that you want to associate with this principal tag map.
@@ -2913,6 +2984,14 @@ class CfnIdentityPoolPrincipalTag(
2913
2984
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
2914
2985
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
2915
2986
 
2987
+ @builtins.property
2988
+ @jsii.member(jsii_name="identityPoolPrincipalTagRef")
2989
+ def identity_pool_principal_tag_ref(
2990
+ self,
2991
+ ) -> _IdentityPoolPrincipalTagReference_aaa53261:
2992
+ '''A reference to a IdentityPoolPrincipalTag resource.'''
2993
+ return typing.cast(_IdentityPoolPrincipalTagReference_aaa53261, jsii.get(self, "identityPoolPrincipalTagRef"))
2994
+
2916
2995
  @builtins.property
2917
2996
  @jsii.member(jsii_name="identityPoolId")
2918
2997
  def identity_pool_id(self) -> builtins.str:
@@ -3338,7 +3417,7 @@ class CfnIdentityPoolProps:
3338
3417
  )
3339
3418
 
3340
3419
 
3341
- @jsii.implements(_IInspectable_c2943556)
3420
+ @jsii.implements(_IInspectable_c2943556, _IIdentityPoolRoleAttachmentRef_2e8a15ee)
3342
3421
  class CfnIdentityPoolRoleAttachment(
3343
3422
  _CfnResource_9df397a6,
3344
3423
  metaclass=jsii.JSIIMeta,
@@ -3392,7 +3471,8 @@ class CfnIdentityPoolRoleAttachment(
3392
3471
  role_mappings: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdentityPoolRoleAttachment.RoleMappingProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3393
3472
  roles: typing.Any = None,
3394
3473
  ) -> None:
3395
- '''
3474
+ '''Create a new ``AWS::Cognito::IdentityPoolRoleAttachment``.
3475
+
3396
3476
  :param scope: Scope in which this resource is defined.
3397
3477
  :param id: Construct identifier for this resource (unique in its scope).
3398
3478
  :param identity_pool_id: An identity pool ID in the format ``REGION:GUID`` .
@@ -3453,6 +3533,14 @@ class CfnIdentityPoolRoleAttachment(
3453
3533
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
3454
3534
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
3455
3535
 
3536
+ @builtins.property
3537
+ @jsii.member(jsii_name="identityPoolRoleAttachmentRef")
3538
+ def identity_pool_role_attachment_ref(
3539
+ self,
3540
+ ) -> _IdentityPoolRoleAttachmentReference_d6aa4828:
3541
+ '''A reference to a IdentityPoolRoleAttachment resource.'''
3542
+ return typing.cast(_IdentityPoolRoleAttachmentReference_d6aa4828, jsii.get(self, "identityPoolRoleAttachmentRef"))
3543
+
3456
3544
  @builtins.property
3457
3545
  @jsii.member(jsii_name="identityPoolId")
3458
3546
  def identity_pool_id(self) -> builtins.str:
@@ -3923,7 +4011,7 @@ class CfnIdentityPoolRoleAttachmentProps:
3923
4011
  )
3924
4012
 
3925
4013
 
3926
- @jsii.implements(_IInspectable_c2943556)
4014
+ @jsii.implements(_IInspectable_c2943556, _ILogDeliveryConfigurationRef_0c0b6844)
3927
4015
  class CfnLogDeliveryConfiguration(
3928
4016
  _CfnResource_9df397a6,
3929
4017
  metaclass=jsii.JSIIMeta,
@@ -3971,7 +4059,8 @@ class CfnLogDeliveryConfiguration(
3971
4059
  user_pool_id: builtins.str,
3972
4060
  log_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLogDeliveryConfiguration.LogConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3973
4061
  ) -> None:
3974
- '''
4062
+ '''Create a new ``AWS::Cognito::LogDeliveryConfiguration``.
4063
+
3975
4064
  :param scope: Scope in which this resource is defined.
3976
4065
  :param id: Construct identifier for this resource (unique in its scope).
3977
4066
  :param user_pool_id: The ID of the user pool where you configured logging.
@@ -4031,6 +4120,14 @@ class CfnLogDeliveryConfiguration(
4031
4120
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4032
4121
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4033
4122
 
4123
+ @builtins.property
4124
+ @jsii.member(jsii_name="logDeliveryConfigurationRef")
4125
+ def log_delivery_configuration_ref(
4126
+ self,
4127
+ ) -> _LogDeliveryConfigurationReference_3ea56b01:
4128
+ '''A reference to a LogDeliveryConfiguration resource.'''
4129
+ return typing.cast(_LogDeliveryConfigurationReference_3ea56b01, jsii.get(self, "logDeliveryConfigurationRef"))
4130
+
4034
4131
  @builtins.property
4035
4132
  @jsii.member(jsii_name="userPoolId")
4036
4133
  def user_pool_id(self) -> builtins.str:
@@ -4454,7 +4551,7 @@ class CfnLogDeliveryConfigurationProps:
4454
4551
  )
4455
4552
 
4456
4553
 
4457
- @jsii.implements(_IInspectable_c2943556)
4554
+ @jsii.implements(_IInspectable_c2943556, _IManagedLoginBrandingRef_2fdc5419)
4458
4555
  class CfnManagedLoginBranding(
4459
4556
  _CfnResource_9df397a6,
4460
4557
  metaclass=jsii.JSIIMeta,
@@ -4514,14 +4611,15 @@ class CfnManagedLoginBranding(
4514
4611
  settings: typing.Any = None,
4515
4612
  use_cognito_provided_values: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4516
4613
  ) -> None:
4517
- '''
4614
+ '''Create a new ``AWS::Cognito::ManagedLoginBranding``.
4615
+
4518
4616
  :param scope: Scope in which this resource is defined.
4519
4617
  :param id: Construct identifier for this resource (unique in its scope).
4520
4618
  :param user_pool_id: The user pool where the branding style is assigned.
4521
4619
  :param assets: An array of image files that you want to apply to roles like backgrounds, logos, and icons. Each object must also indicate whether it is for dark mode, light mode, or browser-adaptive mode.
4522
- :param client_id: The app client that's assigned to the branding style that you want more information about.
4620
+ :param client_id: The app client that you want to assign the branding style to. Each style is linked to an app client until you delete it.
4523
4621
  :param return_merged_resources: When ``true`` , returns values for branding options that are unchanged from Amazon Cognito defaults. When ``false`` or when you omit this parameter, returns only values that you customized in your branding style.
4524
- :param settings: A JSON file, encoded as a ``Document`` type, with the the settings that you want to apply to your style.
4622
+ :param settings: A JSON file, encoded as a ``Document`` type, with the the settings that you want to apply to your style. The following components are not currently implemented and reserved for future use: - ``signUp`` - ``instructions`` - ``sessionTimerDisplay`` - ``languageSelector`` (for localization, see `Managed login localization) <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html#managed-login-localization>`_
4525
4623
  :param use_cognito_provided_values: When true, applies the default branding style options. This option reverts to default style options that are managed by Amazon Cognito. You can modify them later in the branding editor. When you specify ``true`` for this option, you must also omit values for ``Settings`` and ``Assets`` in the request.
4526
4624
  '''
4527
4625
  if __debug__:
@@ -4583,6 +4681,12 @@ class CfnManagedLoginBranding(
4583
4681
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4584
4682
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4585
4683
 
4684
+ @builtins.property
4685
+ @jsii.member(jsii_name="managedLoginBrandingRef")
4686
+ def managed_login_branding_ref(self) -> _ManagedLoginBrandingReference_f305ff72:
4687
+ '''A reference to a ManagedLoginBranding resource.'''
4688
+ return typing.cast(_ManagedLoginBrandingReference_f305ff72, jsii.get(self, "managedLoginBrandingRef"))
4689
+
4586
4690
  @builtins.property
4587
4691
  @jsii.member(jsii_name="userPoolId")
4588
4692
  def user_pool_id(self) -> builtins.str:
@@ -4617,7 +4721,7 @@ class CfnManagedLoginBranding(
4617
4721
  @builtins.property
4618
4722
  @jsii.member(jsii_name="clientId")
4619
4723
  def client_id(self) -> typing.Optional[builtins.str]:
4620
- '''The app client that's assigned to the branding style that you want more information about.'''
4724
+ '''The app client that you want to assign the branding style to.'''
4621
4725
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "clientId"))
4622
4726
 
4623
4727
  @client_id.setter
@@ -4832,9 +4936,9 @@ class CfnManagedLoginBrandingProps:
4832
4936
 
4833
4937
  :param user_pool_id: The user pool where the branding style is assigned.
4834
4938
  :param assets: An array of image files that you want to apply to roles like backgrounds, logos, and icons. Each object must also indicate whether it is for dark mode, light mode, or browser-adaptive mode.
4835
- :param client_id: The app client that's assigned to the branding style that you want more information about.
4939
+ :param client_id: The app client that you want to assign the branding style to. Each style is linked to an app client until you delete it.
4836
4940
  :param return_merged_resources: When ``true`` , returns values for branding options that are unchanged from Amazon Cognito defaults. When ``false`` or when you omit this parameter, returns only values that you customized in your branding style.
4837
- :param settings: A JSON file, encoded as a ``Document`` type, with the the settings that you want to apply to your style.
4941
+ :param settings: A JSON file, encoded as a ``Document`` type, with the the settings that you want to apply to your style. The following components are not currently implemented and reserved for future use: - ``signUp`` - ``instructions`` - ``sessionTimerDisplay`` - ``languageSelector`` (for localization, see `Managed login localization) <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html#managed-login-localization>`_
4838
4942
  :param use_cognito_provided_values: When true, applies the default branding style options. This option reverts to default style options that are managed by Amazon Cognito. You can modify them later in the branding editor. When you specify ``true`` for this option, you must also omit values for ``Settings`` and ``Assets`` in the request.
4839
4943
 
4840
4944
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html
@@ -4914,7 +5018,9 @@ class CfnManagedLoginBrandingProps:
4914
5018
 
4915
5019
  @builtins.property
4916
5020
  def client_id(self) -> typing.Optional[builtins.str]:
4917
- '''The app client that's assigned to the branding style that you want more information about.
5021
+ '''The app client that you want to assign the branding style to.
5022
+
5023
+ Each style is linked to an app client until you delete it.
4918
5024
 
4919
5025
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-clientid
4920
5026
  '''
@@ -4938,6 +5044,13 @@ class CfnManagedLoginBrandingProps:
4938
5044
  def settings(self) -> typing.Any:
4939
5045
  '''A JSON file, encoded as a ``Document`` type, with the the settings that you want to apply to your style.
4940
5046
 
5047
+ The following components are not currently implemented and reserved for future use:
5048
+
5049
+ - ``signUp``
5050
+ - ``instructions``
5051
+ - ``sessionTimerDisplay``
5052
+ - ``languageSelector`` (for localization, see `Managed login localization) <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html#managed-login-localization>`_
5053
+
4941
5054
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-settings
4942
5055
  '''
4943
5056
  result = self._values.get("settings")
@@ -4970,7 +5083,343 @@ class CfnManagedLoginBrandingProps:
4970
5083
  )
4971
5084
 
4972
5085
 
4973
- @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
5086
+ @jsii.implements(_IInspectable_c2943556, _ITermsRef_3aea4e86)
5087
+ class CfnTerms(
5088
+ _CfnResource_9df397a6,
5089
+ metaclass=jsii.JSIIMeta,
5090
+ jsii_type="aws-cdk-lib.aws_cognito.CfnTerms",
5091
+ ):
5092
+ '''Resource Type definition for AWS::Cognito::Terms.
5093
+
5094
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-terms.html
5095
+ :cloudformationResource: AWS::Cognito::Terms
5096
+ :exampleMetadata: fixture=_generated
5097
+
5098
+ Example::
5099
+
5100
+ # The code below shows an example of how to instantiate this type.
5101
+ # The values are placeholders you should change.
5102
+ from aws_cdk import aws_cognito as cognito
5103
+
5104
+ cfn_terms = cognito.CfnTerms(self, "MyCfnTerms",
5105
+ enforcement="enforcement",
5106
+ links={
5107
+ "links_key": "links"
5108
+ },
5109
+ terms_name="termsName",
5110
+ terms_source="termsSource",
5111
+ user_pool_id="userPoolId",
5112
+
5113
+ # the properties below are optional
5114
+ client_id="clientId"
5115
+ )
5116
+ '''
5117
+
5118
+ def __init__(
5119
+ self,
5120
+ scope: _constructs_77d1e7e8.Construct,
5121
+ id: builtins.str,
5122
+ *,
5123
+ enforcement: builtins.str,
5124
+ links: typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b],
5125
+ terms_name: builtins.str,
5126
+ terms_source: builtins.str,
5127
+ user_pool_id: builtins.str,
5128
+ client_id: typing.Optional[builtins.str] = None,
5129
+ ) -> None:
5130
+ '''Create a new ``AWS::Cognito::Terms``.
5131
+
5132
+ :param scope: Scope in which this resource is defined.
5133
+ :param id: Construct identifier for this resource (unique in its scope).
5134
+ :param enforcement:
5135
+ :param links:
5136
+ :param terms_name:
5137
+ :param terms_source:
5138
+ :param user_pool_id:
5139
+ :param client_id:
5140
+ '''
5141
+ if __debug__:
5142
+ type_hints = typing.get_type_hints(_typecheckingstub__60ed6baa47f9012cc57d9cef7e22f15d5f04fd45aa55fc0e8672f7e89ef3f146)
5143
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5144
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5145
+ props = CfnTermsProps(
5146
+ enforcement=enforcement,
5147
+ links=links,
5148
+ terms_name=terms_name,
5149
+ terms_source=terms_source,
5150
+ user_pool_id=user_pool_id,
5151
+ client_id=client_id,
5152
+ )
5153
+
5154
+ jsii.create(self.__class__, self, [scope, id, props])
5155
+
5156
+ @jsii.member(jsii_name="inspect")
5157
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
5158
+ '''Examines the CloudFormation resource and discloses attributes.
5159
+
5160
+ :param inspector: tree inspector to collect and process attributes.
5161
+ '''
5162
+ if __debug__:
5163
+ type_hints = typing.get_type_hints(_typecheckingstub__0c857e95caaea9926ffb4e0ab5c3a0bb7d8a82c05cf7bd42adce1312c203e7a6)
5164
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
5165
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
5166
+
5167
+ @jsii.member(jsii_name="renderProperties")
5168
+ def _render_properties(
5169
+ self,
5170
+ props: typing.Mapping[builtins.str, typing.Any],
5171
+ ) -> typing.Mapping[builtins.str, typing.Any]:
5172
+ '''
5173
+ :param props: -
5174
+ '''
5175
+ if __debug__:
5176
+ type_hints = typing.get_type_hints(_typecheckingstub__9dddb891f6e734bbc549324d30543ba3d862fb957be34e904236132737d7b71a)
5177
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
5178
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
5179
+
5180
+ @jsii.python.classproperty
5181
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
5182
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
5183
+ '''The CloudFormation resource type name for this resource class.'''
5184
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
5185
+
5186
+ @builtins.property
5187
+ @jsii.member(jsii_name="attrTermsId")
5188
+ def attr_terms_id(self) -> builtins.str:
5189
+ '''
5190
+ :cloudformationAttribute: TermsId
5191
+ '''
5192
+ return typing.cast(builtins.str, jsii.get(self, "attrTermsId"))
5193
+
5194
+ @builtins.property
5195
+ @jsii.member(jsii_name="cfnProperties")
5196
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
5197
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
5198
+
5199
+ @builtins.property
5200
+ @jsii.member(jsii_name="termsRef")
5201
+ def terms_ref(self) -> _TermsReference_01199e92:
5202
+ '''A reference to a Terms resource.'''
5203
+ return typing.cast(_TermsReference_01199e92, jsii.get(self, "termsRef"))
5204
+
5205
+ @builtins.property
5206
+ @jsii.member(jsii_name="enforcement")
5207
+ def enforcement(self) -> builtins.str:
5208
+ return typing.cast(builtins.str, jsii.get(self, "enforcement"))
5209
+
5210
+ @enforcement.setter
5211
+ def enforcement(self, value: builtins.str) -> None:
5212
+ if __debug__:
5213
+ type_hints = typing.get_type_hints(_typecheckingstub__f61b831431a9a8cd9abc071d0372ef9f7481c4297f99d22362f79e4456530000)
5214
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5215
+ jsii.set(self, "enforcement", value) # pyright: ignore[reportArgumentType]
5216
+
5217
+ @builtins.property
5218
+ @jsii.member(jsii_name="links")
5219
+ def links(
5220
+ self,
5221
+ ) -> typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]:
5222
+ return typing.cast(typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b], jsii.get(self, "links"))
5223
+
5224
+ @links.setter
5225
+ def links(
5226
+ self,
5227
+ value: typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b],
5228
+ ) -> None:
5229
+ if __debug__:
5230
+ type_hints = typing.get_type_hints(_typecheckingstub__4f9dfce3805ce6a5b41ec8b8adeb160b16b2bb09e9af48569f2f3a28a1301c36)
5231
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5232
+ jsii.set(self, "links", value) # pyright: ignore[reportArgumentType]
5233
+
5234
+ @builtins.property
5235
+ @jsii.member(jsii_name="termsName")
5236
+ def terms_name(self) -> builtins.str:
5237
+ return typing.cast(builtins.str, jsii.get(self, "termsName"))
5238
+
5239
+ @terms_name.setter
5240
+ def terms_name(self, value: builtins.str) -> None:
5241
+ if __debug__:
5242
+ type_hints = typing.get_type_hints(_typecheckingstub__68b51d1ab80adde15516db14033542fe90da3c6c88f931ab391ca9a06f2b57a2)
5243
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5244
+ jsii.set(self, "termsName", value) # pyright: ignore[reportArgumentType]
5245
+
5246
+ @builtins.property
5247
+ @jsii.member(jsii_name="termsSource")
5248
+ def terms_source(self) -> builtins.str:
5249
+ return typing.cast(builtins.str, jsii.get(self, "termsSource"))
5250
+
5251
+ @terms_source.setter
5252
+ def terms_source(self, value: builtins.str) -> None:
5253
+ if __debug__:
5254
+ type_hints = typing.get_type_hints(_typecheckingstub__d5aa2b8f439bae6d46ca78a5e059a5ed10c4d8f1fa1e7624f714272d8d13b98e)
5255
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5256
+ jsii.set(self, "termsSource", value) # pyright: ignore[reportArgumentType]
5257
+
5258
+ @builtins.property
5259
+ @jsii.member(jsii_name="userPoolId")
5260
+ def user_pool_id(self) -> builtins.str:
5261
+ return typing.cast(builtins.str, jsii.get(self, "userPoolId"))
5262
+
5263
+ @user_pool_id.setter
5264
+ def user_pool_id(self, value: builtins.str) -> None:
5265
+ if __debug__:
5266
+ type_hints = typing.get_type_hints(_typecheckingstub__bedec026b3875318368cb2e1f7df8e4146e8efed23c452b2176302d00eac9db3)
5267
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5268
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
5269
+
5270
+ @builtins.property
5271
+ @jsii.member(jsii_name="clientId")
5272
+ def client_id(self) -> typing.Optional[builtins.str]:
5273
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "clientId"))
5274
+
5275
+ @client_id.setter
5276
+ def client_id(self, value: typing.Optional[builtins.str]) -> None:
5277
+ if __debug__:
5278
+ type_hints = typing.get_type_hints(_typecheckingstub__b52c4f91e8237836ed692eed70ef894814f27cdb9a5c5fe5278b59f348ab3bb9)
5279
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5280
+ jsii.set(self, "clientId", value) # pyright: ignore[reportArgumentType]
5281
+
5282
+
5283
+ @jsii.data_type(
5284
+ jsii_type="aws-cdk-lib.aws_cognito.CfnTermsProps",
5285
+ jsii_struct_bases=[],
5286
+ name_mapping={
5287
+ "enforcement": "enforcement",
5288
+ "links": "links",
5289
+ "terms_name": "termsName",
5290
+ "terms_source": "termsSource",
5291
+ "user_pool_id": "userPoolId",
5292
+ "client_id": "clientId",
5293
+ },
5294
+ )
5295
+ class CfnTermsProps:
5296
+ def __init__(
5297
+ self,
5298
+ *,
5299
+ enforcement: builtins.str,
5300
+ links: typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b],
5301
+ terms_name: builtins.str,
5302
+ terms_source: builtins.str,
5303
+ user_pool_id: builtins.str,
5304
+ client_id: typing.Optional[builtins.str] = None,
5305
+ ) -> None:
5306
+ '''Properties for defining a ``CfnTerms``.
5307
+
5308
+ :param enforcement:
5309
+ :param links:
5310
+ :param terms_name:
5311
+ :param terms_source:
5312
+ :param user_pool_id:
5313
+ :param client_id:
5314
+
5315
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-terms.html
5316
+ :exampleMetadata: fixture=_generated
5317
+
5318
+ Example::
5319
+
5320
+ # The code below shows an example of how to instantiate this type.
5321
+ # The values are placeholders you should change.
5322
+ from aws_cdk import aws_cognito as cognito
5323
+
5324
+ cfn_terms_props = cognito.CfnTermsProps(
5325
+ enforcement="enforcement",
5326
+ links={
5327
+ "links_key": "links"
5328
+ },
5329
+ terms_name="termsName",
5330
+ terms_source="termsSource",
5331
+ user_pool_id="userPoolId",
5332
+
5333
+ # the properties below are optional
5334
+ client_id="clientId"
5335
+ )
5336
+ '''
5337
+ if __debug__:
5338
+ type_hints = typing.get_type_hints(_typecheckingstub__285db7e3bc95478b571785bee7fa49951055cef4d8266009ed59e73fea5e4d4e)
5339
+ check_type(argname="argument enforcement", value=enforcement, expected_type=type_hints["enforcement"])
5340
+ check_type(argname="argument links", value=links, expected_type=type_hints["links"])
5341
+ check_type(argname="argument terms_name", value=terms_name, expected_type=type_hints["terms_name"])
5342
+ check_type(argname="argument terms_source", value=terms_source, expected_type=type_hints["terms_source"])
5343
+ check_type(argname="argument user_pool_id", value=user_pool_id, expected_type=type_hints["user_pool_id"])
5344
+ check_type(argname="argument client_id", value=client_id, expected_type=type_hints["client_id"])
5345
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5346
+ "enforcement": enforcement,
5347
+ "links": links,
5348
+ "terms_name": terms_name,
5349
+ "terms_source": terms_source,
5350
+ "user_pool_id": user_pool_id,
5351
+ }
5352
+ if client_id is not None:
5353
+ self._values["client_id"] = client_id
5354
+
5355
+ @builtins.property
5356
+ def enforcement(self) -> builtins.str:
5357
+ '''
5358
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-terms.html#cfn-cognito-terms-enforcement
5359
+ '''
5360
+ result = self._values.get("enforcement")
5361
+ assert result is not None, "Required property 'enforcement' is missing"
5362
+ return typing.cast(builtins.str, result)
5363
+
5364
+ @builtins.property
5365
+ def links(
5366
+ self,
5367
+ ) -> typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]:
5368
+ '''
5369
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-terms.html#cfn-cognito-terms-links
5370
+ '''
5371
+ result = self._values.get("links")
5372
+ assert result is not None, "Required property 'links' is missing"
5373
+ return typing.cast(typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b], result)
5374
+
5375
+ @builtins.property
5376
+ def terms_name(self) -> builtins.str:
5377
+ '''
5378
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-terms.html#cfn-cognito-terms-termsname
5379
+ '''
5380
+ result = self._values.get("terms_name")
5381
+ assert result is not None, "Required property 'terms_name' is missing"
5382
+ return typing.cast(builtins.str, result)
5383
+
5384
+ @builtins.property
5385
+ def terms_source(self) -> builtins.str:
5386
+ '''
5387
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-terms.html#cfn-cognito-terms-termssource
5388
+ '''
5389
+ result = self._values.get("terms_source")
5390
+ assert result is not None, "Required property 'terms_source' is missing"
5391
+ return typing.cast(builtins.str, result)
5392
+
5393
+ @builtins.property
5394
+ def user_pool_id(self) -> builtins.str:
5395
+ '''
5396
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-terms.html#cfn-cognito-terms-userpoolid
5397
+ '''
5398
+ result = self._values.get("user_pool_id")
5399
+ assert result is not None, "Required property 'user_pool_id' is missing"
5400
+ return typing.cast(builtins.str, result)
5401
+
5402
+ @builtins.property
5403
+ def client_id(self) -> typing.Optional[builtins.str]:
5404
+ '''
5405
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-terms.html#cfn-cognito-terms-clientid
5406
+ '''
5407
+ result = self._values.get("client_id")
5408
+ return typing.cast(typing.Optional[builtins.str], result)
5409
+
5410
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5411
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5412
+
5413
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5414
+ return not (rhs == self)
5415
+
5416
+ def __repr__(self) -> str:
5417
+ return "CfnTermsProps(%s)" % ", ".join(
5418
+ k + "=" + repr(v) for k, v in self._values.items()
5419
+ )
5420
+
5421
+
5422
+ @jsii.implements(_IInspectable_c2943556, _IUserPoolRef_0b7d02b5, _ITaggable_36806126)
4974
5423
  class CfnUserPool(
4975
5424
  _CfnResource_9df397a6,
4976
5425
  metaclass=jsii.JSIIMeta,
@@ -5156,7 +5605,8 @@ class CfnUserPool(
5156
5605
  web_authn_relying_party_id: typing.Optional[builtins.str] = None,
5157
5606
  web_authn_user_verification: typing.Optional[builtins.str] = None,
5158
5607
  ) -> None:
5159
- '''
5608
+ '''Create a new ``AWS::Cognito::UserPool``.
5609
+
5160
5610
  :param scope: Scope in which this resource is defined.
5161
5611
  :param id: Construct identifier for this resource (unique in its scope).
5162
5612
  :param account_recovery_setting: The available verified method a user can use to recover their password when they call ``ForgotPassword`` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.
@@ -5227,6 +5677,48 @@ class CfnUserPool(
5227
5677
 
5228
5678
  jsii.create(self.__class__, self, [scope, id, props])
5229
5679
 
5680
+ @jsii.member(jsii_name="fromUserPoolArn")
5681
+ @builtins.classmethod
5682
+ def from_user_pool_arn(
5683
+ cls,
5684
+ scope: _constructs_77d1e7e8.Construct,
5685
+ id: builtins.str,
5686
+ arn: builtins.str,
5687
+ ) -> _IUserPoolRef_0b7d02b5:
5688
+ '''Creates a new IUserPoolRef from an ARN.
5689
+
5690
+ :param scope: -
5691
+ :param id: -
5692
+ :param arn: -
5693
+ '''
5694
+ if __debug__:
5695
+ type_hints = typing.get_type_hints(_typecheckingstub__50cb94accc8d60746f0970af6f3f1428a04180d1d6c471b7ebb0c7eeaf6f5e11)
5696
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5697
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5698
+ check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
5699
+ return typing.cast(_IUserPoolRef_0b7d02b5, jsii.sinvoke(cls, "fromUserPoolArn", [scope, id, arn]))
5700
+
5701
+ @jsii.member(jsii_name="fromUserPoolId")
5702
+ @builtins.classmethod
5703
+ def from_user_pool_id(
5704
+ cls,
5705
+ scope: _constructs_77d1e7e8.Construct,
5706
+ id: builtins.str,
5707
+ user_pool_id: builtins.str,
5708
+ ) -> _IUserPoolRef_0b7d02b5:
5709
+ '''Creates a new IUserPoolRef from a userPoolId.
5710
+
5711
+ :param scope: -
5712
+ :param id: -
5713
+ :param user_pool_id: -
5714
+ '''
5715
+ if __debug__:
5716
+ type_hints = typing.get_type_hints(_typecheckingstub__77bca4d59ea1b80508c0fd60c8f34e3c4dff94c3e5dada90fee904207040ff1a)
5717
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
5718
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
5719
+ check_type(argname="argument user_pool_id", value=user_pool_id, expected_type=type_hints["user_pool_id"])
5720
+ return typing.cast(_IUserPoolRef_0b7d02b5, jsii.sinvoke(cls, "fromUserPoolId", [scope, id, user_pool_id]))
5721
+
5230
5722
  @jsii.member(jsii_name="inspect")
5231
5723
  def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
5232
5724
  '''Examines the CloudFormation resource and discloses attributes.
@@ -5304,6 +5796,12 @@ class CfnUserPool(
5304
5796
  '''Tag Manager which manages the tags for this resource.'''
5305
5797
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
5306
5798
 
5799
+ @builtins.property
5800
+ @jsii.member(jsii_name="userPoolRef")
5801
+ def user_pool_ref(self) -> _UserPoolReference_0ef20aae:
5802
+ '''A reference to a UserPool resource.'''
5803
+ return typing.cast(_UserPoolReference_0ef20aae, jsii.get(self, "userPoolRef"))
5804
+
5307
5805
  @builtins.property
5308
5806
  @jsii.member(jsii_name="accountRecoverySetting")
5309
5807
  def account_recovery_setting(
@@ -8024,7 +8522,7 @@ class CfnUserPool(
8024
8522
  )
8025
8523
 
8026
8524
 
8027
- @jsii.implements(_IInspectable_c2943556)
8525
+ @jsii.implements(_IInspectable_c2943556, _IUserPoolClientRef_4466eeba)
8028
8526
  class CfnUserPoolClient(
8029
8527
  _CfnResource_9df397a6,
8030
8528
  metaclass=jsii.JSIIMeta,
@@ -8130,7 +8628,8 @@ class CfnUserPoolClient(
8130
8628
  token_validity_units: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPoolClient.TokenValidityUnitsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8131
8629
  write_attributes: typing.Optional[typing.Sequence[builtins.str]] = None,
8132
8630
  ) -> None:
8133
- '''
8631
+ '''Create a new ``AWS::Cognito::UserPoolClient``.
8632
+
8134
8633
  :param scope: Scope in which this resource is defined.
8135
8634
  :param id: Construct identifier for this resource (unique in its scope).
8136
8635
  :param user_pool_id: The ID of the user pool where you want to create an app client.
@@ -8140,7 +8639,7 @@ class CfnUserPoolClient(
8140
8639
  :param allowed_o_auth_scopes: The OAuth, OpenID Connect (OIDC), and custom scopes that you want to permit your app client to authorize access with. Scopes govern access control to user pool self-service API operations, user data from the ``userInfo`` endpoint, and third-party APIs. Scope values include ``phone`` , ``email`` , ``openid`` , and ``profile`` . The ``aws.cognito.signin.user.admin`` scope authorizes user self-service operations. Custom scopes with resource servers authorize access to external APIs.
8141
8640
  :param analytics_configuration: The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign. In AWS Regions where Amazon Pinpoint isn't available, user pools might not have access to analytics or might be configurable with campaigns in the US East (N. Virginia) Region. For more information, see `Using Amazon Pinpoint analytics <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-pinpoint-integration.html>`_ .
8142
8641
  :param auth_session_validity: Amazon Cognito creates a session token for each API request in an authentication flow. ``AuthSessionValidity`` is the duration, in minutes, of that session token. Your user pool native user must respond to each authentication challenge before the session expires.
8143
- :param callback_ur_ls: A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes. A redirect URI must meet the following requirements: - Be an absolute URI. - Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with ``redirect_uri`` values that aren't in the list of ``CallbackURLs`` that you provide in this parameter. - Not include a fragment component. See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ . Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.
8642
+ :param callback_ur_ls: A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes. A redirect URI must meet the following requirements: - Be an absolute URI. - Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with ``redirect_uri`` values that aren't in the list of ``CallbackURLs`` that you provide in this parameter. - Not include a fragment component. See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ . Amazon Cognito requires HTTPS over HTTP except for callback URLs to ``http://localhost`` , ``http://127.0.0.1`` and ``http://[::1]`` . These callback URLs are for testing purposes only. You can specify custom TCP ports for your callback URLs. App callback URLs such as ``myapp://example`` are also supported.
8144
8643
  :param client_name: A friendly name for the app client that you want to create.
8145
8644
  :param default_redirect_uri: The default redirect URI. In app clients with one assigned IdP, replaces ``redirect_uri`` in authentication requests. Must be in the ``CallbackURLs`` list.
8146
8645
  :param enable_propagate_additional_user_context_data: When ``true`` , your application can include additional ``UserContextData`` in authentication requests. This data includes the IP address, and contributes to analysis by threat protection features. For more information about propagation of user context data, see `Adding session data to API requests <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-adaptive-authentication.html#user-pool-settings-adaptive-authentication-device-fingerprint>`_ . If you don’t include this parameter, you can't send the source IP address to Amazon Cognito threat protection features. You can only activate ``EnablePropagateAdditionalUserContextData`` in an app client that has a client secret.
@@ -8151,7 +8650,7 @@ class CfnUserPoolClient(
8151
8650
  :param logout_ur_ls: A list of allowed logout URLs for managed login authentication. When you pass ``logout_uri`` and ``client_id`` parameters to ``/logout`` , Amazon Cognito signs out your user and redirects them to the logout URL. This parameter describes the URLs that you want to be the permitted targets of ``logout_uri`` . A typical use of these URLs is when a user selects "Sign out" and you redirect them to your public homepage. For more information, see `Logout endpoint <https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.html>`_ .
8152
8651
  :param prevent_user_existence_errors: Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to ``ENABLED`` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to ``LEGACY`` , those APIs return a ``UserNotFoundException`` exception if the user doesn't exist in the user pool. Valid values include: - ``ENABLED`` - This prevents user existence-related errors. - ``LEGACY`` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. Defaults to ``LEGACY`` when you don't provide a value.
8153
8652
  :param read_attributes: The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. When you don't specify the ``ReadAttributes`` for your app client, your app can read the values of ``email_verified`` , ``phone_number_verified`` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, ``ReadAttributes`` doesn't return any information. Amazon Cognito only populates ``ReadAttributes`` in the API response if you have specified your own custom set of read attributes.
8154
- :param refresh_token_rotation:
8653
+ :param refresh_token_rotation: The configuration of your app client for refresh token rotation. When enabled, your app client issues new ID, access, and refresh tokens when users renew their sessions with refresh tokens. When disabled, token refresh issues only ID and access tokens.
8155
8654
  :param refresh_token_validity: The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for ``RefreshTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``RefreshTokenValidity`` as ``10`` and ``TokenValidityUnits`` as ``days`` , your user can refresh their session and retrieve new access and ID tokens for 10 days. The default time unit for ``RefreshTokenValidity`` in an API request is days. You can't set ``RefreshTokenValidity`` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. If you don't specify otherwise in the configuration of your app client, your refresh tokens are valid for 30 days.
8156
8655
  :param supported_identity_providers: A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: ``COGNITO`` , ``Facebook`` , ``Google`` , ``SignInWithApple`` , and ``LoginWithAmazon`` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example ``MySAMLIdP`` or ``MyOIDCIdP`` . This parameter sets the IdPs that `managed login <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html>`_ will display on the login page for your app client. The removal of ``COGNITO`` from this list doesn't prevent authentication operations for local users with the user pools API in an AWS SDK. The only way to prevent SDK-based authentication is to block access with a `AWS WAF rule <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html>`_ .
8157
8656
  :param token_validity_units: The units that validity times are represented in. The default unit for refresh tokens is days, and the default for ID and access tokens are hours.
@@ -8249,6 +8748,12 @@ class CfnUserPoolClient(
8249
8748
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8250
8749
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8251
8750
 
8751
+ @builtins.property
8752
+ @jsii.member(jsii_name="userPoolClientRef")
8753
+ def user_pool_client_ref(self) -> _UserPoolClientReference_2e04ee48:
8754
+ '''A reference to a UserPoolClient resource.'''
8755
+ return typing.cast(_UserPoolClientReference_2e04ee48, jsii.get(self, "userPoolClientRef"))
8756
+
8252
8757
  @builtins.property
8253
8758
  @jsii.member(jsii_name="userPoolId")
8254
8759
  def user_pool_id(self) -> builtins.str:
@@ -8528,6 +9033,7 @@ class CfnUserPoolClient(
8528
9033
  def refresh_token_rotation(
8529
9034
  self,
8530
9035
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPoolClient.RefreshTokenRotationProperty"]]:
9036
+ '''The configuration of your app client for refresh token rotation.'''
8531
9037
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPoolClient.RefreshTokenRotationProperty"]], jsii.get(self, "refreshTokenRotation"))
8532
9038
 
8533
9039
  @refresh_token_rotation.setter
@@ -8749,9 +9255,12 @@ class CfnUserPoolClient(
8749
9255
  feature: typing.Optional[builtins.str] = None,
8750
9256
  retry_grace_period_seconds: typing.Optional[jsii.Number] = None,
8751
9257
  ) -> None:
8752
- '''
8753
- :param feature:
8754
- :param retry_grace_period_seconds:
9258
+ '''The configuration of your app client for refresh token rotation.
9259
+
9260
+ When enabled, your app client issues new ID, access, and refresh tokens when users renew their sessions with refresh tokens. When disabled, token refresh issues only ID and access tokens.
9261
+
9262
+ :param feature: The state of refresh token rotation for the current app client.
9263
+ :param retry_grace_period_seconds: When you request a token refresh with ``GetTokensFromRefreshToken`` , the original refresh token that you're rotating out can remain valid for a period of time of up to 60 seconds. This allows for client-side retries. When ``RetryGracePeriodSeconds`` is ``0`` , the grace period is disabled and a successful request immediately invalidates the submitted refresh token.
8755
9264
 
8756
9265
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-refreshtokenrotation.html
8757
9266
  :exampleMetadata: fixture=_generated
@@ -8779,7 +9288,8 @@ class CfnUserPoolClient(
8779
9288
 
8780
9289
  @builtins.property
8781
9290
  def feature(self) -> typing.Optional[builtins.str]:
8782
- '''
9291
+ '''The state of refresh token rotation for the current app client.
9292
+
8783
9293
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-refreshtokenrotation.html#cfn-cognito-userpoolclient-refreshtokenrotation-feature
8784
9294
  '''
8785
9295
  result = self._values.get("feature")
@@ -8787,7 +9297,10 @@ class CfnUserPoolClient(
8787
9297
 
8788
9298
  @builtins.property
8789
9299
  def retry_grace_period_seconds(self) -> typing.Optional[jsii.Number]:
8790
- '''
9300
+ '''When you request a token refresh with ``GetTokensFromRefreshToken`` , the original refresh token that you're rotating out can remain valid for a period of time of up to 60 seconds.
9301
+
9302
+ This allows for client-side retries. When ``RetryGracePeriodSeconds`` is ``0`` , the grace period is disabled and a successful request immediately invalidates the submitted refresh token.
9303
+
8791
9304
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-refreshtokenrotation.html#cfn-cognito-userpoolclient-refreshtokenrotation-retrygraceperiodseconds
8792
9305
  '''
8793
9306
  result = self._values.get("retry_grace_period_seconds")
@@ -8968,7 +9481,7 @@ class CfnUserPoolClientProps:
8968
9481
  :param allowed_o_auth_scopes: The OAuth, OpenID Connect (OIDC), and custom scopes that you want to permit your app client to authorize access with. Scopes govern access control to user pool self-service API operations, user data from the ``userInfo`` endpoint, and third-party APIs. Scope values include ``phone`` , ``email`` , ``openid`` , and ``profile`` . The ``aws.cognito.signin.user.admin`` scope authorizes user self-service operations. Custom scopes with resource servers authorize access to external APIs.
8969
9482
  :param analytics_configuration: The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign. In AWS Regions where Amazon Pinpoint isn't available, user pools might not have access to analytics or might be configurable with campaigns in the US East (N. Virginia) Region. For more information, see `Using Amazon Pinpoint analytics <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-pinpoint-integration.html>`_ .
8970
9483
  :param auth_session_validity: Amazon Cognito creates a session token for each API request in an authentication flow. ``AuthSessionValidity`` is the duration, in minutes, of that session token. Your user pool native user must respond to each authentication challenge before the session expires.
8971
- :param callback_ur_ls: A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes. A redirect URI must meet the following requirements: - Be an absolute URI. - Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with ``redirect_uri`` values that aren't in the list of ``CallbackURLs`` that you provide in this parameter. - Not include a fragment component. See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ . Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.
9484
+ :param callback_ur_ls: A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes. A redirect URI must meet the following requirements: - Be an absolute URI. - Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with ``redirect_uri`` values that aren't in the list of ``CallbackURLs`` that you provide in this parameter. - Not include a fragment component. See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ . Amazon Cognito requires HTTPS over HTTP except for callback URLs to ``http://localhost`` , ``http://127.0.0.1`` and ``http://[::1]`` . These callback URLs are for testing purposes only. You can specify custom TCP ports for your callback URLs. App callback URLs such as ``myapp://example`` are also supported.
8972
9485
  :param client_name: A friendly name for the app client that you want to create.
8973
9486
  :param default_redirect_uri: The default redirect URI. In app clients with one assigned IdP, replaces ``redirect_uri`` in authentication requests. Must be in the ``CallbackURLs`` list.
8974
9487
  :param enable_propagate_additional_user_context_data: When ``true`` , your application can include additional ``UserContextData`` in authentication requests. This data includes the IP address, and contributes to analysis by threat protection features. For more information about propagation of user context data, see `Adding session data to API requests <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-adaptive-authentication.html#user-pool-settings-adaptive-authentication-device-fingerprint>`_ . If you don’t include this parameter, you can't send the source IP address to Amazon Cognito threat protection features. You can only activate ``EnablePropagateAdditionalUserContextData`` in an app client that has a client secret.
@@ -8979,7 +9492,7 @@ class CfnUserPoolClientProps:
8979
9492
  :param logout_ur_ls: A list of allowed logout URLs for managed login authentication. When you pass ``logout_uri`` and ``client_id`` parameters to ``/logout`` , Amazon Cognito signs out your user and redirects them to the logout URL. This parameter describes the URLs that you want to be the permitted targets of ``logout_uri`` . A typical use of these URLs is when a user selects "Sign out" and you redirect them to your public homepage. For more information, see `Logout endpoint <https://docs.aws.amazon.com/cognito/latest/developerguide/logout-endpoint.html>`_ .
8980
9493
  :param prevent_user_existence_errors: Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to ``ENABLED`` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to ``LEGACY`` , those APIs return a ``UserNotFoundException`` exception if the user doesn't exist in the user pool. Valid values include: - ``ENABLED`` - This prevents user existence-related errors. - ``LEGACY`` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. Defaults to ``LEGACY`` when you don't provide a value.
8981
9494
  :param read_attributes: The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. When you don't specify the ``ReadAttributes`` for your app client, your app can read the values of ``email_verified`` , ``phone_number_verified`` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, ``ReadAttributes`` doesn't return any information. Amazon Cognito only populates ``ReadAttributes`` in the API response if you have specified your own custom set of read attributes.
8982
- :param refresh_token_rotation:
9495
+ :param refresh_token_rotation: The configuration of your app client for refresh token rotation. When enabled, your app client issues new ID, access, and refresh tokens when users renew their sessions with refresh tokens. When disabled, token refresh issues only ID and access tokens.
8983
9496
  :param refresh_token_validity: The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for ``RefreshTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``RefreshTokenValidity`` as ``10`` and ``TokenValidityUnits`` as ``days`` , your user can refresh their session and retrieve new access and ID tokens for 10 days. The default time unit for ``RefreshTokenValidity`` in an API request is days. You can't set ``RefreshTokenValidity`` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. If you don't specify otherwise in the configuration of your app client, your refresh tokens are valid for 30 days.
8984
9497
  :param supported_identity_providers: A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: ``COGNITO`` , ``Facebook`` , ``Google`` , ``SignInWithApple`` , and ``LoginWithAmazon`` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example ``MySAMLIdP`` or ``MyOIDCIdP`` . This parameter sets the IdPs that `managed login <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html>`_ will display on the login page for your app client. The removal of ``COGNITO`` from this list doesn't prevent authentication operations for local users with the user pools API in an AWS SDK. The only way to prevent SDK-based authentication is to block access with a `AWS WAF rule <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html>`_ .
8985
9498
  :param token_validity_units: The units that validity times are represented in. The default unit for refresh tokens is days, and the default for ID and access tokens are hours.
@@ -9221,9 +9734,9 @@ class CfnUserPoolClientProps:
9221
9734
 
9222
9735
  See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ .
9223
9736
 
9224
- Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.
9737
+ Amazon Cognito requires HTTPS over HTTP except for callback URLs to ``http://localhost`` , ``http://127.0.0.1`` and ``http://[::1]`` . These callback URLs are for testing purposes only. You can specify custom TCP ports for your callback URLs.
9225
9738
 
9226
- App callback URLs such as myapp://example are also supported.
9739
+ App callback URLs such as ``myapp://example`` are also supported.
9227
9740
 
9228
9741
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-callbackurls
9229
9742
  '''
@@ -9381,7 +9894,10 @@ class CfnUserPoolClientProps:
9381
9894
  def refresh_token_rotation(
9382
9895
  self,
9383
9896
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnUserPoolClient.RefreshTokenRotationProperty]]:
9384
- '''
9897
+ '''The configuration of your app client for refresh token rotation.
9898
+
9899
+ When enabled, your app client issues new ID, access, and refresh tokens when users renew their sessions with refresh tokens. When disabled, token refresh issues only ID and access tokens.
9900
+
9385
9901
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-refreshtokenrotation
9386
9902
  '''
9387
9903
  result = self._values.get("refresh_token_rotation")
@@ -9461,7 +9977,7 @@ class CfnUserPoolClientProps:
9461
9977
  )
9462
9978
 
9463
9979
 
9464
- @jsii.implements(_IInspectable_c2943556)
9980
+ @jsii.implements(_IInspectable_c2943556, _IUserPoolDomainRef_2fa54b0c)
9465
9981
  class CfnUserPoolDomain(
9466
9982
  _CfnResource_9df397a6,
9467
9983
  metaclass=jsii.JSIIMeta,
@@ -9501,7 +10017,8 @@ class CfnUserPoolDomain(
9501
10017
  custom_domain_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPoolDomain.CustomDomainConfigTypeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
9502
10018
  managed_login_version: typing.Optional[jsii.Number] = None,
9503
10019
  ) -> None:
9504
- '''
10020
+ '''Create a new ``AWS::Cognito::UserPoolDomain``.
10021
+
9505
10022
  :param scope: Scope in which this resource is defined.
9506
10023
  :param id: Construct identifier for this resource (unique in its scope).
9507
10024
  :param domain: The name of the domain that you want to update. For custom domains, this is the fully-qualified domain name, for example ``auth.example.com`` . For prefix domains, this is the prefix alone, such as ``myprefix`` .
@@ -9566,6 +10083,12 @@ class CfnUserPoolDomain(
9566
10083
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
9567
10084
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
9568
10085
 
10086
+ @builtins.property
10087
+ @jsii.member(jsii_name="userPoolDomainRef")
10088
+ def user_pool_domain_ref(self) -> _UserPoolDomainReference_8e0aecda:
10089
+ '''A reference to a UserPoolDomain resource.'''
10090
+ return typing.cast(_UserPoolDomainReference_8e0aecda, jsii.get(self, "userPoolDomainRef"))
10091
+
9569
10092
  @builtins.property
9570
10093
  @jsii.member(jsii_name="domain")
9571
10094
  def domain(self) -> builtins.str:
@@ -9636,7 +10159,7 @@ class CfnUserPoolDomain(
9636
10159
  ) -> None:
9637
10160
  '''The configuration for a hosted UI custom domain.
9638
10161
 
9639
- :param certificate_arn: The Amazon Resource Name (ARN) of an AWS Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.
10162
+ :param certificate_arn: The Amazon Resource Name (ARN) of an Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.
9640
10163
 
9641
10164
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooldomain-customdomainconfigtype.html
9642
10165
  :exampleMetadata: fixture=_generated
@@ -9660,7 +10183,7 @@ class CfnUserPoolDomain(
9660
10183
 
9661
10184
  @builtins.property
9662
10185
  def certificate_arn(self) -> typing.Optional[builtins.str]:
9663
- '''The Amazon Resource Name (ARN) of an AWS Certificate Manager SSL certificate.
10186
+ '''The Amazon Resource Name (ARN) of an Certificate Manager SSL certificate.
9664
10187
 
9665
10188
  You use this certificate for the subdomain of your custom domain.
9666
10189
 
@@ -9802,7 +10325,7 @@ class CfnUserPoolDomainProps:
9802
10325
  )
9803
10326
 
9804
10327
 
9805
- @jsii.implements(_IInspectable_c2943556)
10328
+ @jsii.implements(_IInspectable_c2943556, _IUserPoolGroupRef_89b16d48)
9806
10329
  class CfnUserPoolGroup(
9807
10330
  _CfnResource_9df397a6,
9808
10331
  metaclass=jsii.JSIIMeta,
@@ -9844,7 +10367,8 @@ class CfnUserPoolGroup(
9844
10367
  precedence: typing.Optional[jsii.Number] = None,
9845
10368
  role_arn: typing.Optional[builtins.str] = None,
9846
10369
  ) -> None:
9847
- '''
10370
+ '''Create a new ``AWS::Cognito::UserPoolGroup``.
10371
+
9848
10372
  :param scope: Scope in which this resource is defined.
9849
10373
  :param id: Construct identifier for this resource (unique in its scope).
9850
10374
  :param user_pool_id: The ID of the user pool where you want to create a user group.
@@ -9902,6 +10426,12 @@ class CfnUserPoolGroup(
9902
10426
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
9903
10427
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
9904
10428
 
10429
+ @builtins.property
10430
+ @jsii.member(jsii_name="userPoolGroupRef")
10431
+ def user_pool_group_ref(self) -> _UserPoolGroupReference_5e435fdd:
10432
+ '''A reference to a UserPoolGroup resource.'''
10433
+ return typing.cast(_UserPoolGroupReference_5e435fdd, jsii.get(self, "userPoolGroupRef"))
10434
+
9905
10435
  @builtins.property
9906
10436
  @jsii.member(jsii_name="userPoolId")
9907
10437
  def user_pool_id(self) -> builtins.str:
@@ -10103,7 +10633,7 @@ class CfnUserPoolGroupProps:
10103
10633
  )
10104
10634
 
10105
10635
 
10106
- @jsii.implements(_IInspectable_c2943556)
10636
+ @jsii.implements(_IInspectable_c2943556, _IUserPoolIdentityProviderRef_935eed62)
10107
10637
  class CfnUserPoolIdentityProvider(
10108
10638
  _CfnResource_9df397a6,
10109
10639
  metaclass=jsii.JSIIMeta,
@@ -10148,7 +10678,8 @@ class CfnUserPoolIdentityProvider(
10148
10678
  attribute_mapping: typing.Any = None,
10149
10679
  idp_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
10150
10680
  ) -> None:
10151
- '''
10681
+ '''Create a new ``AWS::Cognito::UserPoolIdentityProvider``.
10682
+
10152
10683
  :param scope: Scope in which this resource is defined.
10153
10684
  :param id: Construct identifier for this resource (unique in its scope).
10154
10685
  :param provider_details: The scopes, URLs, and identifiers for your external identity provider. The following examples describe the provider detail keys for each IdP type. These values and their schema are subject to change. Social IdP ``authorize_scopes`` values must match the values listed here. - **OpenID Connect (OIDC)** - Amazon Cognito accepts the following elements when it can't discover endpoint URLs from ``oidc_issuer`` : ``attributes_url`` , ``authorize_url`` , ``jwks_uri`` , ``token_url`` . Create or update request: ``"ProviderDetails": { "attributes_request_method": "GET", "attributes_url": "https://auth.example.com/userInfo", "authorize_scopes": "openid profile email", "authorize_url": "https://auth.example.com/authorize", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "jwks_uri": "https://auth.example.com/.well-known/jwks.json", "oidc_issuer": "https://auth.example.com", "token_url": "https://example.com/token" }`` Describe response: ``"ProviderDetails": { "attributes_request_method": "GET", "attributes_url": "https://auth.example.com/userInfo", "attributes_url_add_attributes": "false", "authorize_scopes": "openid profile email", "authorize_url": "https://auth.example.com/authorize", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "jwks_uri": "https://auth.example.com/.well-known/jwks.json", "oidc_issuer": "https://auth.example.com", "token_url": "https://example.com/token" }`` - **SAML** - Create or update request with Metadata URL: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "MetadataURL": "https://auth.example.com/sso/saml/metadata", "RequestSigningAlgorithm": "rsa-sha256" }`` Create or update request with Metadata file: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "MetadataFile": "[metadata XML]", "RequestSigningAlgorithm": "rsa-sha256" }`` The value of ``MetadataFile`` must be the plaintext metadata document with all quote (") characters escaped by backslashes. Describe response: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "ActiveEncryptionCertificate": "[certificate]", "MetadataURL": "https://auth.example.com/sso/saml/metadata", "RequestSigningAlgorithm": "rsa-sha256", "SLORedirectBindingURI": "https://auth.example.com/slo/saml", "SSORedirectBindingURI": "https://auth.example.com/sso/saml" }`` - **LoginWithAmazon** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "profile postal_code", "client_id": "amzn1.application-oa2-client.1example23456789", "client_secret": "provider-app-client-secret"`` Describe response: ``"ProviderDetails": { "attributes_url": "https://api.amazon.com/user/profile", "attributes_url_add_attributes": "false", "authorize_scopes": "profile postal_code", "authorize_url": "https://www.amazon.com/ap/oa", "client_id": "amzn1.application-oa2-client.1example23456789", "client_secret": "provider-app-client-secret", "token_request_method": "POST", "token_url": "https://api.amazon.com/auth/o2/token" }`` - **Google** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "email profile openid", "client_id": "1example23456789.apps.googleusercontent.com", "client_secret": "provider-app-client-secret" }`` Describe response: ``"ProviderDetails": { "attributes_url": "https://people.googleapis.com/v1/people/me?personFields=", "attributes_url_add_attributes": "true", "authorize_scopes": "email profile openid", "authorize_url": "https://accounts.google.com/o/oauth2/v2/auth", "client_id": "1example23456789.apps.googleusercontent.com", "client_secret": "provider-app-client-secret", "oidc_issuer": "https://accounts.google.com", "token_request_method": "POST", "token_url": "https://www.googleapis.com/oauth2/v4/token" }`` - **SignInWithApple** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "email name", "client_id": "com.example.cognito", "private_key": "1EXAMPLE", "key_id": "2EXAMPLE", "team_id": "3EXAMPLE" }`` Describe response: ``"ProviderDetails": { "attributes_url_add_attributes": "false", "authorize_scopes": "email name", "authorize_url": "https://appleid.apple.com/auth/authorize", "client_id": "com.example.cognito", "key_id": "1EXAMPLE", "oidc_issuer": "https://appleid.apple.com", "team_id": "2EXAMPLE", "token_request_method": "POST", "token_url": "https://appleid.apple.com/auth/token" }`` - **Facebook** - Create or update request: ``"ProviderDetails": { "api_version": "v17.0", "authorize_scopes": "public_profile, email", "client_id": "1example23456789", "client_secret": "provider-app-client-secret" }`` Describe response: ``"ProviderDetails": { "api_version": "v17.0", "attributes_url": "https://graph.facebook.com/v17.0/me?fields=", "attributes_url_add_attributes": "true", "authorize_scopes": "public_profile, email", "authorize_url": "https://www.facebook.com/v17.0/dialog/oauth", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "token_request_method": "GET", "token_url": "https://graph.facebook.com/v17.0/oauth/access_token" }``
@@ -10208,6 +10739,14 @@ class CfnUserPoolIdentityProvider(
10208
10739
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
10209
10740
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
10210
10741
 
10742
+ @builtins.property
10743
+ @jsii.member(jsii_name="userPoolIdentityProviderRef")
10744
+ def user_pool_identity_provider_ref(
10745
+ self,
10746
+ ) -> _UserPoolIdentityProviderReference_a5d59f88:
10747
+ '''A reference to a UserPoolIdentityProvider resource.'''
10748
+ return typing.cast(_UserPoolIdentityProviderReference_a5d59f88, jsii.get(self, "userPoolIdentityProviderRef"))
10749
+
10211
10750
  @builtins.property
10212
10751
  @jsii.member(jsii_name="providerDetails")
10213
10752
  def provider_details(self) -> typing.Any:
@@ -11170,7 +11709,7 @@ class CfnUserPoolProps:
11170
11709
  )
11171
11710
 
11172
11711
 
11173
- @jsii.implements(_IInspectable_c2943556)
11712
+ @jsii.implements(_IInspectable_c2943556, _IUserPoolResourceServerRef_fda874c5)
11174
11713
  class CfnUserPoolResourceServer(
11175
11714
  _CfnResource_9df397a6,
11176
11715
  metaclass=jsii.JSIIMeta,
@@ -11215,7 +11754,8 @@ class CfnUserPoolResourceServer(
11215
11754
  user_pool_id: builtins.str,
11216
11755
  scopes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPoolResourceServer.ResourceServerScopeTypeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
11217
11756
  ) -> None:
11218
- '''
11757
+ '''Create a new ``AWS::Cognito::UserPoolResourceServer``.
11758
+
11219
11759
  :param scope: Scope in which this resource is defined.
11220
11760
  :param id: Construct identifier for this resource (unique in its scope).
11221
11761
  :param identifier: A unique resource server identifier for the resource server. The identifier can be an API friendly name like ``solar-system-data`` . You can also set an API URL like ``https://solar-system-data-api.example.com`` as your identifier. Amazon Cognito represents scopes in the access token in the format ``$resource-server-identifier/$scope`` . Longer scope-identifier strings increase the size of your access tokens.
@@ -11268,6 +11808,14 @@ class CfnUserPoolResourceServer(
11268
11808
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
11269
11809
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
11270
11810
 
11811
+ @builtins.property
11812
+ @jsii.member(jsii_name="userPoolResourceServerRef")
11813
+ def user_pool_resource_server_ref(
11814
+ self,
11815
+ ) -> _UserPoolResourceServerReference_5b196bf5:
11816
+ '''A reference to a UserPoolResourceServer resource.'''
11817
+ return typing.cast(_UserPoolResourceServerReference_5b196bf5, jsii.get(self, "userPoolResourceServerRef"))
11818
+
11271
11819
  @builtins.property
11272
11820
  @jsii.member(jsii_name="identifier")
11273
11821
  def identifier(self) -> builtins.str:
@@ -11524,7 +12072,7 @@ class CfnUserPoolResourceServerProps:
11524
12072
  )
11525
12073
 
11526
12074
 
11527
- @jsii.implements(_IInspectable_c2943556)
12075
+ @jsii.implements(_IInspectable_c2943556, _IUserPoolRiskConfigurationAttachmentRef_b5390b06)
11528
12076
  class CfnUserPoolRiskConfigurationAttachment(
11529
12077
  _CfnResource_9df397a6,
11530
12078
  metaclass=jsii.JSIIMeta,
@@ -11621,7 +12169,8 @@ class CfnUserPoolRiskConfigurationAttachment(
11621
12169
  compromised_credentials_risk_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationTypeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
11622
12170
  risk_exception_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPoolRiskConfigurationAttachment.RiskExceptionConfigurationTypeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
11623
12171
  ) -> None:
11624
- '''
12172
+ '''Create a new ``AWS::Cognito::UserPoolRiskConfigurationAttachment``.
12173
+
11625
12174
  :param scope: Scope in which this resource is defined.
11626
12175
  :param id: Construct identifier for this resource (unique in its scope).
11627
12176
  :param client_id: The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings.
@@ -11679,6 +12228,14 @@ class CfnUserPoolRiskConfigurationAttachment(
11679
12228
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
11680
12229
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
11681
12230
 
12231
+ @builtins.property
12232
+ @jsii.member(jsii_name="userPoolRiskConfigurationAttachmentRef")
12233
+ def user_pool_risk_configuration_attachment_ref(
12234
+ self,
12235
+ ) -> _UserPoolRiskConfigurationAttachmentReference_815104e9:
12236
+ '''A reference to a UserPoolRiskConfigurationAttachment resource.'''
12237
+ return typing.cast(_UserPoolRiskConfigurationAttachmentReference_815104e9, jsii.get(self, "userPoolRiskConfigurationAttachmentRef"))
12238
+
11682
12239
  @builtins.property
11683
12240
  @jsii.member(jsii_name="clientId")
11684
12241
  def client_id(self) -> builtins.str:
@@ -12226,7 +12783,7 @@ class CfnUserPoolRiskConfigurationAttachment(
12226
12783
  :param from_: The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES.
12227
12784
  :param mfa_email: The template for the email message that your user pool sends when MFA is challenged in response to a detected risk.
12228
12785
  :param no_action_email: The template for the email message that your user pool sends when no action is taken in response to a detected risk.
12229
- :param reply_to: The reply-to email address of an email template.
12786
+ :param reply_to: The reply-to email address of an email template. Can be an email address in the format ``admin@example.com`` or ``Administrator <admin@example.com>`` .
12230
12787
 
12231
12788
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html
12232
12789
  :exampleMetadata: fixture=_generated
@@ -12348,6 +12905,8 @@ class CfnUserPoolRiskConfigurationAttachment(
12348
12905
  def reply_to(self) -> typing.Optional[builtins.str]:
12349
12906
  '''The reply-to email address of an email template.
12350
12907
 
12908
+ Can be an email address in the format ``admin@example.com`` or ``Administrator <admin@example.com>`` .
12909
+
12351
12910
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-replyto
12352
12911
  '''
12353
12912
  result = self._values.get("reply_to")
@@ -12726,7 +13285,7 @@ class CfnUserPoolRiskConfigurationAttachmentProps:
12726
13285
  )
12727
13286
 
12728
13287
 
12729
- @jsii.implements(_IInspectable_c2943556)
13288
+ @jsii.implements(_IInspectable_c2943556, _IUserPoolUICustomizationAttachmentRef_855e6497)
12730
13289
  class CfnUserPoolUICustomizationAttachment(
12731
13290
  _CfnResource_9df397a6,
12732
13291
  metaclass=jsii.JSIIMeta,
@@ -12762,7 +13321,8 @@ class CfnUserPoolUICustomizationAttachment(
12762
13321
  user_pool_id: builtins.str,
12763
13322
  css: typing.Optional[builtins.str] = None,
12764
13323
  ) -> None:
12765
- '''
13324
+ '''Create a new ``AWS::Cognito::UserPoolUICustomizationAttachment``.
13325
+
12766
13326
  :param scope: Scope in which this resource is defined.
12767
13327
  :param id: Construct identifier for this resource (unique in its scope).
12768
13328
  :param client_id: The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings..
@@ -12814,6 +13374,14 @@ class CfnUserPoolUICustomizationAttachment(
12814
13374
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
12815
13375
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
12816
13376
 
13377
+ @builtins.property
13378
+ @jsii.member(jsii_name="userPoolUiCustomizationAttachmentRef")
13379
+ def user_pool_ui_customization_attachment_ref(
13380
+ self,
13381
+ ) -> _UserPoolUICustomizationAttachmentReference_2c1e7860:
13382
+ '''A reference to a UserPoolUICustomizationAttachment resource.'''
13383
+ return typing.cast(_UserPoolUICustomizationAttachmentReference_2c1e7860, jsii.get(self, "userPoolUiCustomizationAttachmentRef"))
13384
+
12817
13385
  @builtins.property
12818
13386
  @jsii.member(jsii_name="clientId")
12819
13387
  def client_id(self) -> builtins.str:
@@ -12947,7 +13515,7 @@ class CfnUserPoolUICustomizationAttachmentProps:
12947
13515
  )
12948
13516
 
12949
13517
 
12950
- @jsii.implements(_IInspectable_c2943556)
13518
+ @jsii.implements(_IInspectable_c2943556, _IUserPoolUserRef_cbf1b211)
12951
13519
  class CfnUserPoolUser(
12952
13520
  _CfnResource_9df397a6,
12953
13521
  metaclass=jsii.JSIIMeta,
@@ -13001,11 +13569,12 @@ class CfnUserPoolUser(
13001
13569
  username: typing.Optional[builtins.str] = None,
13002
13570
  validation_data: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPoolUser.AttributeTypeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
13003
13571
  ) -> None:
13004
- '''
13572
+ '''Create a new ``AWS::Cognito::UserPoolUser``.
13573
+
13005
13574
  :param scope: Scope in which this resource is defined.
13006
13575
  :param id: Construct identifier for this resource (unique in its scope).
13007
13576
  :param user_pool_id: The ID of the user pool where you want to create a user.
13008
- :param client_metadata: A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a ``ClientMetadata`` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the ``clientMetadata`` value to enhance your workflow for your specific needs. For more information, see `Using Lambda triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html>`_ in the *Amazon Cognito Developer Guide* . .. epigraph:: When you use the ``ClientMetadata`` parameter, note that Amazon Cognito won't do the following: - Store the ``ClientMetadata`` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the ``ClientMetadata`` parameter serves no purpose. - Validate the ``ClientMetadata`` value. - Encrypt the ``ClientMetadata`` value. Don't send sensitive information in this parameter.
13577
+ :param client_metadata: A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a ``clientMetadata`` attribute that provides the data that you assigned to the ClientMetadata parameter in your request. In your function code, you can process the ``clientMetadata`` value to enhance your workflow for your specific needs. To review the Lambda trigger types that Amazon Cognito invokes at runtime with API requests, see `Connecting API actions to Lambda triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-working-with-lambda-triggers.html#lambda-triggers-by-event>`_ in the *Amazon Cognito Developer Guide* . .. epigraph:: When you use the ``ClientMetadata`` parameter, note that Amazon Cognito won't do the following: - Store the ``ClientMetadata`` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the ``ClientMetadata`` parameter serves no purpose. - Validate the ``ClientMetadata`` value. - Encrypt the ``ClientMetadata`` value. Don't send sensitive information in this parameter.
13009
13578
  :param desired_delivery_mediums: Specify ``EMAIL`` if email will be used to send the welcome message. Specify ``SMS`` if the phone number will be used. The default value is ``SMS`` . You can specify more than one value.
13010
13579
  :param force_alias_creation: This parameter is used only if the ``phone_number_verified`` or ``email_verified`` attribute is set to ``True`` . Otherwise, it is ignored. If this parameter is set to ``True`` and the phone number or email address specified in the ``UserAttributes`` parameter already exists as an alias with a different user, this request migrates the alias from the previous user to the newly-created user. The previous user will no longer be able to log in using that alias. If this parameter is set to ``False`` , the API throws an ``AliasExistsException`` error if the alias already exists. The default value is ``False`` .
13011
13580
  :param message_action: Set to ``RESEND`` to resend the invitation message to a user that already exists, and to reset the temporary-password duration with a new temporary password. Set to ``SUPPRESS`` to suppress sending the message. You can specify only one value.
@@ -13065,6 +13634,12 @@ class CfnUserPoolUser(
13065
13634
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
13066
13635
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
13067
13636
 
13637
+ @builtins.property
13638
+ @jsii.member(jsii_name="userPoolUserRef")
13639
+ def user_pool_user_ref(self) -> _UserPoolUserReference_b50e0a97:
13640
+ '''A reference to a UserPoolUser resource.'''
13641
+ return typing.cast(_UserPoolUserReference_b50e0a97, jsii.get(self, "userPoolUserRef"))
13642
+
13068
13643
  @builtins.property
13069
13644
  @jsii.member(jsii_name="userPoolId")
13070
13645
  def user_pool_id(self) -> builtins.str:
@@ -13293,7 +13868,7 @@ class CfnUserPoolUserProps:
13293
13868
  '''Properties for defining a ``CfnUserPoolUser``.
13294
13869
 
13295
13870
  :param user_pool_id: The ID of the user pool where you want to create a user.
13296
- :param client_metadata: A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a ``ClientMetadata`` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the ``clientMetadata`` value to enhance your workflow for your specific needs. For more information, see `Using Lambda triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html>`_ in the *Amazon Cognito Developer Guide* . .. epigraph:: When you use the ``ClientMetadata`` parameter, note that Amazon Cognito won't do the following: - Store the ``ClientMetadata`` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the ``ClientMetadata`` parameter serves no purpose. - Validate the ``ClientMetadata`` value. - Encrypt the ``ClientMetadata`` value. Don't send sensitive information in this parameter.
13871
+ :param client_metadata: A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a ``clientMetadata`` attribute that provides the data that you assigned to the ClientMetadata parameter in your request. In your function code, you can process the ``clientMetadata`` value to enhance your workflow for your specific needs. To review the Lambda trigger types that Amazon Cognito invokes at runtime with API requests, see `Connecting API actions to Lambda triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-working-with-lambda-triggers.html#lambda-triggers-by-event>`_ in the *Amazon Cognito Developer Guide* . .. epigraph:: When you use the ``ClientMetadata`` parameter, note that Amazon Cognito won't do the following: - Store the ``ClientMetadata`` value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the ``ClientMetadata`` parameter serves no purpose. - Validate the ``ClientMetadata`` value. - Encrypt the ``ClientMetadata`` value. Don't send sensitive information in this parameter.
13297
13872
  :param desired_delivery_mediums: Specify ``EMAIL`` if email will be used to send the welcome message. Specify ``SMS`` if the phone number will be used. The default value is ``SMS`` . You can specify more than one value.
13298
13873
  :param force_alias_creation: This parameter is used only if the ``phone_number_verified`` or ``email_verified`` attribute is set to ``True`` . Otherwise, it is ignored. If this parameter is set to ``True`` and the phone number or email address specified in the ``UserAttributes`` parameter already exists as an alias with a different user, this request migrates the alias from the previous user to the newly-created user. The previous user will no longer be able to log in using that alias. If this parameter is set to ``False`` , the API throws an ``AliasExistsException`` error if the alias already exists. The default value is ``False`` .
13299
13874
  :param message_action: Set to ``RESEND`` to resend the invitation message to a user that already exists, and to reset the temporary-password duration with a new temporary password. Set to ``SUPPRESS`` to suppress sending the message. You can specify only one value.
@@ -13375,9 +13950,11 @@ class CfnUserPoolUserProps:
13375
13950
  ) -> typing.Optional[typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b]]:
13376
13951
  '''A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.
13377
13952
 
13378
- You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a ``ClientMetadata`` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the ``clientMetadata`` value to enhance your workflow for your specific needs.
13953
+ You create custom workflows by assigning AWS Lambda functions to user pool triggers.
13954
+
13955
+ When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a ``clientMetadata`` attribute that provides the data that you assigned to the ClientMetadata parameter in your request. In your function code, you can process the ``clientMetadata`` value to enhance your workflow for your specific needs.
13379
13956
 
13380
- For more information, see `Using Lambda triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html>`_ in the *Amazon Cognito Developer Guide* .
13957
+ To review the Lambda trigger types that Amazon Cognito invokes at runtime with API requests, see `Connecting API actions to Lambda triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-working-with-lambda-triggers.html#lambda-triggers-by-event>`_ in the *Amazon Cognito Developer Guide* .
13381
13958
  .. epigraph::
13382
13959
 
13383
13960
  When you use the ``ClientMetadata`` parameter, note that Amazon Cognito won't do the following:
@@ -13498,7 +14075,7 @@ class CfnUserPoolUserProps:
13498
14075
  )
13499
14076
 
13500
14077
 
13501
- @jsii.implements(_IInspectable_c2943556)
14078
+ @jsii.implements(_IInspectable_c2943556, _IUserPoolUserToGroupAttachmentRef_04a5a41e)
13502
14079
  class CfnUserPoolUserToGroupAttachment(
13503
14080
  _CfnResource_9df397a6,
13504
14081
  metaclass=jsii.JSIIMeta,
@@ -13541,7 +14118,8 @@ class CfnUserPoolUserToGroupAttachment(
13541
14118
  username: builtins.str,
13542
14119
  user_pool_id: builtins.str,
13543
14120
  ) -> None:
13544
- '''
14121
+ '''Create a new ``AWS::Cognito::UserPoolUserToGroupAttachment``.
14122
+
13545
14123
  :param scope: Scope in which this resource is defined.
13546
14124
  :param id: Construct identifier for this resource (unique in its scope).
13547
14125
  :param group_name: The name of the group that you want to add your user to.
@@ -13593,6 +14171,14 @@ class CfnUserPoolUserToGroupAttachment(
13593
14171
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
13594
14172
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
13595
14173
 
14174
+ @builtins.property
14175
+ @jsii.member(jsii_name="userPoolUserToGroupAttachmentRef")
14176
+ def user_pool_user_to_group_attachment_ref(
14177
+ self,
14178
+ ) -> _UserPoolUserToGroupAttachmentReference_fa1a0479:
14179
+ '''A reference to a UserPoolUserToGroupAttachment resource.'''
14180
+ return typing.cast(_UserPoolUserToGroupAttachmentReference_fa1a0479, jsii.get(self, "userPoolUserToGroupAttachmentRef"))
14181
+
13596
14182
  @builtins.property
13597
14183
  @jsii.member(jsii_name="groupName")
13598
14184
  def group_name(self) -> builtins.str:
@@ -14435,6 +15021,7 @@ class IUserPool(_IResource_c80c4260, typing_extensions.Protocol):
14435
15021
  o_auth: typing.Optional[typing.Union["OAuthSettings", typing.Dict[builtins.str, typing.Any]]] = None,
14436
15022
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
14437
15023
  read_attributes: typing.Optional[ClientAttributes] = None,
15024
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
14438
15025
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
14439
15026
  supported_identity_providers: typing.Optional[typing.Sequence["UserPoolClientIdentityProvider"]] = None,
14440
15027
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -14455,6 +15042,7 @@ class IUserPool(_IResource_c80c4260, typing_extensions.Protocol):
14455
15042
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
14456
15043
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
14457
15044
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
15045
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
14458
15046
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
14459
15047
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
14460
15048
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -14492,7 +15080,7 @@ class IUserPool(_IResource_c80c4260, typing_extensions.Protocol):
14492
15080
  description: typing.Optional[builtins.str] = None,
14493
15081
  group_name: typing.Optional[builtins.str] = None,
14494
15082
  precedence: typing.Optional[jsii.Number] = None,
14495
- role: typing.Optional[_IRole_235f5d8e] = None,
15083
+ role: typing.Optional[_IRoleRef_8400221f] = None,
14496
15084
  ) -> "UserPoolGroup":
14497
15085
  '''Add a new group to this user pool.
14498
15086
 
@@ -14605,6 +15193,7 @@ class _IUserPoolProxy(
14605
15193
  o_auth: typing.Optional[typing.Union["OAuthSettings", typing.Dict[builtins.str, typing.Any]]] = None,
14606
15194
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
14607
15195
  read_attributes: typing.Optional[ClientAttributes] = None,
15196
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
14608
15197
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
14609
15198
  supported_identity_providers: typing.Optional[typing.Sequence["UserPoolClientIdentityProvider"]] = None,
14610
15199
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -14625,6 +15214,7 @@ class _IUserPoolProxy(
14625
15214
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
14626
15215
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
14627
15216
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
15217
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
14628
15218
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
14629
15219
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
14630
15220
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -14648,6 +15238,7 @@ class _IUserPoolProxy(
14648
15238
  o_auth=o_auth,
14649
15239
  prevent_user_existence_errors=prevent_user_existence_errors,
14650
15240
  read_attributes=read_attributes,
15241
+ refresh_token_rotation_grace_period=refresh_token_rotation_grace_period,
14651
15242
  refresh_token_validity=refresh_token_validity,
14652
15243
  supported_identity_providers=supported_identity_providers,
14653
15244
  user_pool_client_name=user_pool_client_name,
@@ -14693,7 +15284,7 @@ class _IUserPoolProxy(
14693
15284
  description: typing.Optional[builtins.str] = None,
14694
15285
  group_name: typing.Optional[builtins.str] = None,
14695
15286
  precedence: typing.Optional[jsii.Number] = None,
14696
- role: typing.Optional[_IRole_235f5d8e] = None,
15287
+ role: typing.Optional[_IRoleRef_8400221f] = None,
14697
15288
  ) -> "UserPoolGroup":
14698
15289
  '''Add a new group to this user pool.
14699
15290
 
@@ -17884,7 +18475,7 @@ class UserPool(
17884
18475
  advanced_security_mode: typing.Optional[AdvancedSecurityMode] = None,
17885
18476
  auto_verify: typing.Optional[typing.Union[AutoVerifiedAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
17886
18477
  custom_attributes: typing.Optional[typing.Mapping[builtins.str, ICustomAttribute]] = None,
17887
- custom_sender_kms_key: typing.Optional[_IKey_5f11635f] = None,
18478
+ custom_sender_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
17888
18479
  custom_threat_protection_mode: typing.Optional[CustomThreatProtectionMode] = None,
17889
18480
  deletion_protection: typing.Optional[builtins.bool] = None,
17890
18481
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -17904,7 +18495,7 @@ class UserPool(
17904
18495
  sign_in_aliases: typing.Optional[typing.Union[SignInAliases, typing.Dict[builtins.str, typing.Any]]] = None,
17905
18496
  sign_in_case_sensitive: typing.Optional[builtins.bool] = None,
17906
18497
  sign_in_policy: typing.Optional[typing.Union[SignInPolicy, typing.Dict[builtins.str, typing.Any]]] = None,
17907
- sms_role: typing.Optional[_IRole_235f5d8e] = None,
18498
+ sms_role: typing.Optional[_IRoleRef_8400221f] = None,
17908
18499
  sms_role_external_id: typing.Optional[builtins.str] = None,
17909
18500
  sns_region: typing.Optional[builtins.str] = None,
17910
18501
  standard_attributes: typing.Optional[typing.Union[StandardAttributes, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -18049,6 +18640,7 @@ class UserPool(
18049
18640
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
18050
18641
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
18051
18642
  read_attributes: typing.Optional[ClientAttributes] = None,
18643
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
18052
18644
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
18053
18645
  supported_identity_providers: typing.Optional[typing.Sequence["UserPoolClientIdentityProvider"]] = None,
18054
18646
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -18069,6 +18661,7 @@ class UserPool(
18069
18661
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
18070
18662
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
18071
18663
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
18664
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
18072
18665
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
18073
18666
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
18074
18667
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -18090,6 +18683,7 @@ class UserPool(
18090
18683
  o_auth=o_auth,
18091
18684
  prevent_user_existence_errors=prevent_user_existence_errors,
18092
18685
  read_attributes=read_attributes,
18686
+ refresh_token_rotation_grace_period=refresh_token_rotation_grace_period,
18093
18687
  refresh_token_validity=refresh_token_validity,
18094
18688
  supported_identity_providers=supported_identity_providers,
18095
18689
  user_pool_client_name=user_pool_client_name,
@@ -18133,7 +18727,7 @@ class UserPool(
18133
18727
  description: typing.Optional[builtins.str] = None,
18134
18728
  group_name: typing.Optional[builtins.str] = None,
18135
18729
  precedence: typing.Optional[jsii.Number] = None,
18136
- role: typing.Optional[_IRole_235f5d8e] = None,
18730
+ role: typing.Optional[_IRoleRef_8400221f] = None,
18137
18731
  ) -> "UserPoolGroup":
18138
18732
  '''Add a new group to this user pool.
18139
18733
 
@@ -18232,6 +18826,12 @@ class UserPool(
18232
18826
  check_type(argname="argument provider", value=provider, expected_type=type_hints["provider"])
18233
18827
  return typing.cast(None, jsii.invoke(self, "registerIdentityProvider", [provider]))
18234
18828
 
18829
+ @jsii.python.classproperty
18830
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
18831
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
18832
+ '''Uniquely identifies this class.'''
18833
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
18834
+
18235
18835
  @builtins.property
18236
18836
  @jsii.member(jsii_name="identityProviders")
18237
18837
  def identity_providers(self) -> typing.List[IUserPoolIdentityProvider]:
@@ -18315,6 +18915,7 @@ class UserPoolClient(
18315
18915
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
18316
18916
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
18317
18917
  read_attributes: typing.Optional[ClientAttributes] = None,
18918
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
18318
18919
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
18319
18920
  supported_identity_providers: typing.Optional[typing.Sequence["UserPoolClientIdentityProvider"]] = None,
18320
18921
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -18336,6 +18937,7 @@ class UserPoolClient(
18336
18937
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
18337
18938
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
18338
18939
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
18940
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
18339
18941
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
18340
18942
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
18341
18943
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -18359,6 +18961,7 @@ class UserPoolClient(
18359
18961
  o_auth=o_auth,
18360
18962
  prevent_user_existence_errors=prevent_user_existence_errors,
18361
18963
  read_attributes=read_attributes,
18964
+ refresh_token_rotation_grace_period=refresh_token_rotation_grace_period,
18362
18965
  refresh_token_validity=refresh_token_validity,
18363
18966
  supported_identity_providers=supported_identity_providers,
18364
18967
  user_pool_client_name=user_pool_client_name,
@@ -18388,6 +18991,12 @@ class UserPoolClient(
18388
18991
  check_type(argname="argument user_pool_client_id", value=user_pool_client_id, expected_type=type_hints["user_pool_client_id"])
18389
18992
  return typing.cast(IUserPoolClient, jsii.sinvoke(cls, "fromUserPoolClientId", [scope, id, user_pool_client_id]))
18390
18993
 
18994
+ @jsii.python.classproperty
18995
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
18996
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
18997
+ '''Uniquely identifies this class.'''
18998
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
18999
+
18391
19000
  @builtins.property
18392
19001
  @jsii.member(jsii_name="oAuthFlows")
18393
19002
  def o_auth_flows(self) -> OAuthFlows:
@@ -18511,6 +19120,7 @@ class UserPoolClientIdentityProvider(
18511
19120
  "o_auth": "oAuth",
18512
19121
  "prevent_user_existence_errors": "preventUserExistenceErrors",
18513
19122
  "read_attributes": "readAttributes",
19123
+ "refresh_token_rotation_grace_period": "refreshTokenRotationGracePeriod",
18514
19124
  "refresh_token_validity": "refreshTokenValidity",
18515
19125
  "supported_identity_providers": "supportedIdentityProviders",
18516
19126
  "user_pool_client_name": "userPoolClientName",
@@ -18533,6 +19143,7 @@ class UserPoolClientOptions:
18533
19143
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
18534
19144
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
18535
19145
  read_attributes: typing.Optional[ClientAttributes] = None,
19146
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
18536
19147
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
18537
19148
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
18538
19149
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -18552,6 +19163,7 @@ class UserPoolClientOptions:
18552
19163
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
18553
19164
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
18554
19165
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
19166
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
18555
19167
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
18556
19168
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
18557
19169
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -18593,6 +19205,7 @@ class UserPoolClientOptions:
18593
19205
  check_type(argname="argument o_auth", value=o_auth, expected_type=type_hints["o_auth"])
18594
19206
  check_type(argname="argument prevent_user_existence_errors", value=prevent_user_existence_errors, expected_type=type_hints["prevent_user_existence_errors"])
18595
19207
  check_type(argname="argument read_attributes", value=read_attributes, expected_type=type_hints["read_attributes"])
19208
+ check_type(argname="argument refresh_token_rotation_grace_period", value=refresh_token_rotation_grace_period, expected_type=type_hints["refresh_token_rotation_grace_period"])
18596
19209
  check_type(argname="argument refresh_token_validity", value=refresh_token_validity, expected_type=type_hints["refresh_token_validity"])
18597
19210
  check_type(argname="argument supported_identity_providers", value=supported_identity_providers, expected_type=type_hints["supported_identity_providers"])
18598
19211
  check_type(argname="argument user_pool_client_name", value=user_pool_client_name, expected_type=type_hints["user_pool_client_name"])
@@ -18622,6 +19235,8 @@ class UserPoolClientOptions:
18622
19235
  self._values["prevent_user_existence_errors"] = prevent_user_existence_errors
18623
19236
  if read_attributes is not None:
18624
19237
  self._values["read_attributes"] = read_attributes
19238
+ if refresh_token_rotation_grace_period is not None:
19239
+ self._values["refresh_token_rotation_grace_period"] = refresh_token_rotation_grace_period
18625
19240
  if refresh_token_validity is not None:
18626
19241
  self._values["refresh_token_validity"] = refresh_token_validity
18627
19242
  if supported_identity_providers is not None:
@@ -18768,6 +19383,21 @@ class UserPoolClientOptions:
18768
19383
  result = self._values.get("read_attributes")
18769
19384
  return typing.cast(typing.Optional[ClientAttributes], result)
18770
19385
 
19386
+ @builtins.property
19387
+ def refresh_token_rotation_grace_period(
19388
+ self,
19389
+ ) -> typing.Optional[_Duration_4839e8c3]:
19390
+ '''Enables refresh token rotation when set.
19391
+
19392
+ Defines the grace period for the original refresh token (0-60 seconds).
19393
+
19394
+ :default: - undefined (refresh token rotation is disabled)
19395
+
19396
+ :see: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html#using-the-refresh-token-rotation
19397
+ '''
19398
+ result = self._values.get("refresh_token_rotation_grace_period")
19399
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
19400
+
18771
19401
  @builtins.property
18772
19402
  def refresh_token_validity(self) -> typing.Optional[_Duration_4839e8c3]:
18773
19403
  '''Validity of the refresh token.
@@ -18844,6 +19474,7 @@ class UserPoolClientOptions:
18844
19474
  "o_auth": "oAuth",
18845
19475
  "prevent_user_existence_errors": "preventUserExistenceErrors",
18846
19476
  "read_attributes": "readAttributes",
19477
+ "refresh_token_rotation_grace_period": "refreshTokenRotationGracePeriod",
18847
19478
  "refresh_token_validity": "refreshTokenValidity",
18848
19479
  "supported_identity_providers": "supportedIdentityProviders",
18849
19480
  "user_pool_client_name": "userPoolClientName",
@@ -18867,6 +19498,7 @@ class UserPoolClientProps(UserPoolClientOptions):
18867
19498
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
18868
19499
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
18869
19500
  read_attributes: typing.Optional[ClientAttributes] = None,
19501
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
18870
19502
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
18871
19503
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
18872
19504
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -18887,6 +19519,7 @@ class UserPoolClientProps(UserPoolClientOptions):
18887
19519
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
18888
19520
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
18889
19521
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
19522
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
18890
19523
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
18891
19524
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
18892
19525
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -18941,6 +19574,7 @@ class UserPoolClientProps(UserPoolClientOptions):
18941
19574
  check_type(argname="argument o_auth", value=o_auth, expected_type=type_hints["o_auth"])
18942
19575
  check_type(argname="argument prevent_user_existence_errors", value=prevent_user_existence_errors, expected_type=type_hints["prevent_user_existence_errors"])
18943
19576
  check_type(argname="argument read_attributes", value=read_attributes, expected_type=type_hints["read_attributes"])
19577
+ check_type(argname="argument refresh_token_rotation_grace_period", value=refresh_token_rotation_grace_period, expected_type=type_hints["refresh_token_rotation_grace_period"])
18944
19578
  check_type(argname="argument refresh_token_validity", value=refresh_token_validity, expected_type=type_hints["refresh_token_validity"])
18945
19579
  check_type(argname="argument supported_identity_providers", value=supported_identity_providers, expected_type=type_hints["supported_identity_providers"])
18946
19580
  check_type(argname="argument user_pool_client_name", value=user_pool_client_name, expected_type=type_hints["user_pool_client_name"])
@@ -18973,6 +19607,8 @@ class UserPoolClientProps(UserPoolClientOptions):
18973
19607
  self._values["prevent_user_existence_errors"] = prevent_user_existence_errors
18974
19608
  if read_attributes is not None:
18975
19609
  self._values["read_attributes"] = read_attributes
19610
+ if refresh_token_rotation_grace_period is not None:
19611
+ self._values["refresh_token_rotation_grace_period"] = refresh_token_rotation_grace_period
18976
19612
  if refresh_token_validity is not None:
18977
19613
  self._values["refresh_token_validity"] = refresh_token_validity
18978
19614
  if supported_identity_providers is not None:
@@ -19119,6 +19755,21 @@ class UserPoolClientProps(UserPoolClientOptions):
19119
19755
  result = self._values.get("read_attributes")
19120
19756
  return typing.cast(typing.Optional[ClientAttributes], result)
19121
19757
 
19758
+ @builtins.property
19759
+ def refresh_token_rotation_grace_period(
19760
+ self,
19761
+ ) -> typing.Optional[_Duration_4839e8c3]:
19762
+ '''Enables refresh token rotation when set.
19763
+
19764
+ Defines the grace period for the original refresh token (0-60 seconds).
19765
+
19766
+ :default: - undefined (refresh token rotation is disabled)
19767
+
19768
+ :see: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html#using-the-refresh-token-rotation
19769
+ '''
19770
+ result = self._values.get("refresh_token_rotation_grace_period")
19771
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
19772
+
19122
19773
  @builtins.property
19123
19774
  def refresh_token_validity(self) -> typing.Optional[_Duration_4839e8c3]:
19124
19775
  '''Validity of the refresh token.
@@ -19302,6 +19953,12 @@ class UserPoolDomain(
19302
19953
 
19303
19954
  return typing.cast(builtins.str, jsii.invoke(self, "signInUrl", [client, options]))
19304
19955
 
19956
+ @jsii.python.classproperty
19957
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
19958
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
19959
+ '''Uniquely identifies this class.'''
19960
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
19961
+
19305
19962
  @builtins.property
19306
19963
  @jsii.member(jsii_name="cloudFrontDomainName")
19307
19964
  def cloud_front_domain_name(self) -> builtins.str:
@@ -19844,7 +20501,7 @@ class UserPoolGroup(
19844
20501
  description: typing.Optional[builtins.str] = None,
19845
20502
  group_name: typing.Optional[builtins.str] = None,
19846
20503
  precedence: typing.Optional[jsii.Number] = None,
19847
- role: typing.Optional[_IRole_235f5d8e] = None,
20504
+ role: typing.Optional[_IRoleRef_8400221f] = None,
19848
20505
  ) -> None:
19849
20506
  '''
19850
20507
  :param scope: -
@@ -19890,6 +20547,12 @@ class UserPoolGroup(
19890
20547
  check_type(argname="argument group_name", value=group_name, expected_type=type_hints["group_name"])
19891
20548
  return typing.cast(IUserPoolGroup, jsii.sinvoke(cls, "fromGroupName", [scope, id, group_name]))
19892
20549
 
20550
+ @jsii.python.classproperty
20551
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
20552
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
20553
+ '''Uniquely identifies this class.'''
20554
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
20555
+
19893
20556
  @builtins.property
19894
20557
  @jsii.member(jsii_name="groupName")
19895
20558
  def group_name(self) -> builtins.str:
@@ -19914,7 +20577,7 @@ class UserPoolGroupOptions:
19914
20577
  description: typing.Optional[builtins.str] = None,
19915
20578
  group_name: typing.Optional[builtins.str] = None,
19916
20579
  precedence: typing.Optional[jsii.Number] = None,
19917
- role: typing.Optional[_IRole_235f5d8e] = None,
20580
+ role: typing.Optional[_IRoleRef_8400221f] = None,
19918
20581
  ) -> None:
19919
20582
  '''Options to create a UserPoolGroup.
19920
20583
 
@@ -20000,13 +20663,13 @@ class UserPoolGroupOptions:
20000
20663
  return typing.cast(typing.Optional[jsii.Number], result)
20001
20664
 
20002
20665
  @builtins.property
20003
- def role(self) -> typing.Optional[_IRole_235f5d8e]:
20666
+ def role(self) -> typing.Optional[_IRoleRef_8400221f]:
20004
20667
  '''The role for the group.
20005
20668
 
20006
20669
  :default: - no description
20007
20670
  '''
20008
20671
  result = self._values.get("role")
20009
- return typing.cast(typing.Optional[_IRole_235f5d8e], result)
20672
+ return typing.cast(typing.Optional[_IRoleRef_8400221f], result)
20010
20673
 
20011
20674
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
20012
20675
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -20038,7 +20701,7 @@ class UserPoolGroupProps(UserPoolGroupOptions):
20038
20701
  description: typing.Optional[builtins.str] = None,
20039
20702
  group_name: typing.Optional[builtins.str] = None,
20040
20703
  precedence: typing.Optional[jsii.Number] = None,
20041
- role: typing.Optional[_IRole_235f5d8e] = None,
20704
+ role: typing.Optional[_IRoleRef_8400221f] = None,
20042
20705
  user_pool: IUserPool,
20043
20706
  ) -> None:
20044
20707
  '''Props for UserPoolGroup construct.
@@ -20129,13 +20792,13 @@ class UserPoolGroupProps(UserPoolGroupOptions):
20129
20792
  return typing.cast(typing.Optional[jsii.Number], result)
20130
20793
 
20131
20794
  @builtins.property
20132
- def role(self) -> typing.Optional[_IRole_235f5d8e]:
20795
+ def role(self) -> typing.Optional[_IRoleRef_8400221f]:
20133
20796
  '''The role for the group.
20134
20797
 
20135
20798
  :default: - no description
20136
20799
  '''
20137
20800
  result = self._values.get("role")
20138
- return typing.cast(typing.Optional[_IRole_235f5d8e], result)
20801
+ return typing.cast(typing.Optional[_IRoleRef_8400221f], result)
20139
20802
 
20140
20803
  @builtins.property
20141
20804
  def user_pool(self) -> IUserPool:
@@ -20251,6 +20914,12 @@ class UserPoolIdentityProviderAmazon(
20251
20914
  def _configure_attribute_mapping(self) -> typing.Any:
20252
20915
  return typing.cast(typing.Any, jsii.invoke(self, "configureAttributeMapping", []))
20253
20916
 
20917
+ @jsii.python.classproperty
20918
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
20919
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
20920
+ '''Uniquely identifies this class.'''
20921
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
20922
+
20254
20923
  @builtins.property
20255
20924
  @jsii.member(jsii_name="providerName")
20256
20925
  def provider_name(self) -> builtins.str:
@@ -20363,6 +21032,12 @@ class UserPoolIdentityProviderApple(
20363
21032
  def _configure_attribute_mapping(self) -> typing.Any:
20364
21033
  return typing.cast(typing.Any, jsii.invoke(self, "configureAttributeMapping", []))
20365
21034
 
21035
+ @jsii.python.classproperty
21036
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
21037
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
21038
+ '''Uniquely identifies this class.'''
21039
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
21040
+
20366
21041
  @builtins.property
20367
21042
  @jsii.member(jsii_name="providerName")
20368
21043
  def provider_name(self) -> builtins.str:
@@ -20465,6 +21140,12 @@ class UserPoolIdentityProviderFacebook(
20465
21140
  def _configure_attribute_mapping(self) -> typing.Any:
20466
21141
  return typing.cast(typing.Any, jsii.invoke(self, "configureAttributeMapping", []))
20467
21142
 
21143
+ @jsii.python.classproperty
21144
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
21145
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
21146
+ '''Uniquely identifies this class.'''
21147
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
21148
+
20468
21149
  @builtins.property
20469
21150
  @jsii.member(jsii_name="providerName")
20470
21151
  def provider_name(self) -> builtins.str:
@@ -20538,6 +21219,12 @@ class UserPoolIdentityProviderGoogle(
20538
21219
  def _configure_attribute_mapping(self) -> typing.Any:
20539
21220
  return typing.cast(typing.Any, jsii.invoke(self, "configureAttributeMapping", []))
20540
21221
 
21222
+ @jsii.python.classproperty
21223
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
21224
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
21225
+ '''Uniquely identifies this class.'''
21226
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
21227
+
20541
21228
  @builtins.property
20542
21229
  @jsii.member(jsii_name="providerName")
20543
21230
  def provider_name(self) -> builtins.str:
@@ -20661,6 +21348,12 @@ class UserPoolIdentityProviderOidc(
20661
21348
  def _configure_attribute_mapping(self) -> typing.Any:
20662
21349
  return typing.cast(typing.Any, jsii.invoke(self, "configureAttributeMapping", []))
20663
21350
 
21351
+ @jsii.python.classproperty
21352
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
21353
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
21354
+ '''Uniquely identifies this class.'''
21355
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
21356
+
20664
21357
  @builtins.property
20665
21358
  @jsii.member(jsii_name="providerName")
20666
21359
  def provider_name(self) -> builtins.str:
@@ -20849,6 +21542,12 @@ class UserPoolIdentityProviderSaml(
20849
21542
  def _configure_attribute_mapping(self) -> typing.Any:
20850
21543
  return typing.cast(typing.Any, jsii.invoke(self, "configureAttributeMapping", []))
20851
21544
 
21545
+ @jsii.python.classproperty
21546
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
21547
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
21548
+ '''Uniquely identifies this class.'''
21549
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
21550
+
20852
21551
  @builtins.property
20853
21552
  @jsii.member(jsii_name="providerName")
20854
21553
  def provider_name(self) -> builtins.str:
@@ -21346,7 +22045,7 @@ class UserPoolProps:
21346
22045
  advanced_security_mode: typing.Optional[AdvancedSecurityMode] = None,
21347
22046
  auto_verify: typing.Optional[typing.Union[AutoVerifiedAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
21348
22047
  custom_attributes: typing.Optional[typing.Mapping[builtins.str, ICustomAttribute]] = None,
21349
- custom_sender_kms_key: typing.Optional[_IKey_5f11635f] = None,
22048
+ custom_sender_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
21350
22049
  custom_threat_protection_mode: typing.Optional[CustomThreatProtectionMode] = None,
21351
22050
  deletion_protection: typing.Optional[builtins.bool] = None,
21352
22051
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -21366,7 +22065,7 @@ class UserPoolProps:
21366
22065
  sign_in_aliases: typing.Optional[typing.Union[SignInAliases, typing.Dict[builtins.str, typing.Any]]] = None,
21367
22066
  sign_in_case_sensitive: typing.Optional[builtins.bool] = None,
21368
22067
  sign_in_policy: typing.Optional[typing.Union[SignInPolicy, typing.Dict[builtins.str, typing.Any]]] = None,
21369
- sms_role: typing.Optional[_IRole_235f5d8e] = None,
22068
+ sms_role: typing.Optional[_IRoleRef_8400221f] = None,
21370
22069
  sms_role_external_id: typing.Optional[builtins.str] = None,
21371
22070
  sns_region: typing.Optional[builtins.str] = None,
21372
22071
  standard_attributes: typing.Optional[typing.Union[StandardAttributes, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -21592,7 +22291,7 @@ class UserPoolProps:
21592
22291
  return typing.cast(typing.Optional[typing.Mapping[builtins.str, ICustomAttribute]], result)
21593
22292
 
21594
22293
  @builtins.property
21595
- def custom_sender_kms_key(self) -> typing.Optional[_IKey_5f11635f]:
22294
+ def custom_sender_kms_key(self) -> typing.Optional[_IKeyRef_d4fc6ef3]:
21596
22295
  '''This key will be used to encrypt temporary passwords and authorization codes that Amazon Cognito generates.
21597
22296
 
21598
22297
  :default: - no key ID configured
@@ -21600,7 +22299,7 @@ class UserPoolProps:
21600
22299
  :see: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-custom-sender-triggers.html
21601
22300
  '''
21602
22301
  result = self._values.get("custom_sender_kms_key")
21603
- return typing.cast(typing.Optional[_IKey_5f11635f], result)
22302
+ return typing.cast(typing.Optional[_IKeyRef_d4fc6ef3], result)
21604
22303
 
21605
22304
  @builtins.property
21606
22305
  def custom_threat_protection_mode(
@@ -21819,13 +22518,13 @@ class UserPoolProps:
21819
22518
  return typing.cast(typing.Optional[SignInPolicy], result)
21820
22519
 
21821
22520
  @builtins.property
21822
- def sms_role(self) -> typing.Optional[_IRole_235f5d8e]:
22521
+ def sms_role(self) -> typing.Optional[_IRoleRef_8400221f]:
21823
22522
  '''The IAM role that Cognito will assume while sending SMS messages.
21824
22523
 
21825
22524
  :default: - a new IAM role is created.
21826
22525
  '''
21827
22526
  result = self._values.get("sms_role")
21828
- return typing.cast(typing.Optional[_IRole_235f5d8e], result)
22527
+ return typing.cast(typing.Optional[_IRoleRef_8400221f], result)
21829
22528
 
21830
22529
  @builtins.property
21831
22530
  def sms_role_external_id(self) -> typing.Optional[builtins.str]:
@@ -22009,6 +22708,12 @@ class UserPoolResourceServer(
22009
22708
  check_type(argname="argument user_pool_resource_server_id", value=user_pool_resource_server_id, expected_type=type_hints["user_pool_resource_server_id"])
22010
22709
  return typing.cast(IUserPoolResourceServer, jsii.sinvoke(cls, "fromUserPoolResourceServerId", [scope, id, user_pool_resource_server_id]))
22011
22710
 
22711
+ @jsii.python.classproperty
22712
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
22713
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
22714
+ '''Uniquely identifies this class.'''
22715
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
22716
+
22012
22717
  @builtins.property
22013
22718
  @jsii.member(jsii_name="userPoolResourceServerId")
22014
22719
  def user_pool_resource_server_id(self) -> builtins.str:
@@ -23745,6 +24450,8 @@ __all__ = [
23745
24450
  "CfnLogDeliveryConfigurationProps",
23746
24451
  "CfnManagedLoginBranding",
23747
24452
  "CfnManagedLoginBrandingProps",
24453
+ "CfnTerms",
24454
+ "CfnTermsProps",
23748
24455
  "CfnUserPool",
23749
24456
  "CfnUserPoolClient",
23750
24457
  "CfnUserPoolClientProps",
@@ -23869,7 +24576,7 @@ def _typecheckingstub__f67277ee392b3c256b3bd87e4afcb7bb83df8d226097757f9c9261034
23869
24576
  application: typing.Optional[_CfnApp_e8bac60b] = None,
23870
24577
  application_id: typing.Optional[builtins.str] = None,
23871
24578
  external_id: typing.Optional[builtins.str] = None,
23872
- role: typing.Optional[_IRole_235f5d8e] = None,
24579
+ role: typing.Optional[_IRoleRef_8400221f] = None,
23873
24580
  share_user_data: typing.Optional[builtins.bool] = None,
23874
24581
  ) -> None:
23875
24582
  """Type checking stubs"""
@@ -23946,6 +24653,14 @@ def _typecheckingstub__d5156c08d9bb3b0ceca6f4ec485d84f9775d7be40128a6614e1b9cbf0
23946
24653
  """Type checking stubs"""
23947
24654
  pass
23948
24655
 
24656
+ def _typecheckingstub__23c766eb59af70f92541dfd9c9cae67b99255f21efd59868b8feff44354f4e77(
24657
+ scope: _constructs_77d1e7e8.Construct,
24658
+ id: builtins.str,
24659
+ identity_pool_id: builtins.str,
24660
+ ) -> None:
24661
+ """Type checking stubs"""
24662
+ pass
24663
+
23949
24664
  def _typecheckingstub__d0046422699f4c95c1d9df0a173b8caf8590dc3fcb3ada38e03f96cba1a359bc(
23950
24665
  inspector: _TreeInspector_488e0dd5,
23951
24666
  ) -> None:
@@ -24368,6 +25083,80 @@ def _typecheckingstub__60e207e1aa2ab8ae23b36c3e1ae73765c6f328b13bf0c7b205865e93a
24368
25083
  """Type checking stubs"""
24369
25084
  pass
24370
25085
 
25086
+ def _typecheckingstub__60ed6baa47f9012cc57d9cef7e22f15d5f04fd45aa55fc0e8672f7e89ef3f146(
25087
+ scope: _constructs_77d1e7e8.Construct,
25088
+ id: builtins.str,
25089
+ *,
25090
+ enforcement: builtins.str,
25091
+ links: typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b],
25092
+ terms_name: builtins.str,
25093
+ terms_source: builtins.str,
25094
+ user_pool_id: builtins.str,
25095
+ client_id: typing.Optional[builtins.str] = None,
25096
+ ) -> None:
25097
+ """Type checking stubs"""
25098
+ pass
25099
+
25100
+ def _typecheckingstub__0c857e95caaea9926ffb4e0ab5c3a0bb7d8a82c05cf7bd42adce1312c203e7a6(
25101
+ inspector: _TreeInspector_488e0dd5,
25102
+ ) -> None:
25103
+ """Type checking stubs"""
25104
+ pass
25105
+
25106
+ def _typecheckingstub__9dddb891f6e734bbc549324d30543ba3d862fb957be34e904236132737d7b71a(
25107
+ props: typing.Mapping[builtins.str, typing.Any],
25108
+ ) -> None:
25109
+ """Type checking stubs"""
25110
+ pass
25111
+
25112
+ def _typecheckingstub__f61b831431a9a8cd9abc071d0372ef9f7481c4297f99d22362f79e4456530000(
25113
+ value: builtins.str,
25114
+ ) -> None:
25115
+ """Type checking stubs"""
25116
+ pass
25117
+
25118
+ def _typecheckingstub__4f9dfce3805ce6a5b41ec8b8adeb160b16b2bb09e9af48569f2f3a28a1301c36(
25119
+ value: typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b],
25120
+ ) -> None:
25121
+ """Type checking stubs"""
25122
+ pass
25123
+
25124
+ def _typecheckingstub__68b51d1ab80adde15516db14033542fe90da3c6c88f931ab391ca9a06f2b57a2(
25125
+ value: builtins.str,
25126
+ ) -> None:
25127
+ """Type checking stubs"""
25128
+ pass
25129
+
25130
+ def _typecheckingstub__d5aa2b8f439bae6d46ca78a5e059a5ed10c4d8f1fa1e7624f714272d8d13b98e(
25131
+ value: builtins.str,
25132
+ ) -> None:
25133
+ """Type checking stubs"""
25134
+ pass
25135
+
25136
+ def _typecheckingstub__bedec026b3875318368cb2e1f7df8e4146e8efed23c452b2176302d00eac9db3(
25137
+ value: builtins.str,
25138
+ ) -> None:
25139
+ """Type checking stubs"""
25140
+ pass
25141
+
25142
+ def _typecheckingstub__b52c4f91e8237836ed692eed70ef894814f27cdb9a5c5fe5278b59f348ab3bb9(
25143
+ value: typing.Optional[builtins.str],
25144
+ ) -> None:
25145
+ """Type checking stubs"""
25146
+ pass
25147
+
25148
+ def _typecheckingstub__285db7e3bc95478b571785bee7fa49951055cef4d8266009ed59e73fea5e4d4e(
25149
+ *,
25150
+ enforcement: builtins.str,
25151
+ links: typing.Union[typing.Mapping[builtins.str, builtins.str], _IResolvable_da3f097b],
25152
+ terms_name: builtins.str,
25153
+ terms_source: builtins.str,
25154
+ user_pool_id: builtins.str,
25155
+ client_id: typing.Optional[builtins.str] = None,
25156
+ ) -> None:
25157
+ """Type checking stubs"""
25158
+ pass
25159
+
24371
25160
  def _typecheckingstub__32d20f28e2758f9a461380e2ed5d06233baf0f45541047ba837f26ebc37ee551(
24372
25161
  scope: _constructs_77d1e7e8.Construct,
24373
25162
  id: builtins.str,
@@ -24405,6 +25194,22 @@ def _typecheckingstub__32d20f28e2758f9a461380e2ed5d06233baf0f45541047ba837f26ebc
24405
25194
  """Type checking stubs"""
24406
25195
  pass
24407
25196
 
25197
+ def _typecheckingstub__50cb94accc8d60746f0970af6f3f1428a04180d1d6c471b7ebb0c7eeaf6f5e11(
25198
+ scope: _constructs_77d1e7e8.Construct,
25199
+ id: builtins.str,
25200
+ arn: builtins.str,
25201
+ ) -> None:
25202
+ """Type checking stubs"""
25203
+ pass
25204
+
25205
+ def _typecheckingstub__77bca4d59ea1b80508c0fd60c8f34e3c4dff94c3e5dada90fee904207040ff1a(
25206
+ scope: _constructs_77d1e7e8.Construct,
25207
+ id: builtins.str,
25208
+ user_pool_id: builtins.str,
25209
+ ) -> None:
25210
+ """Type checking stubs"""
25211
+ pass
25212
+
24408
25213
  def _typecheckingstub__190e7831a65154362cd300369d61a522f7add5d60374fc990db7dd8ecb232388(
24409
25214
  inspector: _TreeInspector_488e0dd5,
24410
25215
  ) -> None:
@@ -25740,6 +26545,7 @@ def _typecheckingstub__6eaa0ebaf797c6ac4bac11bd73d9ad61c50892a9450e0ff5880903434
25740
26545
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
25741
26546
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
25742
26547
  read_attributes: typing.Optional[ClientAttributes] = None,
26548
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
25743
26549
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
25744
26550
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
25745
26551
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -25764,7 +26570,7 @@ def _typecheckingstub__e70d406698753c50dbab4e4d1f9837fc55e7c713f52b3937d20745b5a
25764
26570
  description: typing.Optional[builtins.str] = None,
25765
26571
  group_name: typing.Optional[builtins.str] = None,
25766
26572
  precedence: typing.Optional[jsii.Number] = None,
25767
- role: typing.Optional[_IRole_235f5d8e] = None,
26573
+ role: typing.Optional[_IRoleRef_8400221f] = None,
25768
26574
  ) -> None:
25769
26575
  """Type checking stubs"""
25770
26576
  pass
@@ -26012,7 +26818,7 @@ def _typecheckingstub__677a8ec9a3f2a22d2dfde6fd6818121e4a071dc4e942f6bbe219e5a9b
26012
26818
  advanced_security_mode: typing.Optional[AdvancedSecurityMode] = None,
26013
26819
  auto_verify: typing.Optional[typing.Union[AutoVerifiedAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
26014
26820
  custom_attributes: typing.Optional[typing.Mapping[builtins.str, ICustomAttribute]] = None,
26015
- custom_sender_kms_key: typing.Optional[_IKey_5f11635f] = None,
26821
+ custom_sender_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
26016
26822
  custom_threat_protection_mode: typing.Optional[CustomThreatProtectionMode] = None,
26017
26823
  deletion_protection: typing.Optional[builtins.bool] = None,
26018
26824
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -26032,7 +26838,7 @@ def _typecheckingstub__677a8ec9a3f2a22d2dfde6fd6818121e4a071dc4e942f6bbe219e5a9b
26032
26838
  sign_in_aliases: typing.Optional[typing.Union[SignInAliases, typing.Dict[builtins.str, typing.Any]]] = None,
26033
26839
  sign_in_case_sensitive: typing.Optional[builtins.bool] = None,
26034
26840
  sign_in_policy: typing.Optional[typing.Union[SignInPolicy, typing.Dict[builtins.str, typing.Any]]] = None,
26035
- sms_role: typing.Optional[_IRole_235f5d8e] = None,
26841
+ sms_role: typing.Optional[_IRoleRef_8400221f] = None,
26036
26842
  sms_role_external_id: typing.Optional[builtins.str] = None,
26037
26843
  sns_region: typing.Optional[builtins.str] = None,
26038
26844
  standard_attributes: typing.Optional[typing.Union[StandardAttributes, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -26075,6 +26881,7 @@ def _typecheckingstub__b4ce1f762a6eeaca3920ca827a1685cfa2b670f96aa13d8cfdded4055
26075
26881
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
26076
26882
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
26077
26883
  read_attributes: typing.Optional[ClientAttributes] = None,
26884
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
26078
26885
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
26079
26886
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
26080
26887
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -26099,7 +26906,7 @@ def _typecheckingstub__182df28f489c4d9ab970aca99503d45cd2196b431c6ce7b04bb1e3436
26099
26906
  description: typing.Optional[builtins.str] = None,
26100
26907
  group_name: typing.Optional[builtins.str] = None,
26101
26908
  precedence: typing.Optional[jsii.Number] = None,
26102
- role: typing.Optional[_IRole_235f5d8e] = None,
26909
+ role: typing.Optional[_IRoleRef_8400221f] = None,
26103
26910
  ) -> None:
26104
26911
  """Type checking stubs"""
26105
26912
  pass
@@ -26152,6 +26959,7 @@ def _typecheckingstub__e654de9921a676ab8214720f2ab2c7f212d67a62531595c721560e88c
26152
26959
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
26153
26960
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
26154
26961
  read_attributes: typing.Optional[ClientAttributes] = None,
26962
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
26155
26963
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
26156
26964
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
26157
26965
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -26188,6 +26996,7 @@ def _typecheckingstub__80185296586b917ea24ebc48255c627ce95ec5c85ae2ab4e52736240b
26188
26996
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
26189
26997
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
26190
26998
  read_attributes: typing.Optional[ClientAttributes] = None,
26999
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
26191
27000
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
26192
27001
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
26193
27002
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -26210,6 +27019,7 @@ def _typecheckingstub__95c8cad8419f2fd5def82ad39281b322b9ec6b2f7d891de939bf1e903
26210
27019
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
26211
27020
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
26212
27021
  read_attributes: typing.Optional[ClientAttributes] = None,
27022
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
26213
27023
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
26214
27024
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
26215
27025
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -26293,7 +27103,7 @@ def _typecheckingstub__775ac13db76309a928c26a49c092fd74e83d97ad55358f5e3e7abc39c
26293
27103
  description: typing.Optional[builtins.str] = None,
26294
27104
  group_name: typing.Optional[builtins.str] = None,
26295
27105
  precedence: typing.Optional[jsii.Number] = None,
26296
- role: typing.Optional[_IRole_235f5d8e] = None,
27106
+ role: typing.Optional[_IRoleRef_8400221f] = None,
26297
27107
  ) -> None:
26298
27108
  """Type checking stubs"""
26299
27109
  pass
@@ -26311,7 +27121,7 @@ def _typecheckingstub__a76259212a5e57f1375d5eb2940f0d6cde7a130c86d1a85fc682cc659
26311
27121
  description: typing.Optional[builtins.str] = None,
26312
27122
  group_name: typing.Optional[builtins.str] = None,
26313
27123
  precedence: typing.Optional[jsii.Number] = None,
26314
- role: typing.Optional[_IRole_235f5d8e] = None,
27124
+ role: typing.Optional[_IRoleRef_8400221f] = None,
26315
27125
  ) -> None:
26316
27126
  """Type checking stubs"""
26317
27127
  pass
@@ -26321,7 +27131,7 @@ def _typecheckingstub__6f5beec5c4d6b11b4325b68ae8691c3f5f2eb75f4aa5ef1c6e333e5df
26321
27131
  description: typing.Optional[builtins.str] = None,
26322
27132
  group_name: typing.Optional[builtins.str] = None,
26323
27133
  precedence: typing.Optional[jsii.Number] = None,
26324
- role: typing.Optional[_IRole_235f5d8e] = None,
27134
+ role: typing.Optional[_IRoleRef_8400221f] = None,
26325
27135
  user_pool: IUserPool,
26326
27136
  ) -> None:
26327
27137
  """Type checking stubs"""
@@ -26474,7 +27284,7 @@ def _typecheckingstub__754b1af40b4712720733e130c63a8ec0ca9a35d4cfb25450725d5aa02
26474
27284
  advanced_security_mode: typing.Optional[AdvancedSecurityMode] = None,
26475
27285
  auto_verify: typing.Optional[typing.Union[AutoVerifiedAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
26476
27286
  custom_attributes: typing.Optional[typing.Mapping[builtins.str, ICustomAttribute]] = None,
26477
- custom_sender_kms_key: typing.Optional[_IKey_5f11635f] = None,
27287
+ custom_sender_kms_key: typing.Optional[_IKeyRef_d4fc6ef3] = None,
26478
27288
  custom_threat_protection_mode: typing.Optional[CustomThreatProtectionMode] = None,
26479
27289
  deletion_protection: typing.Optional[builtins.bool] = None,
26480
27290
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -26494,7 +27304,7 @@ def _typecheckingstub__754b1af40b4712720733e130c63a8ec0ca9a35d4cfb25450725d5aa02
26494
27304
  sign_in_aliases: typing.Optional[typing.Union[SignInAliases, typing.Dict[builtins.str, typing.Any]]] = None,
26495
27305
  sign_in_case_sensitive: typing.Optional[builtins.bool] = None,
26496
27306
  sign_in_policy: typing.Optional[typing.Union[SignInPolicy, typing.Dict[builtins.str, typing.Any]]] = None,
26497
- sms_role: typing.Optional[_IRole_235f5d8e] = None,
27307
+ sms_role: typing.Optional[_IRoleRef_8400221f] = None,
26498
27308
  sms_role_external_id: typing.Optional[builtins.str] = None,
26499
27309
  sns_region: typing.Optional[builtins.str] = None,
26500
27310
  standard_attributes: typing.Optional[typing.Union[StandardAttributes, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -26649,3 +27459,6 @@ def _typecheckingstub__b7df3aca94dedaeba54fe7b775b3935c8ba1292a6334855a44eadaaf7
26649
27459
  ) -> None:
26650
27460
  """Type checking stubs"""
26651
27461
  pass
27462
+
27463
+ for cls in [ICustomAttribute, IUserPool, IUserPoolClient, IUserPoolDomain, IUserPoolGroup, IUserPoolIdentityProvider, IUserPoolResourceServer]:
27464
+ typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])