aws-cdk-lib 2.153.0__py3-none-any.whl → 2.154.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 (266) hide show
  1. aws_cdk/__init__.py +157 -215
  2. aws_cdk/_jsii/__init__.py +2 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.153.0.jsii.tgz → aws-cdk-lib@2.154.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +3 -3
  5. aws_cdk/aws_accessanalyzer/__init__.py +5 -5
  6. aws_cdk/aws_acmpca/__init__.py +79 -24
  7. aws_cdk/aws_amazonmq/__init__.py +161 -161
  8. aws_cdk/aws_amplify/__init__.py +36 -36
  9. aws_cdk/aws_amplifyuibuilder/__init__.py +32 -32
  10. aws_cdk/aws_apigateway/__init__.py +122 -122
  11. aws_cdk/aws_apigatewayv2/__init__.py +135 -121
  12. aws_cdk/aws_apigatewayv2_integrations/__init__.py +12 -12
  13. aws_cdk/aws_appconfig/__init__.py +59 -59
  14. aws_cdk/aws_appflow/__init__.py +20 -20
  15. aws_cdk/aws_appintegrations/__init__.py +19 -19
  16. aws_cdk/aws_applicationautoscaling/__init__.py +31 -16
  17. aws_cdk/aws_applicationinsights/__init__.py +11 -11
  18. aws_cdk/aws_applicationsignals/__init__.py +5 -5
  19. aws_cdk/aws_appmesh/__init__.py +35 -35
  20. aws_cdk/aws_apprunner/__init__.py +25 -25
  21. aws_cdk/aws_appstream/__init__.py +105 -105
  22. aws_cdk/aws_appsync/__init__.py +89 -89
  23. aws_cdk/aws_apptest/__init__.py +25 -25
  24. aws_cdk/aws_aps/__init__.py +14 -14
  25. aws_cdk/aws_arczonalshift/__init__.py +200 -3
  26. aws_cdk/aws_athena/__init__.py +25 -25
  27. aws_cdk/aws_auditmanager/__init__.py +15 -15
  28. aws_cdk/aws_autoscaling/__init__.py +84 -84
  29. aws_cdk/aws_autoscalingplans/__init__.py +2 -2
  30. aws_cdk/aws_b2bi/__init__.py +24 -24
  31. aws_cdk/aws_backup/__init__.py +33 -33
  32. aws_cdk/aws_backupgateway/__init__.py +7 -7
  33. aws_cdk/aws_batch/__init__.py +289 -35
  34. aws_cdk/aws_bcmdataexports/__init__.py +2 -2
  35. aws_cdk/aws_bedrock/__init__.py +13239 -3277
  36. aws_cdk/aws_billingconductor/__init__.py +28 -28
  37. aws_cdk/aws_budgets/__init__.py +12 -12
  38. aws_cdk/aws_cassandra/__init__.py +16 -16
  39. aws_cdk/aws_ce/__init__.py +17 -17
  40. aws_cdk/aws_certificatemanager/__init__.py +9 -9
  41. aws_cdk/aws_chatbot/__init__.py +22 -22
  42. aws_cdk/aws_cleanrooms/__init__.py +2470 -307
  43. aws_cdk/aws_cleanroomsml/__init__.py +5 -5
  44. aws_cdk/aws_cloud9/__init__.py +10 -10
  45. aws_cdk/aws_cloudformation/__init__.py +94 -69
  46. aws_cdk/aws_cloudfront/__init__.py +31 -30
  47. aws_cdk/aws_cloudtrail/__init__.py +46 -44
  48. aws_cdk/aws_cloudwatch/__init__.py +61 -69
  49. aws_cdk/aws_codeartifact/__init__.py +19 -19
  50. aws_cdk/aws_codebuild/__init__.py +60 -68
  51. aws_cdk/aws_codecommit/__init__.py +10 -6
  52. aws_cdk/aws_codeconnections/__init__.py +5 -5
  53. aws_cdk/aws_codedeploy/__init__.py +28 -28
  54. aws_cdk/aws_codeguruprofiler/__init__.py +5 -5
  55. aws_cdk/aws_codegurureviewer/__init__.py +6 -6
  56. aws_cdk/aws_codepipeline/__init__.py +849 -52
  57. aws_cdk/aws_codepipeline_actions/__init__.py +1 -1
  58. aws_cdk/aws_codestar/__init__.py +8 -8
  59. aws_cdk/aws_codestarconnections/__init__.py +17 -17
  60. aws_cdk/aws_codestarnotifications/__init__.py +10 -10
  61. aws_cdk/aws_cognito/__init__.py +465 -133
  62. aws_cdk/aws_comprehend/__init__.py +20 -20
  63. aws_cdk/aws_config/__init__.py +67 -67
  64. aws_cdk/aws_connect/__init__.py +139 -137
  65. aws_cdk/aws_connectcampaigns/__init__.py +5 -5
  66. aws_cdk/aws_controltower/__init__.py +12 -12
  67. aws_cdk/aws_cur/__init__.py +12 -12
  68. aws_cdk/aws_customerprofiles/__init__.py +36 -36
  69. aws_cdk/aws_databrew/__init__.py +45 -45
  70. aws_cdk/aws_datapipeline/__init__.py +12 -8
  71. aws_cdk/aws_datasync/__init__.py +119 -117
  72. aws_cdk/aws_datazone/__init__.py +63 -63
  73. aws_cdk/aws_dax/__init__.py +20 -20
  74. aws_cdk/aws_deadline/__init__.py +221 -292
  75. aws_cdk/aws_detective/__init__.py +8 -8
  76. aws_cdk/aws_devicefarm/__init__.py +37 -37
  77. aws_cdk/aws_devopsguru/__init__.py +2 -2
  78. aws_cdk/aws_directoryservice/__init__.py +15 -15
  79. aws_cdk/aws_dlm/__init__.py +12 -12
  80. aws_cdk/aws_dms/__init__.py +300 -298
  81. aws_cdk/aws_docdb/__init__.py +49 -49
  82. aws_cdk/aws_docdbelastic/__init__.py +14 -14
  83. aws_cdk/aws_dynamodb/__init__.py +371 -37
  84. aws_cdk/aws_ec2/__init__.py +900 -606
  85. aws_cdk/aws_ecr/__init__.py +117 -77
  86. aws_cdk/aws_ecr_assets/__init__.py +4 -4
  87. aws_cdk/aws_ecs/__init__.py +190 -191
  88. aws_cdk/aws_ecs_patterns/__init__.py +2 -2
  89. aws_cdk/aws_efs/__init__.py +22 -22
  90. aws_cdk/aws_eks/__init__.py +177 -61
  91. aws_cdk/aws_elasticache/__init__.py +218 -226
  92. aws_cdk/aws_elasticbeanstalk/__init__.py +25 -25
  93. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -16
  94. aws_cdk/aws_elasticloadbalancingv2/__init__.py +1066 -102
  95. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +86 -4
  96. aws_cdk/aws_elasticsearch/__init__.py +16 -16
  97. aws_cdk/aws_emr/__init__.py +74 -74
  98. aws_cdk/aws_emrcontainers/__init__.py +3 -3
  99. aws_cdk/aws_emrserverless/__init__.py +157 -14
  100. aws_cdk/aws_entityresolution/__init__.py +613 -35
  101. aws_cdk/aws_events/__init__.py +42 -42
  102. aws_cdk/aws_eventschemas/__init__.py +16 -16
  103. aws_cdk/aws_evidently/__init__.py +38 -38
  104. aws_cdk/aws_finspace/__init__.py +8 -8
  105. aws_cdk/aws_fis/__init__.py +12 -12
  106. aws_cdk/aws_fms/__init__.py +21 -21
  107. aws_cdk/aws_forecast/__init__.py +18 -11
  108. aws_cdk/aws_frauddetector/__init__.py +35 -35
  109. aws_cdk/aws_fsx/__init__.py +35 -35
  110. aws_cdk/aws_gamelift/__init__.py +103 -103
  111. aws_cdk/aws_globalaccelerator/__init__.py +46 -24
  112. aws_cdk/aws_glue/__init__.py +132 -139
  113. aws_cdk/aws_grafana/__init__.py +17 -17
  114. aws_cdk/aws_greengrass/__init__.py +48 -48
  115. aws_cdk/aws_greengrassv2/__init__.py +10 -10
  116. aws_cdk/aws_groundstation/__init__.py +16 -16
  117. aws_cdk/aws_guardduty/__init__.py +40 -38
  118. aws_cdk/aws_healthimaging/__init__.py +3 -3
  119. aws_cdk/aws_healthlake/__init__.py +6 -6
  120. aws_cdk/aws_iam/__init__.py +120 -122
  121. aws_cdk/aws_identitystore/__init__.py +6 -6
  122. aws_cdk/aws_imagebuilder/__init__.py +92 -92
  123. aws_cdk/aws_inspector/__init__.py +8 -8
  124. aws_cdk/aws_inspectorv2/__init__.py +102 -97
  125. aws_cdk/aws_internetmonitor/__init__.py +12 -12
  126. aws_cdk/aws_iot/__init__.py +141 -141
  127. aws_cdk/aws_iot1click/__init__.py +9 -9
  128. aws_cdk/aws_iotanalytics/__init__.py +21 -21
  129. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +2 -2
  130. aws_cdk/aws_iotevents/__init__.py +20 -20
  131. aws_cdk/aws_iotfleethub/__init__.py +4 -4
  132. aws_cdk/aws_iotfleetwise/__init__.py +45 -45
  133. aws_cdk/aws_iotsitewise/__init__.py +40 -40
  134. aws_cdk/aws_iotthingsgraph/__init__.py +2 -2
  135. aws_cdk/aws_iottwinmaker/__init__.py +34 -34
  136. aws_cdk/aws_iotwireless/__init__.py +66 -66
  137. aws_cdk/aws_ivs/__init__.py +32 -32
  138. aws_cdk/aws_ivschat/__init__.py +9 -9
  139. aws_cdk/aws_kafkaconnect/__init__.py +22 -22
  140. aws_cdk/aws_kendra/__init__.py +28 -28
  141. aws_cdk/aws_kendraranking/__init__.py +4 -4
  142. aws_cdk/aws_kinesis/__init__.py +8 -8
  143. aws_cdk/aws_kinesisanalytics/__init__.py +23 -23
  144. aws_cdk/aws_kinesisanalyticsv2/__init__.py +15 -15
  145. aws_cdk/aws_kinesisfirehose/__init__.py +677 -18
  146. aws_cdk/aws_kinesisvideo/__init__.py +10 -10
  147. aws_cdk/aws_kms/__init__.py +20 -20
  148. aws_cdk/aws_lakeformation/__init__.py +36 -36
  149. aws_cdk/aws_lambda/__init__.py +174 -118
  150. aws_cdk/aws_launchwizard/__init__.py +508 -0
  151. aws_cdk/aws_lex/__init__.py +24 -24
  152. aws_cdk/aws_licensemanager/__init__.py +17 -17
  153. aws_cdk/aws_lightsail/__init__.py +90 -90
  154. aws_cdk/aws_location/__init__.py +41 -41
  155. aws_cdk/aws_logs/__init__.py +50 -50
  156. aws_cdk/aws_lookoutequipment/__init__.py +9 -9
  157. aws_cdk/aws_lookoutmetrics/__init__.py +10 -10
  158. aws_cdk/aws_lookoutvision/__init__.py +1 -1
  159. aws_cdk/aws_m2/__init__.py +20 -20
  160. aws_cdk/aws_macie/__init__.py +19 -19
  161. aws_cdk/aws_managedblockchain/__init__.py +10 -10
  162. aws_cdk/aws_mediaconnect/__init__.py +114 -77
  163. aws_cdk/aws_mediaconvert/__init__.py +20 -20
  164. aws_cdk/aws_medialive/__init__.py +44 -76
  165. aws_cdk/aws_mediapackage/__init__.py +38 -38
  166. aws_cdk/aws_mediapackagev2/__init__.py +178 -25
  167. aws_cdk/aws_mediastore/__init__.py +7 -7
  168. aws_cdk/aws_mediatailor/__init__.py +40 -40
  169. aws_cdk/aws_memorydb/__init__.py +41 -41
  170. aws_cdk/aws_msk/__init__.py +39 -39
  171. aws_cdk/aws_mwaa/__init__.py +25 -25
  172. aws_cdk/aws_neptune/__init__.py +55 -55
  173. aws_cdk/aws_neptunegraph/__init__.py +11 -11
  174. aws_cdk/aws_networkfirewall/__init__.py +36 -30
  175. aws_cdk/aws_networkmanager/__init__.py +1062 -91
  176. aws_cdk/aws_nimblestudio/__init__.py +31 -31
  177. aws_cdk/aws_oam/__init__.py +8 -8
  178. aws_cdk/aws_omics/__init__.py +36 -36
  179. aws_cdk/aws_opensearchserverless/__init__.py +25 -25
  180. aws_cdk/aws_opensearchservice/__init__.py +20 -20
  181. aws_cdk/aws_opsworks/__init__.py +87 -87
  182. aws_cdk/aws_opsworkscm/__init__.py +21 -21
  183. aws_cdk/aws_organizations/__init__.py +17 -17
  184. aws_cdk/aws_osis/__init__.py +122 -9
  185. aws_cdk/aws_panorama/__init__.py +27 -22
  186. aws_cdk/aws_paymentcryptography/__init__.py +7 -7
  187. aws_cdk/aws_pcaconnectorad/__init__.py +17 -17
  188. aws_cdk/aws_personalize/__init__.py +19 -19
  189. aws_cdk/aws_pinpoint/__init__.py +122 -122
  190. aws_cdk/aws_pinpointemail/__init__.py +16 -16
  191. aws_cdk/aws_pipes/__init__.py +14 -16
  192. aws_cdk/aws_proton/__init__.py +19 -19
  193. aws_cdk/aws_qbusiness/__init__.py +160 -45
  194. aws_cdk/aws_qldb/__init__.py +12 -12
  195. aws_cdk/aws_quicksight/__init__.py +91 -91
  196. aws_cdk/aws_ram/__init__.py +11 -11
  197. aws_cdk/aws_rds/__init__.py +365 -259
  198. aws_cdk/aws_redshift/__init__.py +136 -91
  199. aws_cdk/aws_redshiftserverless/__init__.py +27 -27
  200. aws_cdk/aws_refactorspaces/__init__.py +26 -26
  201. aws_cdk/aws_rekognition/__init__.py +16 -16
  202. aws_cdk/aws_resiliencehub/__init__.py +15 -15
  203. aws_cdk/aws_resourceexplorer2/__init__.py +8 -8
  204. aws_cdk/aws_resourcegroups/__init__.py +6 -6
  205. aws_cdk/aws_robomaker/__init__.py +25 -25
  206. aws_cdk/aws_rolesanywhere/__init__.py +67 -19
  207. aws_cdk/aws_route53/__init__.py +36 -36
  208. aws_cdk/aws_route53profiles/__init__.py +11 -11
  209. aws_cdk/aws_route53recoverycontrol/__init__.py +14 -14
  210. aws_cdk/aws_route53recoveryreadiness/__init__.py +13 -13
  211. aws_cdk/aws_route53resolver/__init__.py +123 -82
  212. aws_cdk/aws_rum/__init__.py +6 -6
  213. aws_cdk/aws_s3/__init__.py +136 -80
  214. aws_cdk/aws_s3_deployment/__init__.py +30 -24
  215. aws_cdk/aws_s3_notifications/__init__.py +3 -4
  216. aws_cdk/aws_s3express/__init__.py +5 -5
  217. aws_cdk/aws_s3objectlambda/__init__.py +6 -6
  218. aws_cdk/aws_s3outposts/__init__.py +16 -16
  219. aws_cdk/aws_sagemaker/__init__.py +2412 -280
  220. aws_cdk/aws_sam/__init__.py +101 -101
  221. aws_cdk/aws_scheduler/__init__.py +13 -13
  222. aws_cdk/aws_sdb/__init__.py +1 -1
  223. aws_cdk/aws_secretsmanager/__init__.py +20 -19
  224. aws_cdk/aws_securityhub/__init__.py +70 -57
  225. aws_cdk/aws_securitylake/__init__.py +341 -16
  226. aws_cdk/aws_servicecatalog/__init__.py +87 -87
  227. aws_cdk/aws_servicecatalogappregistry/__init__.py +12 -12
  228. aws_cdk/aws_servicediscovery/__init__.py +23 -23
  229. aws_cdk/aws_ses/__init__.py +12038 -5604
  230. aws_cdk/aws_shield/__init__.py +15 -15
  231. aws_cdk/aws_signer/__init__.py +9 -9
  232. aws_cdk/aws_simspaceweaver/__init__.py +5 -5
  233. aws_cdk/aws_sns/__init__.py +28 -28
  234. aws_cdk/aws_sqs/__init__.py +20 -20
  235. aws_cdk/aws_ssm/__init__.py +172 -101
  236. aws_cdk/aws_ssmcontacts/__init__.py +18 -18
  237. aws_cdk/aws_ssmincidents/__init__.py +11 -11
  238. aws_cdk/aws_sso/__init__.py +31 -31
  239. aws_cdk/aws_stepfunctions/__init__.py +370 -28
  240. aws_cdk/aws_supportapp/__init__.py +11 -11
  241. aws_cdk/aws_synthetics/__init__.py +18 -18
  242. aws_cdk/aws_systemsmanagersap/__init__.py +48 -7
  243. aws_cdk/aws_timestream/__init__.py +34 -34
  244. aws_cdk/aws_transfer/__init__.py +57 -57
  245. aws_cdk/aws_verifiedpermissions/__init__.py +11 -11
  246. aws_cdk/aws_voiceid/__init__.py +4 -4
  247. aws_cdk/aws_vpclattice/__init__.py +42 -42
  248. aws_cdk/aws_waf/__init__.py +17 -17
  249. aws_cdk/aws_wafregional/__init__.py +28 -28
  250. aws_cdk/aws_wafv2/__init__.py +39 -39
  251. aws_cdk/aws_wisdom/__init__.py +16 -16
  252. aws_cdk/aws_workspaces/__init__.py +18 -18
  253. aws_cdk/aws_workspacesthinclient/__init__.py +63 -9
  254. aws_cdk/aws_workspacesweb/__init__.py +87 -46
  255. aws_cdk/aws_xray/__init__.py +12 -12
  256. aws_cdk/cloud_assembly_schema/__init__.py +348 -239
  257. aws_cdk/custom_resources/__init__.py +283 -0
  258. aws_cdk/cx_api/__init__.py +15 -15
  259. aws_cdk/pipelines/__init__.py +172 -237
  260. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/METADATA +3 -2
  261. aws_cdk_lib-2.154.0.dist-info/RECORD +292 -0
  262. aws_cdk_lib-2.153.0.dist-info/RECORD +0 -291
  263. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/LICENSE +0 -0
  264. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/NOTICE +0 -0
  265. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/WHEEL +0 -0
  266. {aws_cdk_lib-2.153.0.dist-info → aws_cdk_lib-2.154.0.dist-info}/top_level.txt +0 -0
@@ -1011,11 +1011,13 @@ from .._jsii import *
1011
1011
  import constructs as _constructs_77d1e7e8
1012
1012
  from .. import (
1013
1013
  CfnResource as _CfnResource_9df397a6,
1014
+ CfnTag as _CfnTag_f6864754,
1014
1015
  Duration as _Duration_4839e8c3,
1015
1016
  IInspectable as _IInspectable_c2943556,
1016
1017
  IResolvable as _IResolvable_da3f097b,
1017
1018
  IResource as _IResource_c80c4260,
1018
1019
  ITaggable as _ITaggable_36806126,
1020
+ ITaggableV2 as _ITaggableV2_4e6798f8,
1019
1021
  RemovalPolicy as _RemovalPolicy_9f93c814,
1020
1022
  Resource as _Resource_45bc6135,
1021
1023
  SecretValue as _SecretValue_3dd0ddae,
@@ -1638,7 +1640,7 @@ class BaseUrlOptions:
1638
1640
  )
1639
1641
 
1640
1642
 
1641
- @jsii.implements(_IInspectable_c2943556)
1643
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
1642
1644
  class CfnIdentityPool(
1643
1645
  _CfnResource_9df397a6,
1644
1646
  metaclass=jsii.JSIIMeta,
@@ -1677,6 +1679,7 @@ class CfnIdentityPool(
1677
1679
  cognito_streams: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdentityPool.CognitoStreamsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1678
1680
  developer_provider_name: typing.Optional[builtins.str] = None,
1679
1681
  identity_pool_name: typing.Optional[builtins.str] = None,
1682
+ identity_pool_tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
1680
1683
  open_id_connect_provider_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
1681
1684
  push_sync: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdentityPool.PushSyncProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1682
1685
  saml_provider_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -1692,6 +1695,7 @@ class CfnIdentityPool(
1692
1695
  :param cognito_streams: Configuration options for configuring Amazon Cognito streams.
1693
1696
  :param developer_provider_name: The "domain" Amazon Cognito uses when referencing your users. This name acts as a placeholder that allows your backend and the Amazon Cognito service to communicate about the developer provider. For the ``DeveloperProviderName`` , you can use letters and periods (.), underscores (_), and dashes (-). *Minimum length* : 1 *Maximum length* : 100
1694
1697
  :param identity_pool_name: The name of your Amazon Cognito identity pool. *Minimum length* : 1 *Maximum length* : 128 *Pattern* : ``[\\w\\s+=,.@-]+``
1698
+ :param identity_pool_tags: Tags to assign to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.
1695
1699
  :param open_id_connect_provider_arns: The Amazon Resource Names (ARNs) of the OpenID connect providers.
1696
1700
  :param push_sync: The configuration options to be applied to the identity pool.
1697
1701
  :param saml_provider_arns: The Amazon Resource Names (ARNs) of the Security Assertion Markup Language (SAML) providers.
@@ -1709,6 +1713,7 @@ class CfnIdentityPool(
1709
1713
  cognito_streams=cognito_streams,
1710
1714
  developer_provider_name=developer_provider_name,
1711
1715
  identity_pool_name=identity_pool_name,
1716
+ identity_pool_tags=identity_pool_tags,
1712
1717
  open_id_connect_provider_arns=open_id_connect_provider_arns,
1713
1718
  push_sync=push_sync,
1714
1719
  saml_provider_arns=saml_provider_arns,
@@ -1764,6 +1769,12 @@ class CfnIdentityPool(
1764
1769
  '''
1765
1770
  return typing.cast(builtins.str, jsii.get(self, "attrName"))
1766
1771
 
1772
+ @builtins.property
1773
+ @jsii.member(jsii_name="cdkTagManager")
1774
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
1775
+ '''Tag Manager which manages the tags for this resource.'''
1776
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
1777
+
1767
1778
  @builtins.property
1768
1779
  @jsii.member(jsii_name="cfnProperties")
1769
1780
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -1785,7 +1796,7 @@ class CfnIdentityPool(
1785
1796
  if __debug__:
1786
1797
  type_hints = typing.get_type_hints(_typecheckingstub__db6ea31d27c717c9763b6408e0f3923cd9b6dc2e5d79b1a66ce864122450159f)
1787
1798
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1788
- jsii.set(self, "allowUnauthenticatedIdentities", value)
1799
+ jsii.set(self, "allowUnauthenticatedIdentities", value) # pyright: ignore[reportArgumentType]
1789
1800
 
1790
1801
  @builtins.property
1791
1802
  @jsii.member(jsii_name="allowClassicFlow")
@@ -1803,7 +1814,7 @@ class CfnIdentityPool(
1803
1814
  if __debug__:
1804
1815
  type_hints = typing.get_type_hints(_typecheckingstub__c5b513e4bd7ec3f84408bf9a2b747fb0b06357d05747f6825c473e9274958606)
1805
1816
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1806
- jsii.set(self, "allowClassicFlow", value)
1817
+ jsii.set(self, "allowClassicFlow", value) # pyright: ignore[reportArgumentType]
1807
1818
 
1808
1819
  @builtins.property
1809
1820
  @jsii.member(jsii_name="cognitoEvents")
@@ -1816,7 +1827,7 @@ class CfnIdentityPool(
1816
1827
  if __debug__:
1817
1828
  type_hints = typing.get_type_hints(_typecheckingstub__360f21073c65bd16eeda7bcf34ec57609826f7d58ba6dc4fc009286320ef72de)
1818
1829
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1819
- jsii.set(self, "cognitoEvents", value)
1830
+ jsii.set(self, "cognitoEvents", value) # pyright: ignore[reportArgumentType]
1820
1831
 
1821
1832
  @builtins.property
1822
1833
  @jsii.member(jsii_name="cognitoIdentityProviders")
@@ -1834,7 +1845,7 @@ class CfnIdentityPool(
1834
1845
  if __debug__:
1835
1846
  type_hints = typing.get_type_hints(_typecheckingstub__fbb45d26060f7e1f74033e6a37741666fb843374b7a2b735483dea6f9b824230)
1836
1847
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1837
- jsii.set(self, "cognitoIdentityProviders", value)
1848
+ jsii.set(self, "cognitoIdentityProviders", value) # pyright: ignore[reportArgumentType]
1838
1849
 
1839
1850
  @builtins.property
1840
1851
  @jsii.member(jsii_name="cognitoStreams")
@@ -1852,7 +1863,7 @@ class CfnIdentityPool(
1852
1863
  if __debug__:
1853
1864
  type_hints = typing.get_type_hints(_typecheckingstub__502164af12ab71961d7f4f2e11817973d435bc4577d049f15a4cf62796079879)
1854
1865
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1855
- jsii.set(self, "cognitoStreams", value)
1866
+ jsii.set(self, "cognitoStreams", value) # pyright: ignore[reportArgumentType]
1856
1867
 
1857
1868
  @builtins.property
1858
1869
  @jsii.member(jsii_name="developerProviderName")
@@ -1865,7 +1876,7 @@ class CfnIdentityPool(
1865
1876
  if __debug__:
1866
1877
  type_hints = typing.get_type_hints(_typecheckingstub__f2b5f037f02889c2a585909dfa772a6165c4470d0984cfa622e1374ed7852936)
1867
1878
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1868
- jsii.set(self, "developerProviderName", value)
1879
+ jsii.set(self, "developerProviderName", value) # pyright: ignore[reportArgumentType]
1869
1880
 
1870
1881
  @builtins.property
1871
1882
  @jsii.member(jsii_name="identityPoolName")
@@ -1878,7 +1889,23 @@ class CfnIdentityPool(
1878
1889
  if __debug__:
1879
1890
  type_hints = typing.get_type_hints(_typecheckingstub__6010d0ddbf0b577c8e7ea0796913ba4085881df0b32cec744c271c99300165af)
1880
1891
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1881
- jsii.set(self, "identityPoolName", value)
1892
+ jsii.set(self, "identityPoolName", value) # pyright: ignore[reportArgumentType]
1893
+
1894
+ @builtins.property
1895
+ @jsii.member(jsii_name="identityPoolTags")
1896
+ def identity_pool_tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
1897
+ '''Tags to assign to the identity pool.'''
1898
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "identityPoolTags"))
1899
+
1900
+ @identity_pool_tags.setter
1901
+ def identity_pool_tags(
1902
+ self,
1903
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
1904
+ ) -> None:
1905
+ if __debug__:
1906
+ type_hints = typing.get_type_hints(_typecheckingstub__caf91efc577806bf48a176729ecabaf6b30c2d71ecfff869256e7500e4dcb9bc)
1907
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1908
+ jsii.set(self, "identityPoolTags", value) # pyright: ignore[reportArgumentType]
1882
1909
 
1883
1910
  @builtins.property
1884
1911
  @jsii.member(jsii_name="openIdConnectProviderArns")
@@ -1896,7 +1923,7 @@ class CfnIdentityPool(
1896
1923
  if __debug__:
1897
1924
  type_hints = typing.get_type_hints(_typecheckingstub__61d80fcbd99af6003aec5d0b96e0ec9abdb3d4f6e2f44f67bdd2e746351a3517)
1898
1925
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1899
- jsii.set(self, "openIdConnectProviderArns", value)
1926
+ jsii.set(self, "openIdConnectProviderArns", value) # pyright: ignore[reportArgumentType]
1900
1927
 
1901
1928
  @builtins.property
1902
1929
  @jsii.member(jsii_name="pushSync")
@@ -1914,7 +1941,7 @@ class CfnIdentityPool(
1914
1941
  if __debug__:
1915
1942
  type_hints = typing.get_type_hints(_typecheckingstub__37451572b0d939f18081b9fd4743a223e16c702244d56835c0e577ed22f85c70)
1916
1943
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1917
- jsii.set(self, "pushSync", value)
1944
+ jsii.set(self, "pushSync", value) # pyright: ignore[reportArgumentType]
1918
1945
 
1919
1946
  @builtins.property
1920
1947
  @jsii.member(jsii_name="samlProviderArns")
@@ -1930,7 +1957,7 @@ class CfnIdentityPool(
1930
1957
  if __debug__:
1931
1958
  type_hints = typing.get_type_hints(_typecheckingstub__d2aad48eb5d6c1e553867325f44b35ef0b577c7971cf240ed4b646c07303a760)
1932
1959
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1933
- jsii.set(self, "samlProviderArns", value)
1960
+ jsii.set(self, "samlProviderArns", value) # pyright: ignore[reportArgumentType]
1934
1961
 
1935
1962
  @builtins.property
1936
1963
  @jsii.member(jsii_name="supportedLoginProviders")
@@ -1943,7 +1970,7 @@ class CfnIdentityPool(
1943
1970
  if __debug__:
1944
1971
  type_hints = typing.get_type_hints(_typecheckingstub__905e78c8fb6056ab2fc4961e4c0d8d7817993690aff93e2be1384e79b1effe9a)
1945
1972
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
1946
- jsii.set(self, "supportedLoginProviders", value)
1973
+ jsii.set(self, "supportedLoginProviders", value) # pyright: ignore[reportArgumentType]
1947
1974
 
1948
1975
  @jsii.data_type(
1949
1976
  jsii_type="aws-cdk-lib.aws_cognito.CfnIdentityPool.CognitoIdentityProviderProperty",
@@ -2318,7 +2345,7 @@ class CfnIdentityPoolPrincipalTag(
2318
2345
  if __debug__:
2319
2346
  type_hints = typing.get_type_hints(_typecheckingstub__18add40294e453336d39c4b2518445fd0e172f25c23bd78b598609632a714548)
2320
2347
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2321
- jsii.set(self, "identityPoolId", value)
2348
+ jsii.set(self, "identityPoolId", value) # pyright: ignore[reportArgumentType]
2322
2349
 
2323
2350
  @builtins.property
2324
2351
  @jsii.member(jsii_name="identityProviderName")
@@ -2331,7 +2358,7 @@ class CfnIdentityPoolPrincipalTag(
2331
2358
  if __debug__:
2332
2359
  type_hints = typing.get_type_hints(_typecheckingstub__671325bd1b5eb381434a0ced3b0ca5b3646c379113e1014679b7ebacca38cc3e)
2333
2360
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2334
- jsii.set(self, "identityProviderName", value)
2361
+ jsii.set(self, "identityProviderName", value) # pyright: ignore[reportArgumentType]
2335
2362
 
2336
2363
  @builtins.property
2337
2364
  @jsii.member(jsii_name="principalTags")
@@ -2344,7 +2371,7 @@ class CfnIdentityPoolPrincipalTag(
2344
2371
  if __debug__:
2345
2372
  type_hints = typing.get_type_hints(_typecheckingstub__941cd9f870d419478e147197cb0134b687f7c233a8bc805887d04a761669aefc)
2346
2373
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2347
- jsii.set(self, "principalTags", value)
2374
+ jsii.set(self, "principalTags", value) # pyright: ignore[reportArgumentType]
2348
2375
 
2349
2376
  @builtins.property
2350
2377
  @jsii.member(jsii_name="useDefaults")
@@ -2362,7 +2389,7 @@ class CfnIdentityPoolPrincipalTag(
2362
2389
  if __debug__:
2363
2390
  type_hints = typing.get_type_hints(_typecheckingstub__615ac6e1fae0725987511e0b22108f8d03202321eadeee202779d4e5248fd19a)
2364
2391
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2365
- jsii.set(self, "useDefaults", value)
2392
+ jsii.set(self, "useDefaults", value) # pyright: ignore[reportArgumentType]
2366
2393
 
2367
2394
 
2368
2395
  @jsii.data_type(
@@ -2491,6 +2518,7 @@ class CfnIdentityPoolPrincipalTagProps:
2491
2518
  "cognito_streams": "cognitoStreams",
2492
2519
  "developer_provider_name": "developerProviderName",
2493
2520
  "identity_pool_name": "identityPoolName",
2521
+ "identity_pool_tags": "identityPoolTags",
2494
2522
  "open_id_connect_provider_arns": "openIdConnectProviderArns",
2495
2523
  "push_sync": "pushSync",
2496
2524
  "saml_provider_arns": "samlProviderArns",
@@ -2508,6 +2536,7 @@ class CfnIdentityPoolProps:
2508
2536
  cognito_streams: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentityPool.CognitoStreamsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2509
2537
  developer_provider_name: typing.Optional[builtins.str] = None,
2510
2538
  identity_pool_name: typing.Optional[builtins.str] = None,
2539
+ identity_pool_tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
2511
2540
  open_id_connect_provider_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
2512
2541
  push_sync: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentityPool.PushSyncProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2513
2542
  saml_provider_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -2522,6 +2551,7 @@ class CfnIdentityPoolProps:
2522
2551
  :param cognito_streams: Configuration options for configuring Amazon Cognito streams.
2523
2552
  :param developer_provider_name: The "domain" Amazon Cognito uses when referencing your users. This name acts as a placeholder that allows your backend and the Amazon Cognito service to communicate about the developer provider. For the ``DeveloperProviderName`` , you can use letters and periods (.), underscores (_), and dashes (-). *Minimum length* : 1 *Maximum length* : 100
2524
2553
  :param identity_pool_name: The name of your Amazon Cognito identity pool. *Minimum length* : 1 *Maximum length* : 128 *Pattern* : ``[\\w\\s+=,.@-]+``
2554
+ :param identity_pool_tags: Tags to assign to the identity pool. A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.
2525
2555
  :param open_id_connect_provider_arns: The Amazon Resource Names (ARNs) of the OpenID connect providers.
2526
2556
  :param push_sync: The configuration options to be applied to the identity pool.
2527
2557
  :param saml_provider_arns: The Amazon Resource Names (ARNs) of the Security Assertion Markup Language (SAML) providers.
@@ -2551,6 +2581,7 @@ class CfnIdentityPoolProps:
2551
2581
  check_type(argname="argument cognito_streams", value=cognito_streams, expected_type=type_hints["cognito_streams"])
2552
2582
  check_type(argname="argument developer_provider_name", value=developer_provider_name, expected_type=type_hints["developer_provider_name"])
2553
2583
  check_type(argname="argument identity_pool_name", value=identity_pool_name, expected_type=type_hints["identity_pool_name"])
2584
+ check_type(argname="argument identity_pool_tags", value=identity_pool_tags, expected_type=type_hints["identity_pool_tags"])
2554
2585
  check_type(argname="argument open_id_connect_provider_arns", value=open_id_connect_provider_arns, expected_type=type_hints["open_id_connect_provider_arns"])
2555
2586
  check_type(argname="argument push_sync", value=push_sync, expected_type=type_hints["push_sync"])
2556
2587
  check_type(argname="argument saml_provider_arns", value=saml_provider_arns, expected_type=type_hints["saml_provider_arns"])
@@ -2570,6 +2601,8 @@ class CfnIdentityPoolProps:
2570
2601
  self._values["developer_provider_name"] = developer_provider_name
2571
2602
  if identity_pool_name is not None:
2572
2603
  self._values["identity_pool_name"] = identity_pool_name
2604
+ if identity_pool_tags is not None:
2605
+ self._values["identity_pool_tags"] = identity_pool_tags
2573
2606
  if open_id_connect_provider_arns is not None:
2574
2607
  self._values["open_id_connect_provider_arns"] = open_id_connect_provider_arns
2575
2608
  if push_sync is not None:
@@ -2663,6 +2696,17 @@ class CfnIdentityPoolProps:
2663
2696
  result = self._values.get("identity_pool_name")
2664
2697
  return typing.cast(typing.Optional[builtins.str], result)
2665
2698
 
2699
+ @builtins.property
2700
+ def identity_pool_tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
2701
+ '''Tags to assign to the identity pool.
2702
+
2703
+ A tag is a label that you can apply to identity pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.
2704
+
2705
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-identitypooltags
2706
+ '''
2707
+ result = self._values.get("identity_pool_tags")
2708
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
2709
+
2666
2710
  @builtins.property
2667
2711
  def open_id_connect_provider_arns(
2668
2712
  self,
@@ -2841,7 +2885,7 @@ class CfnIdentityPoolRoleAttachment(
2841
2885
  if __debug__:
2842
2886
  type_hints = typing.get_type_hints(_typecheckingstub__c00bf0f77c984f55d1c0f4d659a057ac347b7a1e253f7f07e04e7cb5836f96be)
2843
2887
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2844
- jsii.set(self, "identityPoolId", value)
2888
+ jsii.set(self, "identityPoolId", value) # pyright: ignore[reportArgumentType]
2845
2889
 
2846
2890
  @builtins.property
2847
2891
  @jsii.member(jsii_name="roleMappings")
@@ -2859,7 +2903,7 @@ class CfnIdentityPoolRoleAttachment(
2859
2903
  if __debug__:
2860
2904
  type_hints = typing.get_type_hints(_typecheckingstub__260d54d4ee9e4e92869ee257cefc54f19659c465c953f833a73ba65eac311091)
2861
2905
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2862
- jsii.set(self, "roleMappings", value)
2906
+ jsii.set(self, "roleMappings", value) # pyright: ignore[reportArgumentType]
2863
2907
 
2864
2908
  @builtins.property
2865
2909
  @jsii.member(jsii_name="roles")
@@ -2872,7 +2916,7 @@ class CfnIdentityPoolRoleAttachment(
2872
2916
  if __debug__:
2873
2917
  type_hints = typing.get_type_hints(_typecheckingstub__987142230d77cd554d510e7265f08bb6c8a2ff277afb6532b8166d2315b9510c)
2874
2918
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
2875
- jsii.set(self, "roles", value)
2919
+ jsii.set(self, "roles", value) # pyright: ignore[reportArgumentType]
2876
2920
 
2877
2921
  @jsii.data_type(
2878
2922
  jsii_type="aws-cdk-lib.aws_cognito.CfnIdentityPoolRoleAttachment.MappingRuleProperty",
@@ -3306,7 +3350,7 @@ class CfnLogDeliveryConfiguration(
3306
3350
  metaclass=jsii.JSIIMeta,
3307
3351
  jsii_type="aws-cdk-lib.aws_cognito.CfnLogDeliveryConfiguration",
3308
3352
  ):
3309
- '''The logging parameters of a user pool.
3353
+ '''The logging parameters of a user pool returned in response to ``GetLogDeliveryConfiguration`` .
3310
3354
 
3311
3355
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html
3312
3356
  :cloudformationResource: AWS::Cognito::LogDeliveryConfiguration
@@ -3327,7 +3371,13 @@ class CfnLogDeliveryConfiguration(
3327
3371
  log_group_arn="logGroupArn"
3328
3372
  ),
3329
3373
  event_source="eventSource",
3330
- log_level="logLevel"
3374
+ firehose_configuration=cognito.CfnLogDeliveryConfiguration.FirehoseConfigurationProperty(
3375
+ stream_arn="streamArn"
3376
+ ),
3377
+ log_level="logLevel",
3378
+ s3_configuration=cognito.CfnLogDeliveryConfiguration.S3ConfigurationProperty(
3379
+ bucket_arn="bucketArn"
3380
+ )
3331
3381
  )]
3332
3382
  )
3333
3383
  '''
@@ -3343,8 +3393,8 @@ class CfnLogDeliveryConfiguration(
3343
3393
  '''
3344
3394
  :param scope: Scope in which this resource is defined.
3345
3395
  :param id: Construct identifier for this resource (unique in its scope).
3346
- :param user_pool_id: The ID of the user pool where you configured detailed activity logging.
3347
- :param log_configurations: The detailed activity logging destination of a user pool.
3396
+ :param user_pool_id: The ID of the user pool where you configured logging.
3397
+ :param log_configurations: A logging destination of a user pool. User pools can have multiple logging destinations for message-delivery and user-activity logs.
3348
3398
  '''
3349
3399
  if __debug__:
3350
3400
  type_hints = typing.get_type_hints(_typecheckingstub__e29530a80c41b2b01a02705536af0f4120664e64afaf6cf445105a2dd4a7023d)
@@ -3403,7 +3453,7 @@ class CfnLogDeliveryConfiguration(
3403
3453
  @builtins.property
3404
3454
  @jsii.member(jsii_name="userPoolId")
3405
3455
  def user_pool_id(self) -> builtins.str:
3406
- '''The ID of the user pool where you configured detailed activity logging.'''
3456
+ '''The ID of the user pool where you configured logging.'''
3407
3457
  return typing.cast(builtins.str, jsii.get(self, "userPoolId"))
3408
3458
 
3409
3459
  @user_pool_id.setter
@@ -3411,14 +3461,14 @@ class CfnLogDeliveryConfiguration(
3411
3461
  if __debug__:
3412
3462
  type_hints = typing.get_type_hints(_typecheckingstub__2182e97aaa93da941d4811edec2c32bd2af08481e5b611636933cf688c72d4a5)
3413
3463
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3414
- jsii.set(self, "userPoolId", value)
3464
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
3415
3465
 
3416
3466
  @builtins.property
3417
3467
  @jsii.member(jsii_name="logConfigurations")
3418
3468
  def log_configurations(
3419
3469
  self,
3420
3470
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnLogDeliveryConfiguration.LogConfigurationProperty"]]]]:
3421
- '''The detailed activity logging destination of a user pool.'''
3471
+ '''A logging destination of a user pool.'''
3422
3472
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnLogDeliveryConfiguration.LogConfigurationProperty"]]]], jsii.get(self, "logConfigurations"))
3423
3473
 
3424
3474
  @log_configurations.setter
@@ -3429,7 +3479,7 @@ class CfnLogDeliveryConfiguration(
3429
3479
  if __debug__:
3430
3480
  type_hints = typing.get_type_hints(_typecheckingstub__40a6b8e2f773442c634fa6b71515839097ae56e3de02083447219aae5f9c1a9f)
3431
3481
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3432
- jsii.set(self, "logConfigurations", value)
3482
+ jsii.set(self, "logConfigurations", value) # pyright: ignore[reportArgumentType]
3433
3483
 
3434
3484
  @jsii.data_type(
3435
3485
  jsii_type="aws-cdk-lib.aws_cognito.CfnLogDeliveryConfiguration.CloudWatchLogsConfigurationProperty",
@@ -3442,7 +3492,7 @@ class CfnLogDeliveryConfiguration(
3442
3492
  *,
3443
3493
  log_group_arn: typing.Optional[builtins.str] = None,
3444
3494
  ) -> None:
3445
- '''The CloudWatch logging destination of a user pool detailed activity logging configuration.
3495
+ '''Configuration for the CloudWatch log group destination of user pool detailed activity logging, or of user activity log export with advanced security features.
3446
3496
 
3447
3497
  :param log_group_arn: The Amazon Resource Name (arn) of a CloudWatch Logs log group where your user pool sends logs. The log group must not be encrypted with AWS Key Management Service and must be in the same AWS account as your user pool. To send logs to log groups with a resource policy of a size greater than 5120 characters, configure a log group with a path that starts with ``/aws/vendedlogs`` . For more information, see `Enabling logging from certain AWS services <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html>`_ .
3448
3498
 
@@ -3490,13 +3540,66 @@ class CfnLogDeliveryConfiguration(
3490
3540
  k + "=" + repr(v) for k, v in self._values.items()
3491
3541
  )
3492
3542
 
3543
+ @jsii.data_type(
3544
+ jsii_type="aws-cdk-lib.aws_cognito.CfnLogDeliveryConfiguration.FirehoseConfigurationProperty",
3545
+ jsii_struct_bases=[],
3546
+ name_mapping={"stream_arn": "streamArn"},
3547
+ )
3548
+ class FirehoseConfigurationProperty:
3549
+ def __init__(self, *, stream_arn: typing.Optional[builtins.str] = None) -> None:
3550
+ '''Configuration for the Amazon Data Firehose stream destination of user activity log export with advanced security features.
3551
+
3552
+ :param stream_arn: The ARN of an Amazon Data Firehose stream that's the destination for advanced security features log export.
3553
+
3554
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-firehoseconfiguration.html
3555
+ :exampleMetadata: fixture=_generated
3556
+
3557
+ Example::
3558
+
3559
+ # The code below shows an example of how to instantiate this type.
3560
+ # The values are placeholders you should change.
3561
+ from aws_cdk import aws_cognito as cognito
3562
+
3563
+ firehose_configuration_property = cognito.CfnLogDeliveryConfiguration.FirehoseConfigurationProperty(
3564
+ stream_arn="streamArn"
3565
+ )
3566
+ '''
3567
+ if __debug__:
3568
+ type_hints = typing.get_type_hints(_typecheckingstub__ae072d70f2bbea287c140340ad4ca6d5b9e1b95bf2308803bfb1cfbd9e23e5e0)
3569
+ check_type(argname="argument stream_arn", value=stream_arn, expected_type=type_hints["stream_arn"])
3570
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3571
+ if stream_arn is not None:
3572
+ self._values["stream_arn"] = stream_arn
3573
+
3574
+ @builtins.property
3575
+ def stream_arn(self) -> typing.Optional[builtins.str]:
3576
+ '''The ARN of an Amazon Data Firehose stream that's the destination for advanced security features log export.
3577
+
3578
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-firehoseconfiguration.html#cfn-cognito-logdeliveryconfiguration-firehoseconfiguration-streamarn
3579
+ '''
3580
+ result = self._values.get("stream_arn")
3581
+ return typing.cast(typing.Optional[builtins.str], result)
3582
+
3583
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3584
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3585
+
3586
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3587
+ return not (rhs == self)
3588
+
3589
+ def __repr__(self) -> str:
3590
+ return "FirehoseConfigurationProperty(%s)" % ", ".join(
3591
+ k + "=" + repr(v) for k, v in self._values.items()
3592
+ )
3593
+
3493
3594
  @jsii.data_type(
3494
3595
  jsii_type="aws-cdk-lib.aws_cognito.CfnLogDeliveryConfiguration.LogConfigurationProperty",
3495
3596
  jsii_struct_bases=[],
3496
3597
  name_mapping={
3497
3598
  "cloud_watch_logs_configuration": "cloudWatchLogsConfiguration",
3498
3599
  "event_source": "eventSource",
3600
+ "firehose_configuration": "firehoseConfiguration",
3499
3601
  "log_level": "logLevel",
3602
+ "s3_configuration": "s3Configuration",
3500
3603
  },
3501
3604
  )
3502
3605
  class LogConfigurationProperty:
@@ -3505,13 +3608,17 @@ class CfnLogDeliveryConfiguration(
3505
3608
  *,
3506
3609
  cloud_watch_logs_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLogDeliveryConfiguration.CloudWatchLogsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3507
3610
  event_source: typing.Optional[builtins.str] = None,
3611
+ firehose_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLogDeliveryConfiguration.FirehoseConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3508
3612
  log_level: typing.Optional[builtins.str] = None,
3613
+ s3_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLogDeliveryConfiguration.S3ConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
3509
3614
  ) -> None:
3510
3615
  '''The logging parameters of a user pool.
3511
3616
 
3512
- :param cloud_watch_logs_configuration: The CloudWatch logging destination of a user pool detailed activity logging configuration.
3513
- :param event_source: The source of events that your user pool sends for detailed activity logging.
3514
- :param log_level: The ``errorlevel`` selection of logs that a user pool sends for detailed activity logging.
3617
+ :param cloud_watch_logs_configuration: Configuration for the CloudWatch log group destination of user pool detailed activity logging, or of user activity log export with advanced security features.
3618
+ :param event_source: The source of events that your user pool sends for logging. To send error-level logs about user notification activity, set to ``userNotification`` . To send info-level logs about advanced security features user activity, set to ``userAuthEvents`` .
3619
+ :param firehose_configuration: Configuration for the Amazon Data Firehose stream destination of user activity log export with advanced security features.
3620
+ :param log_level: The ``errorlevel`` selection of logs that a user pool sends for detailed activity logging. To send ``userNotification`` activity with `information about message delivery <https://docs.aws.amazon.com/cognito/latest/developerguide/tracking-quotas-and-usage-in-cloud-watch-logs.html>`_ , choose ``ERROR`` with ``CloudWatchLogsConfiguration`` . To send ``userAuthEvents`` activity with user logs from advanced security features, choose ``INFO`` with one of ``CloudWatchLogsConfiguration`` , ``FirehoseConfiguration`` , or ``S3Configuration`` .
3621
+ :param s3_configuration: Configuration for the Amazon S3 bucket destination of user activity log export with advanced security features.
3515
3622
 
3516
3623
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-logconfiguration.html
3517
3624
  :exampleMetadata: fixture=_generated
@@ -3527,27 +3634,39 @@ class CfnLogDeliveryConfiguration(
3527
3634
  log_group_arn="logGroupArn"
3528
3635
  ),
3529
3636
  event_source="eventSource",
3530
- log_level="logLevel"
3637
+ firehose_configuration=cognito.CfnLogDeliveryConfiguration.FirehoseConfigurationProperty(
3638
+ stream_arn="streamArn"
3639
+ ),
3640
+ log_level="logLevel",
3641
+ s3_configuration=cognito.CfnLogDeliveryConfiguration.S3ConfigurationProperty(
3642
+ bucket_arn="bucketArn"
3643
+ )
3531
3644
  )
3532
3645
  '''
3533
3646
  if __debug__:
3534
3647
  type_hints = typing.get_type_hints(_typecheckingstub__3fcaff05e87f499492c9c4ac6949463926f4833510675569310df4f8cb619149)
3535
3648
  check_type(argname="argument cloud_watch_logs_configuration", value=cloud_watch_logs_configuration, expected_type=type_hints["cloud_watch_logs_configuration"])
3536
3649
  check_type(argname="argument event_source", value=event_source, expected_type=type_hints["event_source"])
3650
+ check_type(argname="argument firehose_configuration", value=firehose_configuration, expected_type=type_hints["firehose_configuration"])
3537
3651
  check_type(argname="argument log_level", value=log_level, expected_type=type_hints["log_level"])
3652
+ check_type(argname="argument s3_configuration", value=s3_configuration, expected_type=type_hints["s3_configuration"])
3538
3653
  self._values: typing.Dict[builtins.str, typing.Any] = {}
3539
3654
  if cloud_watch_logs_configuration is not None:
3540
3655
  self._values["cloud_watch_logs_configuration"] = cloud_watch_logs_configuration
3541
3656
  if event_source is not None:
3542
3657
  self._values["event_source"] = event_source
3658
+ if firehose_configuration is not None:
3659
+ self._values["firehose_configuration"] = firehose_configuration
3543
3660
  if log_level is not None:
3544
3661
  self._values["log_level"] = log_level
3662
+ if s3_configuration is not None:
3663
+ self._values["s3_configuration"] = s3_configuration
3545
3664
 
3546
3665
  @builtins.property
3547
3666
  def cloud_watch_logs_configuration(
3548
3667
  self,
3549
3668
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLogDeliveryConfiguration.CloudWatchLogsConfigurationProperty"]]:
3550
- '''The CloudWatch logging destination of a user pool detailed activity logging configuration.
3669
+ '''Configuration for the CloudWatch log group destination of user pool detailed activity logging, or of user activity log export with advanced security features.
3551
3670
 
3552
3671
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-logconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfiguration-cloudwatchlogsconfiguration
3553
3672
  '''
@@ -3556,22 +3675,48 @@ class CfnLogDeliveryConfiguration(
3556
3675
 
3557
3676
  @builtins.property
3558
3677
  def event_source(self) -> typing.Optional[builtins.str]:
3559
- '''The source of events that your user pool sends for detailed activity logging.
3678
+ '''The source of events that your user pool sends for logging.
3679
+
3680
+ To send error-level logs about user notification activity, set to ``userNotification`` . To send info-level logs about advanced security features user activity, set to ``userAuthEvents`` .
3560
3681
 
3561
3682
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-logconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfiguration-eventsource
3562
3683
  '''
3563
3684
  result = self._values.get("event_source")
3564
3685
  return typing.cast(typing.Optional[builtins.str], result)
3565
3686
 
3687
+ @builtins.property
3688
+ def firehose_configuration(
3689
+ self,
3690
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLogDeliveryConfiguration.FirehoseConfigurationProperty"]]:
3691
+ '''Configuration for the Amazon Data Firehose stream destination of user activity log export with advanced security features.
3692
+
3693
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-logconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfiguration-firehoseconfiguration
3694
+ '''
3695
+ result = self._values.get("firehose_configuration")
3696
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLogDeliveryConfiguration.FirehoseConfigurationProperty"]], result)
3697
+
3566
3698
  @builtins.property
3567
3699
  def log_level(self) -> typing.Optional[builtins.str]:
3568
3700
  '''The ``errorlevel`` selection of logs that a user pool sends for detailed activity logging.
3569
3701
 
3702
+ To send ``userNotification`` activity with `information about message delivery <https://docs.aws.amazon.com/cognito/latest/developerguide/tracking-quotas-and-usage-in-cloud-watch-logs.html>`_ , choose ``ERROR`` with ``CloudWatchLogsConfiguration`` . To send ``userAuthEvents`` activity with user logs from advanced security features, choose ``INFO`` with one of ``CloudWatchLogsConfiguration`` , ``FirehoseConfiguration`` , or ``S3Configuration`` .
3703
+
3570
3704
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-logconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfiguration-loglevel
3571
3705
  '''
3572
3706
  result = self._values.get("log_level")
3573
3707
  return typing.cast(typing.Optional[builtins.str], result)
3574
3708
 
3709
+ @builtins.property
3710
+ def s3_configuration(
3711
+ self,
3712
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLogDeliveryConfiguration.S3ConfigurationProperty"]]:
3713
+ '''Configuration for the Amazon S3 bucket destination of user activity log export with advanced security features.
3714
+
3715
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-logconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfiguration-s3configuration
3716
+ '''
3717
+ result = self._values.get("s3_configuration")
3718
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLogDeliveryConfiguration.S3ConfigurationProperty"]], result)
3719
+
3575
3720
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3576
3721
  return isinstance(rhs, self.__class__) and rhs._values == self._values
3577
3722
 
@@ -3583,6 +3728,57 @@ class CfnLogDeliveryConfiguration(
3583
3728
  k + "=" + repr(v) for k, v in self._values.items()
3584
3729
  )
3585
3730
 
3731
+ @jsii.data_type(
3732
+ jsii_type="aws-cdk-lib.aws_cognito.CfnLogDeliveryConfiguration.S3ConfigurationProperty",
3733
+ jsii_struct_bases=[],
3734
+ name_mapping={"bucket_arn": "bucketArn"},
3735
+ )
3736
+ class S3ConfigurationProperty:
3737
+ def __init__(self, *, bucket_arn: typing.Optional[builtins.str] = None) -> None:
3738
+ '''Configuration for the Amazon S3 bucket destination of user activity log export with advanced security features.
3739
+
3740
+ :param bucket_arn: The ARN of an Amazon S3 bucket that's the destination for advanced security features log export.
3741
+
3742
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-s3configuration.html
3743
+ :exampleMetadata: fixture=_generated
3744
+
3745
+ Example::
3746
+
3747
+ # The code below shows an example of how to instantiate this type.
3748
+ # The values are placeholders you should change.
3749
+ from aws_cdk import aws_cognito as cognito
3750
+
3751
+ s3_configuration_property = cognito.CfnLogDeliveryConfiguration.S3ConfigurationProperty(
3752
+ bucket_arn="bucketArn"
3753
+ )
3754
+ '''
3755
+ if __debug__:
3756
+ type_hints = typing.get_type_hints(_typecheckingstub__35855407409f14c2401e604d3e25c83bb2d207f28090618c8174149befb93967)
3757
+ check_type(argname="argument bucket_arn", value=bucket_arn, expected_type=type_hints["bucket_arn"])
3758
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
3759
+ if bucket_arn is not None:
3760
+ self._values["bucket_arn"] = bucket_arn
3761
+
3762
+ @builtins.property
3763
+ def bucket_arn(self) -> typing.Optional[builtins.str]:
3764
+ '''The ARN of an Amazon S3 bucket that's the destination for advanced security features log export.
3765
+
3766
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-s3configuration.html#cfn-cognito-logdeliveryconfiguration-s3configuration-bucketarn
3767
+ '''
3768
+ result = self._values.get("bucket_arn")
3769
+ return typing.cast(typing.Optional[builtins.str], result)
3770
+
3771
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
3772
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
3773
+
3774
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
3775
+ return not (rhs == self)
3776
+
3777
+ def __repr__(self) -> str:
3778
+ return "S3ConfigurationProperty(%s)" % ", ".join(
3779
+ k + "=" + repr(v) for k, v in self._values.items()
3780
+ )
3781
+
3586
3782
 
3587
3783
  @jsii.data_type(
3588
3784
  jsii_type="aws-cdk-lib.aws_cognito.CfnLogDeliveryConfigurationProps",
@@ -3601,8 +3797,8 @@ class CfnLogDeliveryConfigurationProps:
3601
3797
  ) -> None:
3602
3798
  '''Properties for defining a ``CfnLogDeliveryConfiguration``.
3603
3799
 
3604
- :param user_pool_id: The ID of the user pool where you configured detailed activity logging.
3605
- :param log_configurations: The detailed activity logging destination of a user pool.
3800
+ :param user_pool_id: The ID of the user pool where you configured logging.
3801
+ :param log_configurations: A logging destination of a user pool. User pools can have multiple logging destinations for message-delivery and user-activity logs.
3606
3802
 
3607
3803
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html
3608
3804
  :exampleMetadata: fixture=_generated
@@ -3622,7 +3818,13 @@ class CfnLogDeliveryConfigurationProps:
3622
3818
  log_group_arn="logGroupArn"
3623
3819
  ),
3624
3820
  event_source="eventSource",
3625
- log_level="logLevel"
3821
+ firehose_configuration=cognito.CfnLogDeliveryConfiguration.FirehoseConfigurationProperty(
3822
+ stream_arn="streamArn"
3823
+ ),
3824
+ log_level="logLevel",
3825
+ s3_configuration=cognito.CfnLogDeliveryConfiguration.S3ConfigurationProperty(
3826
+ bucket_arn="bucketArn"
3827
+ )
3626
3828
  )]
3627
3829
  )
3628
3830
  '''
@@ -3638,7 +3840,7 @@ class CfnLogDeliveryConfigurationProps:
3638
3840
 
3639
3841
  @builtins.property
3640
3842
  def user_pool_id(self) -> builtins.str:
3641
- '''The ID of the user pool where you configured detailed activity logging.
3843
+ '''The ID of the user pool where you configured logging.
3642
3844
 
3643
3845
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html#cfn-cognito-logdeliveryconfiguration-userpoolid
3644
3846
  '''
@@ -3650,7 +3852,9 @@ class CfnLogDeliveryConfigurationProps:
3650
3852
  def log_configurations(
3651
3853
  self,
3652
3854
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnLogDeliveryConfiguration.LogConfigurationProperty]]]]:
3653
- '''The detailed activity logging destination of a user pool.
3855
+ '''A logging destination of a user pool.
3856
+
3857
+ User pools can have multiple logging destinations for message-delivery and user-activity logs.
3654
3858
 
3655
3859
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfigurations
3656
3860
  '''
@@ -3756,6 +3960,7 @@ class CfnUserPool(
3756
3960
  policies=cognito.CfnUserPool.PoliciesProperty(
3757
3961
  password_policy=cognito.CfnUserPool.PasswordPolicyProperty(
3758
3962
  minimum_length=123,
3963
+ password_history_size=123,
3759
3964
  require_lowercase=False,
3760
3965
  require_numbers=False,
3761
3966
  require_symbols=False,
@@ -3793,6 +3998,9 @@ class CfnUserPool(
3793
3998
  case_sensitive=False
3794
3999
  ),
3795
4000
  user_pool_add_ons=cognito.CfnUserPool.UserPoolAddOnsProperty(
4001
+ advanced_security_additional_flows=cognito.CfnUserPool.AdvancedSecurityAdditionalFlowsProperty(
4002
+ custom_auth_mode="customAuthMode"
4003
+ ),
3796
4004
  advanced_security_mode="advancedSecurityMode"
3797
4005
  ),
3798
4006
  user_pool_name="userPoolName",
@@ -3992,7 +4200,7 @@ class CfnUserPool(
3992
4200
  if __debug__:
3993
4201
  type_hints = typing.get_type_hints(_typecheckingstub__da99efaebeb66459045576f8f7065b4ef07804424df0623f038bbd64d754aacc)
3994
4202
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
3995
- jsii.set(self, "accountRecoverySetting", value)
4203
+ jsii.set(self, "accountRecoverySetting", value) # pyright: ignore[reportArgumentType]
3996
4204
 
3997
4205
  @builtins.property
3998
4206
  @jsii.member(jsii_name="adminCreateUserConfig")
@@ -4010,7 +4218,7 @@ class CfnUserPool(
4010
4218
  if __debug__:
4011
4219
  type_hints = typing.get_type_hints(_typecheckingstub__eaaa881203c259b6afa777936a9ca0096f8c631069a5ebd10e4ad0bd2c5229d4)
4012
4220
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4013
- jsii.set(self, "adminCreateUserConfig", value)
4221
+ jsii.set(self, "adminCreateUserConfig", value) # pyright: ignore[reportArgumentType]
4014
4222
 
4015
4223
  @builtins.property
4016
4224
  @jsii.member(jsii_name="aliasAttributes")
@@ -4029,7 +4237,7 @@ class CfnUserPool(
4029
4237
  if __debug__:
4030
4238
  type_hints = typing.get_type_hints(_typecheckingstub__cc3f2402f4f88736f7b230549074e49d6aee20281b90dbeeb4a0bb5c031e81d2)
4031
4239
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4032
- jsii.set(self, "aliasAttributes", value)
4240
+ jsii.set(self, "aliasAttributes", value) # pyright: ignore[reportArgumentType]
4033
4241
 
4034
4242
  @builtins.property
4035
4243
  @jsii.member(jsii_name="autoVerifiedAttributes")
@@ -4045,7 +4253,7 @@ class CfnUserPool(
4045
4253
  if __debug__:
4046
4254
  type_hints = typing.get_type_hints(_typecheckingstub__67b5b672ef087a1ed7f05991df5c156df67b6c51d144847ad452e5f52c4bcbe5)
4047
4255
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4048
- jsii.set(self, "autoVerifiedAttributes", value)
4256
+ jsii.set(self, "autoVerifiedAttributes", value) # pyright: ignore[reportArgumentType]
4049
4257
 
4050
4258
  @builtins.property
4051
4259
  @jsii.member(jsii_name="deletionProtection")
@@ -4058,7 +4266,7 @@ class CfnUserPool(
4058
4266
  if __debug__:
4059
4267
  type_hints = typing.get_type_hints(_typecheckingstub__455a3b25859643cc12071049235f2feb590ee06f70ec42d2cd83bc166d9e9c9f)
4060
4268
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4061
- jsii.set(self, "deletionProtection", value)
4269
+ jsii.set(self, "deletionProtection", value) # pyright: ignore[reportArgumentType]
4062
4270
 
4063
4271
  @builtins.property
4064
4272
  @jsii.member(jsii_name="deviceConfiguration")
@@ -4076,7 +4284,7 @@ class CfnUserPool(
4076
4284
  if __debug__:
4077
4285
  type_hints = typing.get_type_hints(_typecheckingstub__7eb821a70b459056b6d26722d06f8b948b315111a936804d8aba0e7ff07d13bf)
4078
4286
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4079
- jsii.set(self, "deviceConfiguration", value)
4287
+ jsii.set(self, "deviceConfiguration", value) # pyright: ignore[reportArgumentType]
4080
4288
 
4081
4289
  @builtins.property
4082
4290
  @jsii.member(jsii_name="emailConfiguration")
@@ -4094,7 +4302,7 @@ class CfnUserPool(
4094
4302
  if __debug__:
4095
4303
  type_hints = typing.get_type_hints(_typecheckingstub__32d0b53f74dc294b25f20f54bcdaf8477a3dfc8b505387d70f97f7febe6ae209)
4096
4304
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4097
- jsii.set(self, "emailConfiguration", value)
4305
+ jsii.set(self, "emailConfiguration", value) # pyright: ignore[reportArgumentType]
4098
4306
 
4099
4307
  @builtins.property
4100
4308
  @jsii.member(jsii_name="emailVerificationMessage")
@@ -4107,7 +4315,7 @@ class CfnUserPool(
4107
4315
  if __debug__:
4108
4316
  type_hints = typing.get_type_hints(_typecheckingstub__82f2fd26b3ec2cf294bdc8be0a8bbae7dbacd31abbdbead2a75eac9566efd913)
4109
4317
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4110
- jsii.set(self, "emailVerificationMessage", value)
4318
+ jsii.set(self, "emailVerificationMessage", value) # pyright: ignore[reportArgumentType]
4111
4319
 
4112
4320
  @builtins.property
4113
4321
  @jsii.member(jsii_name="emailVerificationSubject")
@@ -4120,7 +4328,7 @@ class CfnUserPool(
4120
4328
  if __debug__:
4121
4329
  type_hints = typing.get_type_hints(_typecheckingstub__e72167174985dddad82c3fffee5bd2e72f61e1a560cae39101e0f0bfa55a6c74)
4122
4330
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4123
- jsii.set(self, "emailVerificationSubject", value)
4331
+ jsii.set(self, "emailVerificationSubject", value) # pyright: ignore[reportArgumentType]
4124
4332
 
4125
4333
  @builtins.property
4126
4334
  @jsii.member(jsii_name="enabledMfas")
@@ -4133,7 +4341,7 @@ class CfnUserPool(
4133
4341
  if __debug__:
4134
4342
  type_hints = typing.get_type_hints(_typecheckingstub__043cb4b4941782c98919a853fc16bce8663c274df01579f9caeb0cc2a0e4c28a)
4135
4343
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4136
- jsii.set(self, "enabledMfas", value)
4344
+ jsii.set(self, "enabledMfas", value) # pyright: ignore[reportArgumentType]
4137
4345
 
4138
4346
  @builtins.property
4139
4347
  @jsii.member(jsii_name="lambdaConfig")
@@ -4151,7 +4359,7 @@ class CfnUserPool(
4151
4359
  if __debug__:
4152
4360
  type_hints = typing.get_type_hints(_typecheckingstub__8c7be7c0b2e4badc8ab3ce5fb0f327b3c26ebcb18bb31bc39a369f1c5fd64877)
4153
4361
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4154
- jsii.set(self, "lambdaConfig", value)
4362
+ jsii.set(self, "lambdaConfig", value) # pyright: ignore[reportArgumentType]
4155
4363
 
4156
4364
  @builtins.property
4157
4365
  @jsii.member(jsii_name="mfaConfiguration")
@@ -4167,7 +4375,7 @@ class CfnUserPool(
4167
4375
  if __debug__:
4168
4376
  type_hints = typing.get_type_hints(_typecheckingstub__02262b9b75d7d340810cfbaca693eeab69c3422010742739d64170db818cd1c5)
4169
4377
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4170
- jsii.set(self, "mfaConfiguration", value)
4378
+ jsii.set(self, "mfaConfiguration", value) # pyright: ignore[reportArgumentType]
4171
4379
 
4172
4380
  @builtins.property
4173
4381
  @jsii.member(jsii_name="policies")
@@ -4185,7 +4393,7 @@ class CfnUserPool(
4185
4393
  if __debug__:
4186
4394
  type_hints = typing.get_type_hints(_typecheckingstub__cc547f06b5c5b29499b9c1debda606db3aa38d2243e5ea837490a194d6ee562d)
4187
4395
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4188
- jsii.set(self, "policies", value)
4396
+ jsii.set(self, "policies", value) # pyright: ignore[reportArgumentType]
4189
4397
 
4190
4398
  @builtins.property
4191
4399
  @jsii.member(jsii_name="schema")
@@ -4206,7 +4414,7 @@ class CfnUserPool(
4206
4414
  if __debug__:
4207
4415
  type_hints = typing.get_type_hints(_typecheckingstub__f0e5b663faa7be35e96a6bb7a25793a3650b322376c4df96db6ab04037432ec8)
4208
4416
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4209
- jsii.set(self, "schema", value)
4417
+ jsii.set(self, "schema", value) # pyright: ignore[reportArgumentType]
4210
4418
 
4211
4419
  @builtins.property
4212
4420
  @jsii.member(jsii_name="smsAuthenticationMessage")
@@ -4219,7 +4427,7 @@ class CfnUserPool(
4219
4427
  if __debug__:
4220
4428
  type_hints = typing.get_type_hints(_typecheckingstub__b0033e90845dce5d5ed18e8cdb36333bda83daa85a52bf9b317447a2b26bb923)
4221
4429
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4222
- jsii.set(self, "smsAuthenticationMessage", value)
4430
+ jsii.set(self, "smsAuthenticationMessage", value) # pyright: ignore[reportArgumentType]
4223
4431
 
4224
4432
  @builtins.property
4225
4433
  @jsii.member(jsii_name="smsConfiguration")
@@ -4237,7 +4445,7 @@ class CfnUserPool(
4237
4445
  if __debug__:
4238
4446
  type_hints = typing.get_type_hints(_typecheckingstub__7770291e207a266c6092133c98f74702280b1b762eadf5a38996872fd156c65d)
4239
4447
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4240
- jsii.set(self, "smsConfiguration", value)
4448
+ jsii.set(self, "smsConfiguration", value) # pyright: ignore[reportArgumentType]
4241
4449
 
4242
4450
  @builtins.property
4243
4451
  @jsii.member(jsii_name="smsVerificationMessage")
@@ -4250,7 +4458,7 @@ class CfnUserPool(
4250
4458
  if __debug__:
4251
4459
  type_hints = typing.get_type_hints(_typecheckingstub__698f1380b9328c4a773190401993fe201c403d6b9d10c9d4d82aac1836766754)
4252
4460
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4253
- jsii.set(self, "smsVerificationMessage", value)
4461
+ jsii.set(self, "smsVerificationMessage", value) # pyright: ignore[reportArgumentType]
4254
4462
 
4255
4463
  @builtins.property
4256
4464
  @jsii.member(jsii_name="userAttributeUpdateSettings")
@@ -4268,7 +4476,7 @@ class CfnUserPool(
4268
4476
  if __debug__:
4269
4477
  type_hints = typing.get_type_hints(_typecheckingstub__092e452d396de66cdb0e7fad3a126dc88f5db6854ad416e350af1806e6465101)
4270
4478
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4271
- jsii.set(self, "userAttributeUpdateSettings", value)
4479
+ jsii.set(self, "userAttributeUpdateSettings", value) # pyright: ignore[reportArgumentType]
4272
4480
 
4273
4481
  @builtins.property
4274
4482
  @jsii.member(jsii_name="usernameAttributes")
@@ -4284,7 +4492,7 @@ class CfnUserPool(
4284
4492
  if __debug__:
4285
4493
  type_hints = typing.get_type_hints(_typecheckingstub__70fd85fe188c058531323dc3601df251b6fe7e56cbb9e62fb3d7b9f710f2597c)
4286
4494
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4287
- jsii.set(self, "usernameAttributes", value)
4495
+ jsii.set(self, "usernameAttributes", value) # pyright: ignore[reportArgumentType]
4288
4496
 
4289
4497
  @builtins.property
4290
4498
  @jsii.member(jsii_name="usernameConfiguration")
@@ -4302,7 +4510,7 @@ class CfnUserPool(
4302
4510
  if __debug__:
4303
4511
  type_hints = typing.get_type_hints(_typecheckingstub__5021fa9a3421f51a3fb6735566cc12e369ce2d1a11bc37330e0278145be57e21)
4304
4512
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4305
- jsii.set(self, "usernameConfiguration", value)
4513
+ jsii.set(self, "usernameConfiguration", value) # pyright: ignore[reportArgumentType]
4306
4514
 
4307
4515
  @builtins.property
4308
4516
  @jsii.member(jsii_name="userPoolAddOns")
@@ -4320,7 +4528,7 @@ class CfnUserPool(
4320
4528
  if __debug__:
4321
4529
  type_hints = typing.get_type_hints(_typecheckingstub__9387d4cd9039881cdf533356e5c6db2db0d1781598e0bee842b7485eca8c8fb2)
4322
4530
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4323
- jsii.set(self, "userPoolAddOns", value)
4531
+ jsii.set(self, "userPoolAddOns", value) # pyright: ignore[reportArgumentType]
4324
4532
 
4325
4533
  @builtins.property
4326
4534
  @jsii.member(jsii_name="userPoolName")
@@ -4333,7 +4541,7 @@ class CfnUserPool(
4333
4541
  if __debug__:
4334
4542
  type_hints = typing.get_type_hints(_typecheckingstub__a877e7ca735a6cf85b712d1b09de98f59adcdbef66ffacb8f24d5687caa6a37a)
4335
4543
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4336
- jsii.set(self, "userPoolName", value)
4544
+ jsii.set(self, "userPoolName", value) # pyright: ignore[reportArgumentType]
4337
4545
 
4338
4546
  @builtins.property
4339
4547
  @jsii.member(jsii_name="userPoolTagsRaw")
@@ -4346,7 +4554,7 @@ class CfnUserPool(
4346
4554
  if __debug__:
4347
4555
  type_hints = typing.get_type_hints(_typecheckingstub__c0ac7e31445bc4b1c75709a8cde084565899b188ecd5ed75a434afb3fecf7e3f)
4348
4556
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4349
- jsii.set(self, "userPoolTagsRaw", value)
4557
+ jsii.set(self, "userPoolTagsRaw", value) # pyright: ignore[reportArgumentType]
4350
4558
 
4351
4559
  @builtins.property
4352
4560
  @jsii.member(jsii_name="verificationMessageTemplate")
@@ -4364,7 +4572,7 @@ class CfnUserPool(
4364
4572
  if __debug__:
4365
4573
  type_hints = typing.get_type_hints(_typecheckingstub__9163d1ccc0cf294430031f1b8b5289192a6e048b52e8181e9ca8707780aac888)
4366
4574
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4367
- jsii.set(self, "verificationMessageTemplate", value)
4575
+ jsii.set(self, "verificationMessageTemplate", value) # pyright: ignore[reportArgumentType]
4368
4576
 
4369
4577
  @jsii.data_type(
4370
4578
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.AccountRecoverySettingProperty",
@@ -4534,6 +4742,59 @@ class CfnUserPool(
4534
4742
  k + "=" + repr(v) for k, v in self._values.items()
4535
4743
  )
4536
4744
 
4745
+ @jsii.data_type(
4746
+ jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.AdvancedSecurityAdditionalFlowsProperty",
4747
+ jsii_struct_bases=[],
4748
+ name_mapping={"custom_auth_mode": "customAuthMode"},
4749
+ )
4750
+ class AdvancedSecurityAdditionalFlowsProperty:
4751
+ def __init__(
4752
+ self,
4753
+ *,
4754
+ custom_auth_mode: typing.Optional[builtins.str] = None,
4755
+ ) -> None:
4756
+ '''
4757
+ :param custom_auth_mode:
4758
+
4759
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-advancedsecurityadditionalflows.html
4760
+ :exampleMetadata: fixture=_generated
4761
+
4762
+ Example::
4763
+
4764
+ # The code below shows an example of how to instantiate this type.
4765
+ # The values are placeholders you should change.
4766
+ from aws_cdk import aws_cognito as cognito
4767
+
4768
+ advanced_security_additional_flows_property = cognito.CfnUserPool.AdvancedSecurityAdditionalFlowsProperty(
4769
+ custom_auth_mode="customAuthMode"
4770
+ )
4771
+ '''
4772
+ if __debug__:
4773
+ type_hints = typing.get_type_hints(_typecheckingstub__13d285bc1be8956472b23e9b2a73954ac4f3700dcebec3973e7b6cbad4639935)
4774
+ check_type(argname="argument custom_auth_mode", value=custom_auth_mode, expected_type=type_hints["custom_auth_mode"])
4775
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4776
+ if custom_auth_mode is not None:
4777
+ self._values["custom_auth_mode"] = custom_auth_mode
4778
+
4779
+ @builtins.property
4780
+ def custom_auth_mode(self) -> typing.Optional[builtins.str]:
4781
+ '''
4782
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-advancedsecurityadditionalflows.html#cfn-cognito-userpool-advancedsecurityadditionalflows-customauthmode
4783
+ '''
4784
+ result = self._values.get("custom_auth_mode")
4785
+ return typing.cast(typing.Optional[builtins.str], result)
4786
+
4787
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4788
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4789
+
4790
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4791
+ return not (rhs == self)
4792
+
4793
+ def __repr__(self) -> str:
4794
+ return "AdvancedSecurityAdditionalFlowsProperty(%s)" % ", ".join(
4795
+ k + "=" + repr(v) for k, v in self._values.items()
4796
+ )
4797
+
4537
4798
  @jsii.data_type(
4538
4799
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.CustomEmailSenderProperty",
4539
4800
  jsii_struct_bases=[],
@@ -5379,6 +5640,7 @@ class CfnUserPool(
5379
5640
  jsii_struct_bases=[],
5380
5641
  name_mapping={
5381
5642
  "minimum_length": "minimumLength",
5643
+ "password_history_size": "passwordHistorySize",
5382
5644
  "require_lowercase": "requireLowercase",
5383
5645
  "require_numbers": "requireNumbers",
5384
5646
  "require_symbols": "requireSymbols",
@@ -5391,6 +5653,7 @@ class CfnUserPool(
5391
5653
  self,
5392
5654
  *,
5393
5655
  minimum_length: typing.Optional[jsii.Number] = None,
5656
+ password_history_size: typing.Optional[jsii.Number] = None,
5394
5657
  require_lowercase: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5395
5658
  require_numbers: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
5396
5659
  require_symbols: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -5400,6 +5663,7 @@ class CfnUserPool(
5400
5663
  '''The password policy type.
5401
5664
 
5402
5665
  :param minimum_length: The minimum length of the password in the policy that you have set. This value can't be less than 6.
5666
+ :param password_history_size: The number of previous passwords that you want Amazon Cognito to restrict each user from reusing. Users can't set a password that matches any of ``n`` previous passwords, where ``n`` is the value of ``PasswordHistorySize`` . Password history isn't enforced and isn't displayed in `DescribeUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html>`_ responses when you set this value to ``0`` or don't provide it. To activate this setting, `advanced security features <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html>`_ must be active in your user pool.
5403
5667
  :param require_lowercase: In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password.
5404
5668
  :param require_numbers: In the password policy that you have set, refers to whether you have required users to use at least one number in their password.
5405
5669
  :param require_symbols: In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password.
@@ -5417,6 +5681,7 @@ class CfnUserPool(
5417
5681
 
5418
5682
  password_policy_property = cognito.CfnUserPool.PasswordPolicyProperty(
5419
5683
  minimum_length=123,
5684
+ password_history_size=123,
5420
5685
  require_lowercase=False,
5421
5686
  require_numbers=False,
5422
5687
  require_symbols=False,
@@ -5427,6 +5692,7 @@ class CfnUserPool(
5427
5692
  if __debug__:
5428
5693
  type_hints = typing.get_type_hints(_typecheckingstub__388245a445a407251a06f0f49f236a6b0a76ff7177f23a1d5cd9d4ffa819b2c0)
5429
5694
  check_type(argname="argument minimum_length", value=minimum_length, expected_type=type_hints["minimum_length"])
5695
+ check_type(argname="argument password_history_size", value=password_history_size, expected_type=type_hints["password_history_size"])
5430
5696
  check_type(argname="argument require_lowercase", value=require_lowercase, expected_type=type_hints["require_lowercase"])
5431
5697
  check_type(argname="argument require_numbers", value=require_numbers, expected_type=type_hints["require_numbers"])
5432
5698
  check_type(argname="argument require_symbols", value=require_symbols, expected_type=type_hints["require_symbols"])
@@ -5435,6 +5701,8 @@ class CfnUserPool(
5435
5701
  self._values: typing.Dict[builtins.str, typing.Any] = {}
5436
5702
  if minimum_length is not None:
5437
5703
  self._values["minimum_length"] = minimum_length
5704
+ if password_history_size is not None:
5705
+ self._values["password_history_size"] = password_history_size
5438
5706
  if require_lowercase is not None:
5439
5707
  self._values["require_lowercase"] = require_lowercase
5440
5708
  if require_numbers is not None:
@@ -5457,6 +5725,19 @@ class CfnUserPool(
5457
5725
  result = self._values.get("minimum_length")
5458
5726
  return typing.cast(typing.Optional[jsii.Number], result)
5459
5727
 
5728
+ @builtins.property
5729
+ def password_history_size(self) -> typing.Optional[jsii.Number]:
5730
+ '''The number of previous passwords that you want Amazon Cognito to restrict each user from reusing.
5731
+
5732
+ Users can't set a password that matches any of ``n`` previous passwords, where ``n`` is the value of ``PasswordHistorySize`` .
5733
+
5734
+ Password history isn't enforced and isn't displayed in `DescribeUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html>`_ responses when you set this value to ``0`` or don't provide it. To activate this setting, `advanced security features <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html>`_ must be active in your user pool.
5735
+
5736
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-passwordhistorysize
5737
+ '''
5738
+ result = self._values.get("password_history_size")
5739
+ return typing.cast(typing.Optional[jsii.Number], result)
5740
+
5460
5741
  @builtins.property
5461
5742
  def require_lowercase(
5462
5743
  self,
@@ -5553,6 +5834,7 @@ class CfnUserPool(
5553
5834
  policies_property = cognito.CfnUserPool.PoliciesProperty(
5554
5835
  password_policy=cognito.CfnUserPool.PasswordPolicyProperty(
5555
5836
  minimum_length=123,
5837
+ password_history_size=123,
5556
5838
  require_lowercase=False,
5557
5839
  require_numbers=False,
5558
5840
  require_symbols=False,
@@ -6165,12 +6447,16 @@ class CfnUserPool(
6165
6447
  @jsii.data_type(
6166
6448
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.UserPoolAddOnsProperty",
6167
6449
  jsii_struct_bases=[],
6168
- name_mapping={"advanced_security_mode": "advancedSecurityMode"},
6450
+ name_mapping={
6451
+ "advanced_security_additional_flows": "advancedSecurityAdditionalFlows",
6452
+ "advanced_security_mode": "advancedSecurityMode",
6453
+ },
6169
6454
  )
6170
6455
  class UserPoolAddOnsProperty:
6171
6456
  def __init__(
6172
6457
  self,
6173
6458
  *,
6459
+ advanced_security_additional_flows: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPool.AdvancedSecurityAdditionalFlowsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6174
6460
  advanced_security_mode: typing.Optional[builtins.str] = None,
6175
6461
  ) -> None:
6176
6462
  '''User pool add-ons.
@@ -6179,7 +6465,8 @@ class CfnUserPool(
6179
6465
 
6180
6466
  For more information, see `Adding advanced security to a user pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html>`_ .
6181
6467
 
6182
- :param advanced_security_mode: The operating mode of advanced security features in your user pool.
6468
+ :param advanced_security_additional_flows:
6469
+ :param advanced_security_mode: The operating mode of advanced security features for standard authentication types in your user pool, including username-password and secure remote password (SRP) authentication.
6183
6470
 
6184
6471
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html
6185
6472
  :exampleMetadata: fixture=_generated
@@ -6191,19 +6478,35 @@ class CfnUserPool(
6191
6478
  from aws_cdk import aws_cognito as cognito
6192
6479
 
6193
6480
  user_pool_add_ons_property = cognito.CfnUserPool.UserPoolAddOnsProperty(
6481
+ advanced_security_additional_flows=cognito.CfnUserPool.AdvancedSecurityAdditionalFlowsProperty(
6482
+ custom_auth_mode="customAuthMode"
6483
+ ),
6194
6484
  advanced_security_mode="advancedSecurityMode"
6195
6485
  )
6196
6486
  '''
6197
6487
  if __debug__:
6198
6488
  type_hints = typing.get_type_hints(_typecheckingstub__134d2b8e9ae3077b4c1f940aca55cabaa1dcdc1e12d0cd06c074768ee425ce71)
6489
+ check_type(argname="argument advanced_security_additional_flows", value=advanced_security_additional_flows, expected_type=type_hints["advanced_security_additional_flows"])
6199
6490
  check_type(argname="argument advanced_security_mode", value=advanced_security_mode, expected_type=type_hints["advanced_security_mode"])
6200
6491
  self._values: typing.Dict[builtins.str, typing.Any] = {}
6492
+ if advanced_security_additional_flows is not None:
6493
+ self._values["advanced_security_additional_flows"] = advanced_security_additional_flows
6201
6494
  if advanced_security_mode is not None:
6202
6495
  self._values["advanced_security_mode"] = advanced_security_mode
6203
6496
 
6497
+ @builtins.property
6498
+ def advanced_security_additional_flows(
6499
+ self,
6500
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.AdvancedSecurityAdditionalFlowsProperty"]]:
6501
+ '''
6502
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html#cfn-cognito-userpool-userpooladdons-advancedsecurityadditionalflows
6503
+ '''
6504
+ result = self._values.get("advanced_security_additional_flows")
6505
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.AdvancedSecurityAdditionalFlowsProperty"]], result)
6506
+
6204
6507
  @builtins.property
6205
6508
  def advanced_security_mode(self) -> typing.Optional[builtins.str]:
6206
- '''The operating mode of advanced security features in your user pool.
6509
+ '''The operating mode of advanced security features for standard authentication types in your user pool, including username-password and secure remote password (SRP) authentication.
6207
6510
 
6208
6511
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html#cfn-cognito-userpool-userpooladdons-advancedsecuritymode
6209
6512
  '''
@@ -6664,7 +6967,7 @@ class CfnUserPoolClient(
6664
6967
  if __debug__:
6665
6968
  type_hints = typing.get_type_hints(_typecheckingstub__1b25b3f1d7835d1e1c5594b9c3dffd6b2c3b2773f547e55b57c8e0919e93a204)
6666
6969
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6667
- jsii.set(self, "userPoolId", value)
6970
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
6668
6971
 
6669
6972
  @builtins.property
6670
6973
  @jsii.member(jsii_name="accessTokenValidity")
@@ -6677,7 +6980,7 @@ class CfnUserPoolClient(
6677
6980
  if __debug__:
6678
6981
  type_hints = typing.get_type_hints(_typecheckingstub__9c22b177f80150859dd3fc0ec6040fd86d6718dde2ccbb4e6e2993f4f0179616)
6679
6982
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6680
- jsii.set(self, "accessTokenValidity", value)
6983
+ jsii.set(self, "accessTokenValidity", value) # pyright: ignore[reportArgumentType]
6681
6984
 
6682
6985
  @builtins.property
6683
6986
  @jsii.member(jsii_name="allowedOAuthFlows")
@@ -6693,7 +6996,7 @@ class CfnUserPoolClient(
6693
6996
  if __debug__:
6694
6997
  type_hints = typing.get_type_hints(_typecheckingstub__a4e6becf32885d0d881b59d33ec61072e6d7812d751551a739cadf93d3754c73)
6695
6998
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6696
- jsii.set(self, "allowedOAuthFlows", value)
6999
+ jsii.set(self, "allowedOAuthFlows", value) # pyright: ignore[reportArgumentType]
6697
7000
 
6698
7001
  @builtins.property
6699
7002
  @jsii.member(jsii_name="allowedOAuthFlowsUserPoolClient")
@@ -6711,7 +7014,7 @@ class CfnUserPoolClient(
6711
7014
  if __debug__:
6712
7015
  type_hints = typing.get_type_hints(_typecheckingstub__21873ac965a2fe0f5bdf6747b41efd7cf29a1e20f79888c68d664a70a929167f)
6713
7016
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6714
- jsii.set(self, "allowedOAuthFlowsUserPoolClient", value)
7017
+ jsii.set(self, "allowedOAuthFlowsUserPoolClient", value) # pyright: ignore[reportArgumentType]
6715
7018
 
6716
7019
  @builtins.property
6717
7020
  @jsii.member(jsii_name="allowedOAuthScopes")
@@ -6727,7 +7030,7 @@ class CfnUserPoolClient(
6727
7030
  if __debug__:
6728
7031
  type_hints = typing.get_type_hints(_typecheckingstub__96cd6c659670b16fdec9188b6f46c9069df3c2c6e960eb82c804a6eee58c0676)
6729
7032
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6730
- jsii.set(self, "allowedOAuthScopes", value)
7033
+ jsii.set(self, "allowedOAuthScopes", value) # pyright: ignore[reportArgumentType]
6731
7034
 
6732
7035
  @builtins.property
6733
7036
  @jsii.member(jsii_name="analyticsConfiguration")
@@ -6745,7 +7048,7 @@ class CfnUserPoolClient(
6745
7048
  if __debug__:
6746
7049
  type_hints = typing.get_type_hints(_typecheckingstub__20f4094b4b15bf8a99ce9e0a2bb559a164606de26b84fc2bb8855aa07e1b624b)
6747
7050
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6748
- jsii.set(self, "analyticsConfiguration", value)
7051
+ jsii.set(self, "analyticsConfiguration", value) # pyright: ignore[reportArgumentType]
6749
7052
 
6750
7053
  @builtins.property
6751
7054
  @jsii.member(jsii_name="authSessionValidity")
@@ -6758,7 +7061,7 @@ class CfnUserPoolClient(
6758
7061
  if __debug__:
6759
7062
  type_hints = typing.get_type_hints(_typecheckingstub__c933dc37f47234e60d586123e1b18e9c28a667f37c5d5427aa85b4409376ea07)
6760
7063
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6761
- jsii.set(self, "authSessionValidity", value)
7064
+ jsii.set(self, "authSessionValidity", value) # pyright: ignore[reportArgumentType]
6762
7065
 
6763
7066
  @builtins.property
6764
7067
  @jsii.member(jsii_name="callbackUrLs")
@@ -6771,7 +7074,7 @@ class CfnUserPoolClient(
6771
7074
  if __debug__:
6772
7075
  type_hints = typing.get_type_hints(_typecheckingstub__d014efcb2549aac6515f36258ccaf4ecec07ac09bca5d035df6559947c4ac2c1)
6773
7076
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6774
- jsii.set(self, "callbackUrLs", value)
7077
+ jsii.set(self, "callbackUrLs", value) # pyright: ignore[reportArgumentType]
6775
7078
 
6776
7079
  @builtins.property
6777
7080
  @jsii.member(jsii_name="clientName")
@@ -6784,7 +7087,7 @@ class CfnUserPoolClient(
6784
7087
  if __debug__:
6785
7088
  type_hints = typing.get_type_hints(_typecheckingstub__0137f7e9c73233d74a2df7b39c8c4bb8d81b22d045b5741333e0b7f4cad603ba)
6786
7089
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6787
- jsii.set(self, "clientName", value)
7090
+ jsii.set(self, "clientName", value) # pyright: ignore[reportArgumentType]
6788
7091
 
6789
7092
  @builtins.property
6790
7093
  @jsii.member(jsii_name="defaultRedirectUri")
@@ -6797,7 +7100,7 @@ class CfnUserPoolClient(
6797
7100
  if __debug__:
6798
7101
  type_hints = typing.get_type_hints(_typecheckingstub__dfdc028ae25dd39e3553917a9d4209340b6c920f4ae1efe20b0c2c400f79d71b)
6799
7102
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6800
- jsii.set(self, "defaultRedirectUri", value)
7103
+ jsii.set(self, "defaultRedirectUri", value) # pyright: ignore[reportArgumentType]
6801
7104
 
6802
7105
  @builtins.property
6803
7106
  @jsii.member(jsii_name="enablePropagateAdditionalUserContextData")
@@ -6815,7 +7118,7 @@ class CfnUserPoolClient(
6815
7118
  if __debug__:
6816
7119
  type_hints = typing.get_type_hints(_typecheckingstub__1c6e219444196075c25c38bf5995f93c8a7cec9a53523c8ac01a848afffefd1c)
6817
7120
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6818
- jsii.set(self, "enablePropagateAdditionalUserContextData", value)
7121
+ jsii.set(self, "enablePropagateAdditionalUserContextData", value) # pyright: ignore[reportArgumentType]
6819
7122
 
6820
7123
  @builtins.property
6821
7124
  @jsii.member(jsii_name="enableTokenRevocation")
@@ -6836,7 +7139,7 @@ class CfnUserPoolClient(
6836
7139
  if __debug__:
6837
7140
  type_hints = typing.get_type_hints(_typecheckingstub__fb0c7908c7db28417fc0f3140fa5d8ceb244c98f8aa1729c6e2945ed0e1c43cb)
6838
7141
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6839
- jsii.set(self, "enableTokenRevocation", value)
7142
+ jsii.set(self, "enableTokenRevocation", value) # pyright: ignore[reportArgumentType]
6840
7143
 
6841
7144
  @builtins.property
6842
7145
  @jsii.member(jsii_name="explicitAuthFlows")
@@ -6852,7 +7155,7 @@ class CfnUserPoolClient(
6852
7155
  if __debug__:
6853
7156
  type_hints = typing.get_type_hints(_typecheckingstub__40565d8b2082bb82a66f2c2881526bbe7e4d5f0f2f08ba6dc2976e98f59f7c8f)
6854
7157
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6855
- jsii.set(self, "explicitAuthFlows", value)
7158
+ jsii.set(self, "explicitAuthFlows", value) # pyright: ignore[reportArgumentType]
6856
7159
 
6857
7160
  @builtins.property
6858
7161
  @jsii.member(jsii_name="generateSecret")
@@ -6870,7 +7173,7 @@ class CfnUserPoolClient(
6870
7173
  if __debug__:
6871
7174
  type_hints = typing.get_type_hints(_typecheckingstub__957788b79d759b4d61639c557602d69d56690104c1f0aaa40f50729534e68c16)
6872
7175
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6873
- jsii.set(self, "generateSecret", value)
7176
+ jsii.set(self, "generateSecret", value) # pyright: ignore[reportArgumentType]
6874
7177
 
6875
7178
  @builtins.property
6876
7179
  @jsii.member(jsii_name="idTokenValidity")
@@ -6883,7 +7186,7 @@ class CfnUserPoolClient(
6883
7186
  if __debug__:
6884
7187
  type_hints = typing.get_type_hints(_typecheckingstub__fc02869bb5973b6100efb5c37bedca5b74e381117419f1bac379398aaffc2d11)
6885
7188
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6886
- jsii.set(self, "idTokenValidity", value)
7189
+ jsii.set(self, "idTokenValidity", value) # pyright: ignore[reportArgumentType]
6887
7190
 
6888
7191
  @builtins.property
6889
7192
  @jsii.member(jsii_name="logoutUrLs")
@@ -6896,7 +7199,7 @@ class CfnUserPoolClient(
6896
7199
  if __debug__:
6897
7200
  type_hints = typing.get_type_hints(_typecheckingstub__794ffdcf30a3962d0a3f7e5f05ddfd74a6fef4d201947dd6201c7a686f541188)
6898
7201
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6899
- jsii.set(self, "logoutUrLs", value)
7202
+ jsii.set(self, "logoutUrLs", value) # pyright: ignore[reportArgumentType]
6900
7203
 
6901
7204
  @builtins.property
6902
7205
  @jsii.member(jsii_name="preventUserExistenceErrors")
@@ -6912,7 +7215,7 @@ class CfnUserPoolClient(
6912
7215
  if __debug__:
6913
7216
  type_hints = typing.get_type_hints(_typecheckingstub__69feb00103083800cef9fe6cb134d68a642b9492532f75a271736355bf5da06d)
6914
7217
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6915
- jsii.set(self, "preventUserExistenceErrors", value)
7218
+ jsii.set(self, "preventUserExistenceErrors", value) # pyright: ignore[reportArgumentType]
6916
7219
 
6917
7220
  @builtins.property
6918
7221
  @jsii.member(jsii_name="readAttributes")
@@ -6928,7 +7231,7 @@ class CfnUserPoolClient(
6928
7231
  if __debug__:
6929
7232
  type_hints = typing.get_type_hints(_typecheckingstub__d0450b9a1c4091ecc8dc0197c1b8b862535cb1a705df2e839371c83db2f684ba)
6930
7233
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6931
- jsii.set(self, "readAttributes", value)
7234
+ jsii.set(self, "readAttributes", value) # pyright: ignore[reportArgumentType]
6932
7235
 
6933
7236
  @builtins.property
6934
7237
  @jsii.member(jsii_name="refreshTokenValidity")
@@ -6941,7 +7244,7 @@ class CfnUserPoolClient(
6941
7244
  if __debug__:
6942
7245
  type_hints = typing.get_type_hints(_typecheckingstub__ffd4a00853573a9063ab6bfb4bd488904d41fa8453a02d33cc8b44f6638125c5)
6943
7246
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6944
- jsii.set(self, "refreshTokenValidity", value)
7247
+ jsii.set(self, "refreshTokenValidity", value) # pyright: ignore[reportArgumentType]
6945
7248
 
6946
7249
  @builtins.property
6947
7250
  @jsii.member(jsii_name="supportedIdentityProviders")
@@ -6959,7 +7262,7 @@ class CfnUserPoolClient(
6959
7262
  if __debug__:
6960
7263
  type_hints = typing.get_type_hints(_typecheckingstub__97736930ca8413d8b00c7851c37dde3d55fed9ca3778ecbfeb14cf25389e28c8)
6961
7264
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6962
- jsii.set(self, "supportedIdentityProviders", value)
7265
+ jsii.set(self, "supportedIdentityProviders", value) # pyright: ignore[reportArgumentType]
6963
7266
 
6964
7267
  @builtins.property
6965
7268
  @jsii.member(jsii_name="tokenValidityUnits")
@@ -6977,7 +7280,7 @@ class CfnUserPoolClient(
6977
7280
  if __debug__:
6978
7281
  type_hints = typing.get_type_hints(_typecheckingstub__dd54ee51ef07c33acd2cbd8e02b234784fa5a6a1c7879a29066514822e4147fb)
6979
7282
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6980
- jsii.set(self, "tokenValidityUnits", value)
7283
+ jsii.set(self, "tokenValidityUnits", value) # pyright: ignore[reportArgumentType]
6981
7284
 
6982
7285
  @builtins.property
6983
7286
  @jsii.member(jsii_name="writeAttributes")
@@ -6993,7 +7296,7 @@ class CfnUserPoolClient(
6993
7296
  if __debug__:
6994
7297
  type_hints = typing.get_type_hints(_typecheckingstub__d9ed7bc7a68b64df6709c00059cae06196e10a1a3cf55f0554b70dc90d3f9945)
6995
7298
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6996
- jsii.set(self, "writeAttributes", value)
7299
+ jsii.set(self, "writeAttributes", value) # pyright: ignore[reportArgumentType]
6997
7300
 
6998
7301
  @jsii.data_type(
6999
7302
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPoolClient.AnalyticsConfigurationProperty",
@@ -7867,7 +8170,7 @@ class CfnUserPoolDomain(
7867
8170
  if __debug__:
7868
8171
  type_hints = typing.get_type_hints(_typecheckingstub__60984af4b9f95693c974811dba163dc41c64348226be0621cde58067d75c2a75)
7869
8172
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7870
- jsii.set(self, "domain", value)
8173
+ jsii.set(self, "domain", value) # pyright: ignore[reportArgumentType]
7871
8174
 
7872
8175
  @builtins.property
7873
8176
  @jsii.member(jsii_name="userPoolId")
@@ -7880,7 +8183,7 @@ class CfnUserPoolDomain(
7880
8183
  if __debug__:
7881
8184
  type_hints = typing.get_type_hints(_typecheckingstub__01784117c77cfebe2ef420bdb95cfa641714c4080a504ef08ebfbc5cb9e64418)
7882
8185
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7883
- jsii.set(self, "userPoolId", value)
8186
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
7884
8187
 
7885
8188
  @builtins.property
7886
8189
  @jsii.member(jsii_name="customDomainConfig")
@@ -7898,7 +8201,7 @@ class CfnUserPoolDomain(
7898
8201
  if __debug__:
7899
8202
  type_hints = typing.get_type_hints(_typecheckingstub__534c4957c36eac9a89217ff1b762b65d25e33f26c5048218fc840dc7f7ee2b0e)
7900
8203
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
7901
- jsii.set(self, "customDomainConfig", value)
8204
+ jsii.set(self, "customDomainConfig", value) # pyright: ignore[reportArgumentType]
7902
8205
 
7903
8206
  @jsii.data_type(
7904
8207
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPoolDomain.CustomDomainConfigTypeProperty",
@@ -8170,7 +8473,7 @@ class CfnUserPoolGroup(
8170
8473
  if __debug__:
8171
8474
  type_hints = typing.get_type_hints(_typecheckingstub__ca8402c546b7f090c567d019103e9d2674bfb6e4c199608669a4b2acc2afc5f3)
8172
8475
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8173
- jsii.set(self, "userPoolId", value)
8476
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
8174
8477
 
8175
8478
  @builtins.property
8176
8479
  @jsii.member(jsii_name="description")
@@ -8183,7 +8486,7 @@ class CfnUserPoolGroup(
8183
8486
  if __debug__:
8184
8487
  type_hints = typing.get_type_hints(_typecheckingstub__7bda9e548a82a5206aec39e356f410d438353851dcd1f974bd59be186f5ff66a)
8185
8488
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8186
- jsii.set(self, "description", value)
8489
+ jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
8187
8490
 
8188
8491
  @builtins.property
8189
8492
  @jsii.member(jsii_name="groupName")
@@ -8196,7 +8499,7 @@ class CfnUserPoolGroup(
8196
8499
  if __debug__:
8197
8500
  type_hints = typing.get_type_hints(_typecheckingstub__50cee63463b0a00e9516a517c3ecba89edae39efb6890c70ea606f9e3cfca0bc)
8198
8501
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8199
- jsii.set(self, "groupName", value)
8502
+ jsii.set(self, "groupName", value) # pyright: ignore[reportArgumentType]
8200
8503
 
8201
8504
  @builtins.property
8202
8505
  @jsii.member(jsii_name="precedence")
@@ -8209,7 +8512,7 @@ class CfnUserPoolGroup(
8209
8512
  if __debug__:
8210
8513
  type_hints = typing.get_type_hints(_typecheckingstub__a1542aa260237dd220738bd8c2fdd54d12089e9f7ff0f7f70cd927c2f8d90da2)
8211
8514
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8212
- jsii.set(self, "precedence", value)
8515
+ jsii.set(self, "precedence", value) # pyright: ignore[reportArgumentType]
8213
8516
 
8214
8517
  @builtins.property
8215
8518
  @jsii.member(jsii_name="roleArn")
@@ -8222,7 +8525,7 @@ class CfnUserPoolGroup(
8222
8525
  if __debug__:
8223
8526
  type_hints = typing.get_type_hints(_typecheckingstub__3a22fc1c6f27de296195da5e404a5a9d43aea635361d630ed9185ab2d04e6ee2)
8224
8527
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8225
- jsii.set(self, "roleArn", value)
8528
+ jsii.set(self, "roleArn", value) # pyright: ignore[reportArgumentType]
8226
8529
 
8227
8530
 
8228
8531
  @jsii.data_type(
@@ -8483,7 +8786,7 @@ class CfnUserPoolIdentityProvider(
8483
8786
  if __debug__:
8484
8787
  type_hints = typing.get_type_hints(_typecheckingstub__03fef1ca3436f487bdb2ac4c72e914ca702f01a40d12470aaa64c77a0f7e15a2)
8485
8788
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8486
- jsii.set(self, "providerName", value)
8789
+ jsii.set(self, "providerName", value) # pyright: ignore[reportArgumentType]
8487
8790
 
8488
8791
  @builtins.property
8489
8792
  @jsii.member(jsii_name="providerType")
@@ -8496,7 +8799,7 @@ class CfnUserPoolIdentityProvider(
8496
8799
  if __debug__:
8497
8800
  type_hints = typing.get_type_hints(_typecheckingstub__1ee8fc97c7ce3a7223eabd6be18090c6fec027c8b81ecf420c175e278dafb535)
8498
8801
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8499
- jsii.set(self, "providerType", value)
8802
+ jsii.set(self, "providerType", value) # pyright: ignore[reportArgumentType]
8500
8803
 
8501
8804
  @builtins.property
8502
8805
  @jsii.member(jsii_name="userPoolId")
@@ -8509,7 +8812,7 @@ class CfnUserPoolIdentityProvider(
8509
8812
  if __debug__:
8510
8813
  type_hints = typing.get_type_hints(_typecheckingstub__8f109ed40a77a3077cbab955821323c4293e2697420abd221b2032bb4abc2edb)
8511
8814
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8512
- jsii.set(self, "userPoolId", value)
8815
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
8513
8816
 
8514
8817
  @builtins.property
8515
8818
  @jsii.member(jsii_name="attributeMapping")
@@ -8522,7 +8825,7 @@ class CfnUserPoolIdentityProvider(
8522
8825
  if __debug__:
8523
8826
  type_hints = typing.get_type_hints(_typecheckingstub__bb44cf93ad9714e2bf7765a12f95e3a12d5a4b89bee8d2de779a247dbd587039)
8524
8827
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8525
- jsii.set(self, "attributeMapping", value)
8828
+ jsii.set(self, "attributeMapping", value) # pyright: ignore[reportArgumentType]
8526
8829
 
8527
8830
  @builtins.property
8528
8831
  @jsii.member(jsii_name="idpIdentifiers")
@@ -8538,7 +8841,7 @@ class CfnUserPoolIdentityProvider(
8538
8841
  if __debug__:
8539
8842
  type_hints = typing.get_type_hints(_typecheckingstub__7662247fd2cd01f6776c3a84fedff308a45861e95cabe426cb256482aaeaead5)
8540
8843
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8541
- jsii.set(self, "idpIdentifiers", value)
8844
+ jsii.set(self, "idpIdentifiers", value) # pyright: ignore[reportArgumentType]
8542
8845
 
8543
8846
  @builtins.property
8544
8847
  @jsii.member(jsii_name="providerDetails")
@@ -8551,7 +8854,7 @@ class CfnUserPoolIdentityProvider(
8551
8854
  if __debug__:
8552
8855
  type_hints = typing.get_type_hints(_typecheckingstub__dd9b80463fd736be9b8b32bf8d2368b0c44578e3b056d45e068ca1e5fdfdb299)
8553
8856
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8554
- jsii.set(self, "providerDetails", value)
8857
+ jsii.set(self, "providerDetails", value) # pyright: ignore[reportArgumentType]
8555
8858
 
8556
8859
 
8557
8860
  @jsii.data_type(
@@ -8892,6 +9195,7 @@ class CfnUserPoolProps:
8892
9195
  policies=cognito.CfnUserPool.PoliciesProperty(
8893
9196
  password_policy=cognito.CfnUserPool.PasswordPolicyProperty(
8894
9197
  minimum_length=123,
9198
+ password_history_size=123,
8895
9199
  require_lowercase=False,
8896
9200
  require_numbers=False,
8897
9201
  require_symbols=False,
@@ -8929,6 +9233,9 @@ class CfnUserPoolProps:
8929
9233
  case_sensitive=False
8930
9234
  ),
8931
9235
  user_pool_add_ons=cognito.CfnUserPool.UserPoolAddOnsProperty(
9236
+ advanced_security_additional_flows=cognito.CfnUserPool.AdvancedSecurityAdditionalFlowsProperty(
9237
+ custom_auth_mode="customAuthMode"
9238
+ ),
8932
9239
  advanced_security_mode="advancedSecurityMode"
8933
9240
  ),
8934
9241
  user_pool_name="userPoolName",
@@ -9447,7 +9754,7 @@ class CfnUserPoolResourceServer(
9447
9754
  if __debug__:
9448
9755
  type_hints = typing.get_type_hints(_typecheckingstub__0784cedf1608a8758f1c44b7e3aacb96f3672ac970fc80673ae8a281382775da)
9449
9756
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9450
- jsii.set(self, "identifier", value)
9757
+ jsii.set(self, "identifier", value) # pyright: ignore[reportArgumentType]
9451
9758
 
9452
9759
  @builtins.property
9453
9760
  @jsii.member(jsii_name="name")
@@ -9460,7 +9767,7 @@ class CfnUserPoolResourceServer(
9460
9767
  if __debug__:
9461
9768
  type_hints = typing.get_type_hints(_typecheckingstub__091a350381e1228e09795024704316d40f0bce3ead6bff97b512b103b8bb1ee6)
9462
9769
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9463
- jsii.set(self, "name", value)
9770
+ jsii.set(self, "name", value) # pyright: ignore[reportArgumentType]
9464
9771
 
9465
9772
  @builtins.property
9466
9773
  @jsii.member(jsii_name="userPoolId")
@@ -9473,7 +9780,7 @@ class CfnUserPoolResourceServer(
9473
9780
  if __debug__:
9474
9781
  type_hints = typing.get_type_hints(_typecheckingstub__050918e589a6f0ea5348f6c36799b16672c9d8127f2e78e25499ac0ee092b4fa)
9475
9782
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9476
- jsii.set(self, "userPoolId", value)
9783
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
9477
9784
 
9478
9785
  @builtins.property
9479
9786
  @jsii.member(jsii_name="scopes")
@@ -9491,7 +9798,7 @@ class CfnUserPoolResourceServer(
9491
9798
  if __debug__:
9492
9799
  type_hints = typing.get_type_hints(_typecheckingstub__160fcb672d8fdc3b92b02edf7b6742270c60fcaadc1b0091d06e1413b15e3583)
9493
9800
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9494
- jsii.set(self, "scopes", value)
9801
+ jsii.set(self, "scopes", value) # pyright: ignore[reportArgumentType]
9495
9802
 
9496
9803
  @jsii.data_type(
9497
9804
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPoolResourceServer.ResourceServerScopeTypeProperty",
@@ -9852,7 +10159,7 @@ class CfnUserPoolRiskConfigurationAttachment(
9852
10159
  if __debug__:
9853
10160
  type_hints = typing.get_type_hints(_typecheckingstub__3a5b05e9407391c0557e201e4e58dfac89a06f57c4adc732162c79169e069fc0)
9854
10161
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9855
- jsii.set(self, "clientId", value)
10162
+ jsii.set(self, "clientId", value) # pyright: ignore[reportArgumentType]
9856
10163
 
9857
10164
  @builtins.property
9858
10165
  @jsii.member(jsii_name="userPoolId")
@@ -9865,7 +10172,7 @@ class CfnUserPoolRiskConfigurationAttachment(
9865
10172
  if __debug__:
9866
10173
  type_hints = typing.get_type_hints(_typecheckingstub__258e8ccdb5a39874f49d032edd3b21eafc55726e815291b2ba0aeb3d1e5e57f2)
9867
10174
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9868
- jsii.set(self, "userPoolId", value)
10175
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
9869
10176
 
9870
10177
  @builtins.property
9871
10178
  @jsii.member(jsii_name="accountTakeoverRiskConfiguration")
@@ -9883,7 +10190,7 @@ class CfnUserPoolRiskConfigurationAttachment(
9883
10190
  if __debug__:
9884
10191
  type_hints = typing.get_type_hints(_typecheckingstub__b17909dd0638cbbc0f1921202089390881098b016d096fd0e7523987a4e30ba9)
9885
10192
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9886
- jsii.set(self, "accountTakeoverRiskConfiguration", value)
10193
+ jsii.set(self, "accountTakeoverRiskConfiguration", value) # pyright: ignore[reportArgumentType]
9887
10194
 
9888
10195
  @builtins.property
9889
10196
  @jsii.member(jsii_name="compromisedCredentialsRiskConfiguration")
@@ -9901,7 +10208,7 @@ class CfnUserPoolRiskConfigurationAttachment(
9901
10208
  if __debug__:
9902
10209
  type_hints = typing.get_type_hints(_typecheckingstub__114c02dca6d5bbc7b9068e92676886981e1fa4247a8584ed917e5391b74f2d2d)
9903
10210
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9904
- jsii.set(self, "compromisedCredentialsRiskConfiguration", value)
10211
+ jsii.set(self, "compromisedCredentialsRiskConfiguration", value) # pyright: ignore[reportArgumentType]
9905
10212
 
9906
10213
  @builtins.property
9907
10214
  @jsii.member(jsii_name="riskExceptionConfiguration")
@@ -9919,7 +10226,7 @@ class CfnUserPoolRiskConfigurationAttachment(
9919
10226
  if __debug__:
9920
10227
  type_hints = typing.get_type_hints(_typecheckingstub__2bce41f342258d692515e8eebb6c2745c7105edc270a2bbcfb45f41d2bf1ca46)
9921
10228
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9922
- jsii.set(self, "riskExceptionConfiguration", value)
10229
+ jsii.set(self, "riskExceptionConfiguration", value) # pyright: ignore[reportArgumentType]
9923
10230
 
9924
10231
  @jsii.data_type(
9925
10232
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPoolRiskConfigurationAttachment.AccountTakeoverActionTypeProperty",
@@ -10968,14 +11275,6 @@ class CfnUserPoolUICustomizationAttachment(
10968
11275
  '''The CloudFormation resource type name for this resource class.'''
10969
11276
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
10970
11277
 
10971
- @builtins.property
10972
- @jsii.member(jsii_name="attrId")
10973
- def attr_id(self) -> builtins.str:
10974
- '''
10975
- :cloudformationAttribute: Id
10976
- '''
10977
- return typing.cast(builtins.str, jsii.get(self, "attrId"))
10978
-
10979
11278
  @builtins.property
10980
11279
  @jsii.member(jsii_name="cfnProperties")
10981
11280
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -10992,7 +11291,7 @@ class CfnUserPoolUICustomizationAttachment(
10992
11291
  if __debug__:
10993
11292
  type_hints = typing.get_type_hints(_typecheckingstub__2fb840d14a15822261415d3d8b15b58403a1bf218216b5d0aba1826076c9cb03)
10994
11293
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
10995
- jsii.set(self, "clientId", value)
11294
+ jsii.set(self, "clientId", value) # pyright: ignore[reportArgumentType]
10996
11295
 
10997
11296
  @builtins.property
10998
11297
  @jsii.member(jsii_name="userPoolId")
@@ -11005,7 +11304,7 @@ class CfnUserPoolUICustomizationAttachment(
11005
11304
  if __debug__:
11006
11305
  type_hints = typing.get_type_hints(_typecheckingstub__bc21fab90e665a827c26364efaa1568390b907cce17d5fc3f8621bfe65268d7b)
11007
11306
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11008
- jsii.set(self, "userPoolId", value)
11307
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
11009
11308
 
11010
11309
  @builtins.property
11011
11310
  @jsii.member(jsii_name="css")
@@ -11018,7 +11317,7 @@ class CfnUserPoolUICustomizationAttachment(
11018
11317
  if __debug__:
11019
11318
  type_hints = typing.get_type_hints(_typecheckingstub__95fdebc4b645acafac0d58bca95a8d84ac0be5fcf3ca3d612ad578dbb3faa891)
11020
11319
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11021
- jsii.set(self, "css", value)
11320
+ jsii.set(self, "css", value) # pyright: ignore[reportArgumentType]
11022
11321
 
11023
11322
 
11024
11323
  @jsii.data_type(
@@ -11241,7 +11540,7 @@ class CfnUserPoolUser(
11241
11540
  if __debug__:
11242
11541
  type_hints = typing.get_type_hints(_typecheckingstub__feefc710cb336bda2be62c58dcbdfc764a535ab2e52aa19e44511aca0956258c)
11243
11542
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11244
- jsii.set(self, "userPoolId", value)
11543
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
11245
11544
 
11246
11545
  @builtins.property
11247
11546
  @jsii.member(jsii_name="clientMetadata")
@@ -11259,7 +11558,7 @@ class CfnUserPoolUser(
11259
11558
  if __debug__:
11260
11559
  type_hints = typing.get_type_hints(_typecheckingstub__674b44537db9d65119536a886fe3b7990cd0df2f1aa1c3c2880711f8b302ae40)
11261
11560
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11262
- jsii.set(self, "clientMetadata", value)
11561
+ jsii.set(self, "clientMetadata", value) # pyright: ignore[reportArgumentType]
11263
11562
 
11264
11563
  @builtins.property
11265
11564
  @jsii.member(jsii_name="desiredDeliveryMediums")
@@ -11275,7 +11574,7 @@ class CfnUserPoolUser(
11275
11574
  if __debug__:
11276
11575
  type_hints = typing.get_type_hints(_typecheckingstub__91542a3b74c01d216df5ff651d130ee1327aa0fc3c895cbd605609cf901699ba)
11277
11576
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11278
- jsii.set(self, "desiredDeliveryMediums", value)
11577
+ jsii.set(self, "desiredDeliveryMediums", value) # pyright: ignore[reportArgumentType]
11279
11578
 
11280
11579
  @builtins.property
11281
11580
  @jsii.member(jsii_name="forceAliasCreation")
@@ -11293,7 +11592,7 @@ class CfnUserPoolUser(
11293
11592
  if __debug__:
11294
11593
  type_hints = typing.get_type_hints(_typecheckingstub__7c2c789fa64d9c856de89108f23fbf51d514f0cffa783771cfbacd552aee676c)
11295
11594
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11296
- jsii.set(self, "forceAliasCreation", value)
11595
+ jsii.set(self, "forceAliasCreation", value) # pyright: ignore[reportArgumentType]
11297
11596
 
11298
11597
  @builtins.property
11299
11598
  @jsii.member(jsii_name="messageAction")
@@ -11306,7 +11605,7 @@ class CfnUserPoolUser(
11306
11605
  if __debug__:
11307
11606
  type_hints = typing.get_type_hints(_typecheckingstub__9f0192dc3faa77898f91fb1e03cf55e5b740abf20bba3ba939ce4df47ae4227d)
11308
11607
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11309
- jsii.set(self, "messageAction", value)
11608
+ jsii.set(self, "messageAction", value) # pyright: ignore[reportArgumentType]
11310
11609
 
11311
11610
  @builtins.property
11312
11611
  @jsii.member(jsii_name="userAttributes")
@@ -11324,7 +11623,7 @@ class CfnUserPoolUser(
11324
11623
  if __debug__:
11325
11624
  type_hints = typing.get_type_hints(_typecheckingstub__3a84d0d411d439647c27dc7ac7d1d6e760fe129e919aa8a0a8b4194179281b3e)
11326
11625
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11327
- jsii.set(self, "userAttributes", value)
11626
+ jsii.set(self, "userAttributes", value) # pyright: ignore[reportArgumentType]
11328
11627
 
11329
11628
  @builtins.property
11330
11629
  @jsii.member(jsii_name="username")
@@ -11337,7 +11636,7 @@ class CfnUserPoolUser(
11337
11636
  if __debug__:
11338
11637
  type_hints = typing.get_type_hints(_typecheckingstub__942108c1e34b7c1e541ffb7d9f565c31400708ae6fa3757029d02956f7e7086d)
11339
11638
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11340
- jsii.set(self, "username", value)
11639
+ jsii.set(self, "username", value) # pyright: ignore[reportArgumentType]
11341
11640
 
11342
11641
  @builtins.property
11343
11642
  @jsii.member(jsii_name="validationData")
@@ -11355,7 +11654,7 @@ class CfnUserPoolUser(
11355
11654
  if __debug__:
11356
11655
  type_hints = typing.get_type_hints(_typecheckingstub__69a6ee7471fbb46c9acd4942399424982966d6d11c89f8748a188ab7f08e54be)
11357
11656
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11358
- jsii.set(self, "validationData", value)
11657
+ jsii.set(self, "validationData", value) # pyright: ignore[reportArgumentType]
11359
11658
 
11360
11659
  @jsii.data_type(
11361
11660
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPoolUser.AttributeTypeProperty",
@@ -11747,7 +12046,7 @@ class CfnUserPoolUserToGroupAttachment(
11747
12046
  if __debug__:
11748
12047
  type_hints = typing.get_type_hints(_typecheckingstub__76f277297f14c067592421ffe39f914d1d4341dd9bc83f4c42c66f73914f3488)
11749
12048
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11750
- jsii.set(self, "groupName", value)
12049
+ jsii.set(self, "groupName", value) # pyright: ignore[reportArgumentType]
11751
12050
 
11752
12051
  @builtins.property
11753
12052
  @jsii.member(jsii_name="username")
@@ -11759,7 +12058,7 @@ class CfnUserPoolUserToGroupAttachment(
11759
12058
  if __debug__:
11760
12059
  type_hints = typing.get_type_hints(_typecheckingstub__a387f868c25297921e89f6892a60def04748b83f31771d79ae06623bc4eb435b)
11761
12060
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11762
- jsii.set(self, "username", value)
12061
+ jsii.set(self, "username", value) # pyright: ignore[reportArgumentType]
11763
12062
 
11764
12063
  @builtins.property
11765
12064
  @jsii.member(jsii_name="userPoolId")
@@ -11772,7 +12071,7 @@ class CfnUserPoolUserToGroupAttachment(
11772
12071
  if __debug__:
11773
12072
  type_hints = typing.get_type_hints(_typecheckingstub__82177f095c7231924dc4eb6d3e0b1affc9151da04e151d35489d6ee497b571cc)
11774
12073
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
11775
- jsii.set(self, "userPoolId", value)
12074
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
11776
12075
 
11777
12076
 
11778
12077
  @jsii.data_type(
@@ -20896,6 +21195,7 @@ def _typecheckingstub__d5156c08d9bb3b0ceca6f4ec485d84f9775d7be40128a6614e1b9cbf0
20896
21195
  cognito_streams: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentityPool.CognitoStreamsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20897
21196
  developer_provider_name: typing.Optional[builtins.str] = None,
20898
21197
  identity_pool_name: typing.Optional[builtins.str] = None,
21198
+ identity_pool_tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
20899
21199
  open_id_connect_provider_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
20900
21200
  push_sync: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentityPool.PushSyncProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
20901
21201
  saml_provider_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -20958,6 +21258,12 @@ def _typecheckingstub__6010d0ddbf0b577c8e7ea0796913ba4085881df0b32cec744c271c993
20958
21258
  """Type checking stubs"""
20959
21259
  pass
20960
21260
 
21261
+ def _typecheckingstub__caf91efc577806bf48a176729ecabaf6b30c2d71ecfff869256e7500e4dcb9bc(
21262
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
21263
+ ) -> None:
21264
+ """Type checking stubs"""
21265
+ pass
21266
+
20961
21267
  def _typecheckingstub__61d80fcbd99af6003aec5d0b96e0ec9abdb3d4f6e2f44f67bdd2e746351a3517(
20962
21268
  value: typing.Optional[typing.List[builtins.str]],
20963
21269
  ) -> None:
@@ -21075,6 +21381,7 @@ def _typecheckingstub__3f190bc45ca19526ebd4b37441370bac2bb0babaadb5489ad9375252a
21075
21381
  cognito_streams: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentityPool.CognitoStreamsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21076
21382
  developer_provider_name: typing.Optional[builtins.str] = None,
21077
21383
  identity_pool_name: typing.Optional[builtins.str] = None,
21384
+ identity_pool_tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
21078
21385
  open_id_connect_provider_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
21079
21386
  push_sync: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentityPool.PushSyncProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21080
21387
  saml_provider_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -21201,11 +21508,27 @@ def _typecheckingstub__ff46bbb404bb2daaadf6da44499aa85e733a076298ca686e738f64972
21201
21508
  """Type checking stubs"""
21202
21509
  pass
21203
21510
 
21511
+ def _typecheckingstub__ae072d70f2bbea287c140340ad4ca6d5b9e1b95bf2308803bfb1cfbd9e23e5e0(
21512
+ *,
21513
+ stream_arn: typing.Optional[builtins.str] = None,
21514
+ ) -> None:
21515
+ """Type checking stubs"""
21516
+ pass
21517
+
21204
21518
  def _typecheckingstub__3fcaff05e87f499492c9c4ac6949463926f4833510675569310df4f8cb619149(
21205
21519
  *,
21206
21520
  cloud_watch_logs_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLogDeliveryConfiguration.CloudWatchLogsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21207
21521
  event_source: typing.Optional[builtins.str] = None,
21522
+ firehose_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLogDeliveryConfiguration.FirehoseConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21208
21523
  log_level: typing.Optional[builtins.str] = None,
21524
+ s3_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLogDeliveryConfiguration.S3ConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21525
+ ) -> None:
21526
+ """Type checking stubs"""
21527
+ pass
21528
+
21529
+ def _typecheckingstub__35855407409f14c2401e604d3e25c83bb2d207f28090618c8174149befb93967(
21530
+ *,
21531
+ bucket_arn: typing.Optional[builtins.str] = None,
21209
21532
  ) -> None:
21210
21533
  """Type checking stubs"""
21211
21534
  pass
@@ -21422,6 +21745,13 @@ def _typecheckingstub__eccc17237dcc735721e8ed9027a445ee9831366ce5b71c7ee0c61cc06
21422
21745
  """Type checking stubs"""
21423
21746
  pass
21424
21747
 
21748
+ def _typecheckingstub__13d285bc1be8956472b23e9b2a73954ac4f3700dcebec3973e7b6cbad4639935(
21749
+ *,
21750
+ custom_auth_mode: typing.Optional[builtins.str] = None,
21751
+ ) -> None:
21752
+ """Type checking stubs"""
21753
+ pass
21754
+
21425
21755
  def _typecheckingstub__820d7b1c7eb3367a1ba085ab349db46e7dfd21d8e9d99e1a78219dc6a2258553(
21426
21756
  *,
21427
21757
  lambda_arn: typing.Optional[builtins.str] = None,
@@ -21497,6 +21827,7 @@ def _typecheckingstub__fcd4fcf3db45f8dea604d1f3bcc70f5f37fb4061fc1c279ad00b155cc
21497
21827
  def _typecheckingstub__388245a445a407251a06f0f49f236a6b0a76ff7177f23a1d5cd9d4ffa819b2c0(
21498
21828
  *,
21499
21829
  minimum_length: typing.Optional[jsii.Number] = None,
21830
+ password_history_size: typing.Optional[jsii.Number] = None,
21500
21831
  require_lowercase: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21501
21832
  require_numbers: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
21502
21833
  require_symbols: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -21568,6 +21899,7 @@ def _typecheckingstub__9c5843901d71c5f7088f0e7c239f7dbd10ae5d4810ba8341e48b29354
21568
21899
 
21569
21900
  def _typecheckingstub__134d2b8e9ae3077b4c1f940aca55cabaa1dcdc1e12d0cd06c074768ee425ce71(
21570
21901
  *,
21902
+ advanced_security_additional_flows: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.AdvancedSecurityAdditionalFlowsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
21571
21903
  advanced_security_mode: typing.Optional[builtins.str] = None,
21572
21904
  ) -> None:
21573
21905
  """Type checking stubs"""