aws-cdk-lib 2.171.1__py3-none-any.whl → 2.173.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 (78) hide show
  1. aws_cdk/__init__.py +528 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.1.jsii.tgz → aws-cdk-lib@2.173.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +40 -40
  5. aws_cdk/aws_apigateway/__init__.py +1357 -120
  6. aws_cdk/aws_applicationautoscaling/__init__.py +141 -66
  7. aws_cdk/aws_appsync/__init__.py +163 -139
  8. aws_cdk/aws_autoscaling/__init__.py +96 -30
  9. aws_cdk/aws_bedrock/__init__.py +80 -44
  10. aws_cdk/aws_chatbot/__init__.py +803 -2
  11. aws_cdk/aws_cleanrooms/__init__.py +4 -6
  12. aws_cdk/aws_cloudformation/__init__.py +240 -159
  13. aws_cdk/aws_cloudfront/__init__.py +15 -7
  14. aws_cdk/aws_cloudtrail/__init__.py +802 -13
  15. aws_cdk/aws_cloudwatch/__init__.py +51 -14
  16. aws_cdk/aws_codebuild/__init__.py +39 -0
  17. aws_cdk/aws_codepipeline/__init__.py +4 -4
  18. aws_cdk/aws_cognito/__init__.py +1032 -43
  19. aws_cdk/aws_config/__init__.py +13 -10
  20. aws_cdk/aws_connect/__init__.py +454 -23
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +187 -176
  22. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  23. aws_cdk/aws_docdb/__init__.py +128 -0
  24. aws_cdk/aws_dynamodb/__init__.py +256 -0
  25. aws_cdk/aws_ec2/__init__.py +976 -27
  26. aws_cdk/aws_ecs/__init__.py +37 -20
  27. aws_cdk/aws_eks/__init__.py +771 -0
  28. aws_cdk/aws_elasticache/__init__.py +22 -22
  29. aws_cdk/aws_elasticloadbalancingv2/__init__.py +441 -177
  30. aws_cdk/aws_events/__init__.py +550 -30
  31. aws_cdk/aws_fsx/__init__.py +134 -10
  32. aws_cdk/aws_imagebuilder/__init__.py +8 -8
  33. aws_cdk/aws_invoicing/__init__.py +651 -0
  34. aws_cdk/aws_iot/__init__.py +70 -26
  35. aws_cdk/aws_iotfleetwise/__init__.py +1033 -382
  36. aws_cdk/aws_iotsitewise/__init__.py +158 -0
  37. aws_cdk/aws_ivs/__init__.py +43 -31
  38. aws_cdk/aws_kendra/__init__.py +4 -0
  39. aws_cdk/aws_lakeformation/__init__.py +2 -1
  40. aws_cdk/aws_lambda/__init__.py +272 -164
  41. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  42. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  43. aws_cdk/aws_logs/__init__.py +532 -0
  44. aws_cdk/aws_m2/__init__.py +289 -0
  45. aws_cdk/aws_mediaconnect/__init__.py +24 -14
  46. aws_cdk/aws_medialive/__init__.py +2359 -5
  47. aws_cdk/aws_mediapackage/__init__.py +3 -9
  48. aws_cdk/aws_mediapackagev2/__init__.py +19 -17
  49. aws_cdk/aws_memorydb/__init__.py +664 -4
  50. aws_cdk/aws_mwaa/__init__.py +6 -6
  51. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  52. aws_cdk/aws_pipes/__init__.py +14 -30
  53. aws_cdk/aws_qbusiness/__init__.py +2021 -67
  54. aws_cdk/aws_quicksight/__init__.py +8270 -10
  55. aws_cdk/aws_rbin/__init__.py +53 -34
  56. aws_cdk/aws_rds/__init__.py +170 -8
  57. aws_cdk/aws_resourcegroups/__init__.py +362 -4
  58. aws_cdk/aws_route53/__init__.py +1177 -10
  59. aws_cdk/aws_route53_targets/__init__.py +297 -91
  60. aws_cdk/aws_route53resolver/__init__.py +19 -8
  61. aws_cdk/aws_s3/__init__.py +4 -4
  62. aws_cdk/aws_s3express/__init__.py +421 -9
  63. aws_cdk/aws_sagemaker/__init__.py +905 -119
  64. aws_cdk/aws_secretsmanager/__init__.py +20 -6
  65. aws_cdk/aws_securityhub/__init__.py +64 -32
  66. aws_cdk/aws_servicediscovery/__init__.py +43 -0
  67. aws_cdk/aws_ses/__init__.py +188 -41
  68. aws_cdk/aws_stepfunctions_tasks/__init__.py +190 -35
  69. aws_cdk/aws_synthetics/__init__.py +7 -5
  70. aws_cdk/aws_vpclattice/__init__.py +1479 -122
  71. aws_cdk/aws_wisdom/__init__.py +8509 -1502
  72. aws_cdk/aws_workspacesweb/__init__.py +1081 -0
  73. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/METADATA +1 -1
  74. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/RECORD +78 -77
  75. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/LICENSE +0 -0
  76. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/NOTICE +0 -0
  77. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/WHEEL +0 -0
  78. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.173.0.dist-info}/top_level.txt +0 -0
@@ -20,7 +20,11 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
20
20
  * [Table of Contents](#table-of-contents)
21
21
  * [User Pools](#user-pools)
22
22
 
23
+ * [User pool feature plans](#user-pool-feature-plans)
23
24
  * [Sign Up](#sign-up)
25
+
26
+ * [Code Verification](#code-verification)
27
+ * [Link Verification](#link-verification)
24
28
  * [Sign In](#sign-in)
25
29
  * [Attributes](#attributes)
26
30
  * [Attribute verification](#attribute-verification)
@@ -77,6 +81,20 @@ role = iam.Role(self, "role",
77
81
  user_pool.grant(role, "cognito-idp:AdminCreateUser")
78
82
  ```
79
83
 
84
+ ### User pool feature plans
85
+
86
+ Amazon Cognito has feature plans for user pools. Each plan has a set of features and a monthly cost per active user. Each feature plan unlocks access to more features than the one before it.
87
+ Lean more aboug [feature plans here](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html).
88
+
89
+ * *Lite* - a low-cost feature plan for user pools with lower numbers of monthly active users.
90
+ * *Essentials* - all of the latest user pool authentication features.
91
+ * *Plus* - includes everything in the Essentials plan and adds advanced security features that protect your users.
92
+
93
+ The default feature plan is Essentials for newly create user pools.
94
+ For the existing user pools, Lite plan is automatically set.
95
+
96
+ Previously, some user pool features were included in [an advanced security features](#advanced-security-mode) pricing structure. The features that were included in this structure are now under either the Essentials or Plus plan.
97
+
80
98
  ### Sign Up
81
99
 
82
100
  Users can either be signed up by the app's administrators or can sign themselves up. Once a user has signed up, their
@@ -308,8 +326,8 @@ configure an MFA token and use it for sign in. It also allows for the users to u
308
326
  [time-based one time password
309
327
  (TOTP)](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-mfa-totp.html).
310
328
 
311
- If you want to enable email-based MFA, set `email` propety to the Amazon SES email-sending configuration and set `advancedSecurityMode` to `AdvancedSecurity.ENFORCED` or `AdvancedSecurity.AUDIT`.
312
- For more information, see [Email MFA](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security-email-mfa.html).
329
+ If you want to enable email-based MFA, set `email` propety to the Amazon SES email-sending configuration and set `featurePlan` to `FeaturePlan.ESSENTIALS` or `FeaturePlan.PLUS`.
330
+ For more information, see [SMS and email message MFA](https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-mfa-sms-email-message.html).
313
331
 
314
332
  ```python
315
333
  cognito.UserPool(self, "myuserpool",
@@ -365,6 +383,8 @@ A user will not be allowed to reset their password via phone if they are also us
365
383
 
366
384
  #### Advanced Security Mode
367
385
 
386
+ ⚠️ Advanced Security Mode is deprecated in favor of [user pool feature plans](#user-pool-feature-plans).
387
+
368
388
  User pools can be configured to use Advanced security. You can turn the user pool advanced security features on, and customize the actions that are taken in response to different risks. Or you can use audit mode to gather metrics on detected risks without taking action. In audit mode, the advanced security features publish metrics to Amazon CloudWatch. See the [documentation on Advanced security](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html) to learn more.
369
389
 
370
390
  ```python
@@ -698,6 +718,9 @@ Custom authentication protocols can be configured by setting the `custom` proper
698
718
  functions for the corresponding user pool [triggers](#lambda-triggers). Learn more at [Custom Authentication
699
719
  Flow](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html#amazon-cognito-user-pools-custom-authentication-flow).
700
720
 
721
+ Choice-based authentication can be configured by setting the `user` property under `authFlow`. This enables the
722
+ `USER_AUTH` authentication flow. Learn more at [Choice-based authentication](https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flows-selection-sdk.html#authentication-flows-selection-choice).
723
+
701
724
  In addition to these authentication mechanisms, Cognito user pools also support using OAuth 2.0 framework for
702
725
  authenticating users. User pool clients can be configured with OAuth 2.0 authorization flows and scopes. Learn more
703
726
  about the [OAuth 2.0 authorization framework](https://tools.ietf.org/html/rfc6749) and [Cognito user pool's
@@ -982,6 +1005,21 @@ Existing domains can be imported into CDK apps using `UserPoolDomain.fromDomainN
982
1005
  my_user_pool_domain = cognito.UserPoolDomain.from_domain_name(self, "my-user-pool-domain", "domain-name")
983
1006
  ```
984
1007
 
1008
+ To get the domain name of the CloudFront distribution associated with the user pool domain, use `cloudFrontEndpoint` method.
1009
+
1010
+ ```python
1011
+ userpool = cognito.UserPool(self, "UserPool")
1012
+ domain = userpool.add_domain("Domain",
1013
+ cognito_domain=cognito.CognitoDomainOptions(
1014
+ domain_prefix="my-awesome-app"
1015
+ )
1016
+ )
1017
+
1018
+ CfnOutput(self, "CloudFrontEndpoint",
1019
+ value=domain.cloud_front_endpoint
1020
+ )
1021
+ ```
1022
+
985
1023
  ### Deletion protection
986
1024
 
987
1025
  Deletion protection can be enabled on a user pool to prevent accidental deletion:
@@ -1132,9 +1170,12 @@ class AccountRecovery(enum.Enum):
1132
1170
 
1133
1171
  @jsii.enum(jsii_type="aws-cdk-lib.aws_cognito.AdvancedSecurityMode")
1134
1172
  class AdvancedSecurityMode(enum.Enum):
1135
- '''The different ways in which a user pool's Advanced Security Mode can be configured.
1173
+ '''(deprecated) The different ways in which a user pool's Advanced Security Mode can be configured.
1174
+
1175
+ :deprecated: Advanced Security Mode is deprecated in favor of user pool feature plans.
1136
1176
 
1137
1177
  :see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html#cfn-cognito-userpool-userpooladdons-advancedsecuritymode
1178
+ :stability: deprecated
1138
1179
  :exampleMetadata: infused
1139
1180
 
1140
1181
  Example::
@@ -1146,14 +1187,22 @@ class AdvancedSecurityMode(enum.Enum):
1146
1187
  '''
1147
1188
 
1148
1189
  ENFORCED = "ENFORCED"
1149
- '''Enable advanced security mode.'''
1190
+ '''(deprecated) Enable advanced security mode.
1191
+
1192
+ :stability: deprecated
1193
+ '''
1150
1194
  AUDIT = "AUDIT"
1151
- '''gather metrics on detected risks without taking action.
1195
+ '''(deprecated) gather metrics on detected risks without taking action.
1152
1196
 
1153
1197
  Metrics are published to Amazon CloudWatch
1198
+
1199
+ :stability: deprecated
1154
1200
  '''
1155
1201
  OFF = "OFF"
1156
- '''Advanced security mode is disabled.'''
1202
+ '''(deprecated) Advanced security mode is disabled.
1203
+
1204
+ :stability: deprecated
1205
+ '''
1157
1206
 
1158
1207
 
1159
1208
  @jsii.data_type(
@@ -1499,6 +1548,7 @@ class AttributeMapping:
1499
1548
  name_mapping={
1500
1549
  "admin_user_password": "adminUserPassword",
1501
1550
  "custom": "custom",
1551
+ "user": "user",
1502
1552
  "user_password": "userPassword",
1503
1553
  "user_srp": "userSrp",
1504
1554
  },
@@ -1509,6 +1559,7 @@ class AuthFlow:
1509
1559
  *,
1510
1560
  admin_user_password: typing.Optional[builtins.bool] = None,
1511
1561
  custom: typing.Optional[builtins.bool] = None,
1562
+ user: typing.Optional[builtins.bool] = None,
1512
1563
  user_password: typing.Optional[builtins.bool] = None,
1513
1564
  user_srp: typing.Optional[builtins.bool] = None,
1514
1565
  ) -> None:
@@ -1516,6 +1567,7 @@ class AuthFlow:
1516
1567
 
1517
1568
  :param admin_user_password: Enable admin based user password authentication flow. Default: false
1518
1569
  :param custom: Enable custom authentication flow. Default: false
1570
+ :param user: Enable Choice-based authentication. Default: false
1519
1571
  :param user_password: Enable auth using username & password. Default: false
1520
1572
  :param user_srp: Enable SRP based authentication. Default: false
1521
1573
 
@@ -1536,6 +1588,7 @@ class AuthFlow:
1536
1588
  type_hints = typing.get_type_hints(_typecheckingstub__3dd38e6e4617deee919f37d20a9ae635331043b4cf42c8d31fdbb0d3c29baeda)
1537
1589
  check_type(argname="argument admin_user_password", value=admin_user_password, expected_type=type_hints["admin_user_password"])
1538
1590
  check_type(argname="argument custom", value=custom, expected_type=type_hints["custom"])
1591
+ check_type(argname="argument user", value=user, expected_type=type_hints["user"])
1539
1592
  check_type(argname="argument user_password", value=user_password, expected_type=type_hints["user_password"])
1540
1593
  check_type(argname="argument user_srp", value=user_srp, expected_type=type_hints["user_srp"])
1541
1594
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -1543,6 +1596,8 @@ class AuthFlow:
1543
1596
  self._values["admin_user_password"] = admin_user_password
1544
1597
  if custom is not None:
1545
1598
  self._values["custom"] = custom
1599
+ if user is not None:
1600
+ self._values["user"] = user
1546
1601
  if user_password is not None:
1547
1602
  self._values["user_password"] = user_password
1548
1603
  if user_srp is not None:
@@ -1566,6 +1621,15 @@ class AuthFlow:
1566
1621
  result = self._values.get("custom")
1567
1622
  return typing.cast(typing.Optional[builtins.bool], result)
1568
1623
 
1624
+ @builtins.property
1625
+ def user(self) -> typing.Optional[builtins.bool]:
1626
+ '''Enable Choice-based authentication.
1627
+
1628
+ :default: false
1629
+ '''
1630
+ result = self._values.get("user")
1631
+ return typing.cast(typing.Optional[builtins.bool], result)
1632
+
1569
1633
  @builtins.property
1570
1634
  def user_password(self) -> typing.Optional[builtins.bool]:
1571
1635
  '''Enable auth using username & password.
@@ -3913,37 +3977,554 @@ class CfnLogDeliveryConfigurationProps:
3913
3977
  )
3914
3978
  '''
3915
3979
  if __debug__:
3916
- type_hints = typing.get_type_hints(_typecheckingstub__585789fa8816c3e4ed9b3aa9967435c1474787f750de3db35983f11efef27366)
3980
+ type_hints = typing.get_type_hints(_typecheckingstub__585789fa8816c3e4ed9b3aa9967435c1474787f750de3db35983f11efef27366)
3981
+ check_type(argname="argument user_pool_id", value=user_pool_id, expected_type=type_hints["user_pool_id"])
3982
+ check_type(argname="argument log_configurations", value=log_configurations, expected_type=type_hints["log_configurations"])
3983
+ self._values: typing.Dict[builtins.str, typing.Any] = {
3984
+ "user_pool_id": user_pool_id,
3985
+ }
3986
+ if log_configurations is not None:
3987
+ self._values["log_configurations"] = log_configurations
3988
+
3989
+ @builtins.property
3990
+ def user_pool_id(self) -> builtins.str:
3991
+ '''The ID of the user pool where you configured logging.
3992
+
3993
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html#cfn-cognito-logdeliveryconfiguration-userpoolid
3994
+ '''
3995
+ result = self._values.get("user_pool_id")
3996
+ assert result is not None, "Required property 'user_pool_id' is missing"
3997
+ return typing.cast(builtins.str, result)
3998
+
3999
+ @builtins.property
4000
+ def log_configurations(
4001
+ self,
4002
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnLogDeliveryConfiguration.LogConfigurationProperty]]]]:
4003
+ '''A logging destination of a user pool.
4004
+
4005
+ User pools can have multiple logging destinations for message-delivery and user-activity logs.
4006
+
4007
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfigurations
4008
+ '''
4009
+ result = self._values.get("log_configurations")
4010
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnLogDeliveryConfiguration.LogConfigurationProperty]]]], result)
4011
+
4012
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4013
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4014
+
4015
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4016
+ return not (rhs == self)
4017
+
4018
+ def __repr__(self) -> str:
4019
+ return "CfnLogDeliveryConfigurationProps(%s)" % ", ".join(
4020
+ k + "=" + repr(v) for k, v in self._values.items()
4021
+ )
4022
+
4023
+
4024
+ @jsii.implements(_IInspectable_c2943556)
4025
+ class CfnManagedLoginBranding(
4026
+ _CfnResource_9df397a6,
4027
+ metaclass=jsii.JSIIMeta,
4028
+ jsii_type="aws-cdk-lib.aws_cognito.CfnManagedLoginBranding",
4029
+ ):
4030
+ '''Creates a new set of branding settings for a user pool style and associates it with an app client.
4031
+
4032
+ This operation is the programmatic option for the creation of a new style in the branding designer.
4033
+
4034
+ Provides values for UI customization in a ``Settings`` JSON object and image files in an ``Assets`` array. To send the JSON object ``Document`` type parameter in ``Settings`` , you might need to update to the most recent version of your AWS SDK.
4035
+
4036
+ This operation has a 2-megabyte request-size limit and include the CSS settings and image assets for your app client. Your branding settings might exceed 2MB in size. Amazon Cognito doesn't require that you pass all parameters in one request and preserves existing style settings that you don't specify. If your request is larger than 2MB, separate it into multiple requests, each with a size smaller than the limit.
4037
+
4038
+ As a best practice, modify the output of `DescribeManagedLoginBrandingByClient <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeManagedLoginBrandingByClient.html>`_ into the request parameters for this operation. To get all settings, set ``ReturnMergedResources`` to ``true`` . For more information, see `API and SDK operations for managed login branding <https://docs.aws.amazon.com/cognito/latest/developerguide/managed-login-brandingdesigner.html#branding-designer-api>`_
4039
+ .. epigraph::
4040
+
4041
+ Amazon Cognito evaluates AWS Identity and Access Management (IAM) policies in requests for this API operation. For this operation, you must use IAM credentials to authorize requests, and you must grant yourself the corresponding IAM permission in a policy.
4042
+
4043
+ **Learn more** - `Signing AWS API Requests <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html>`_
4044
+
4045
+ - `Using the Amazon Cognito user pools API and user pool endpoints <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html>`_
4046
+
4047
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html
4048
+ :cloudformationResource: AWS::Cognito::ManagedLoginBranding
4049
+ :exampleMetadata: fixture=_generated
4050
+
4051
+ Example::
4052
+
4053
+ # The code below shows an example of how to instantiate this type.
4054
+ # The values are placeholders you should change.
4055
+ from aws_cdk import aws_cognito as cognito
4056
+
4057
+ # settings: Any
4058
+
4059
+ cfn_managed_login_branding = cognito.CfnManagedLoginBranding(self, "MyCfnManagedLoginBranding",
4060
+ user_pool_id="userPoolId",
4061
+
4062
+ # the properties below are optional
4063
+ assets=[cognito.CfnManagedLoginBranding.AssetTypeProperty(
4064
+ category="category",
4065
+ color_mode="colorMode",
4066
+ extension="extension",
4067
+
4068
+ # the properties below are optional
4069
+ bytes="bytes",
4070
+ resource_id="resourceId"
4071
+ )],
4072
+ client_id="clientId",
4073
+ return_merged_resources=False,
4074
+ settings=settings,
4075
+ use_cognito_provided_values=False
4076
+ )
4077
+ '''
4078
+
4079
+ def __init__(
4080
+ self,
4081
+ scope: _constructs_77d1e7e8.Construct,
4082
+ id: builtins.str,
4083
+ *,
4084
+ user_pool_id: builtins.str,
4085
+ assets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnManagedLoginBranding.AssetTypeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
4086
+ client_id: typing.Optional[builtins.str] = None,
4087
+ return_merged_resources: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4088
+ settings: typing.Any = None,
4089
+ use_cognito_provided_values: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4090
+ ) -> None:
4091
+ '''
4092
+ :param scope: Scope in which this resource is defined.
4093
+ :param id: Construct identifier for this resource (unique in its scope).
4094
+ :param user_pool_id: The user pool where the branding style is assigned.
4095
+ :param assets: An array of image files that you want to apply to roles like backgrounds, logos, and icons. Each object must also indicate whether it is for dark mode, light mode, or browser-adaptive mode.
4096
+ :param client_id:
4097
+ :param return_merged_resources:
4098
+ :param settings: A JSON file, encoded as a ``Document`` type, with the the settings that you want to apply to your style.
4099
+ :param use_cognito_provided_values: When true, applies the default branding style options. This option reverts to a "blank" style that you can modify later in the branding designer.
4100
+ '''
4101
+ if __debug__:
4102
+ type_hints = typing.get_type_hints(_typecheckingstub__478f8899894ffccc3f20b06ae18c36beb41bf5c5c9aa65a99dbdbf95ce00be03)
4103
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4104
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4105
+ props = CfnManagedLoginBrandingProps(
4106
+ user_pool_id=user_pool_id,
4107
+ assets=assets,
4108
+ client_id=client_id,
4109
+ return_merged_resources=return_merged_resources,
4110
+ settings=settings,
4111
+ use_cognito_provided_values=use_cognito_provided_values,
4112
+ )
4113
+
4114
+ jsii.create(self.__class__, self, [scope, id, props])
4115
+
4116
+ @jsii.member(jsii_name="inspect")
4117
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4118
+ '''Examines the CloudFormation resource and discloses attributes.
4119
+
4120
+ :param inspector: tree inspector to collect and process attributes.
4121
+ '''
4122
+ if __debug__:
4123
+ type_hints = typing.get_type_hints(_typecheckingstub__a0d347f9b2c0101529861e949ebe0a802ebc429100648b4c870711c733b50faa)
4124
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4125
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4126
+
4127
+ @jsii.member(jsii_name="renderProperties")
4128
+ def _render_properties(
4129
+ self,
4130
+ props: typing.Mapping[builtins.str, typing.Any],
4131
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4132
+ '''
4133
+ :param props: -
4134
+ '''
4135
+ if __debug__:
4136
+ type_hints = typing.get_type_hints(_typecheckingstub__1112e058064e524fbe515ff8791467e6949341c6ddd8deb9c33af3658b16d447)
4137
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4138
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4139
+
4140
+ @jsii.python.classproperty
4141
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4142
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4143
+ '''The CloudFormation resource type name for this resource class.'''
4144
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4145
+
4146
+ @builtins.property
4147
+ @jsii.member(jsii_name="attrManagedLoginBrandingId")
4148
+ def attr_managed_login_branding_id(self) -> builtins.str:
4149
+ '''The ID of the managed login branding style.
4150
+
4151
+ :cloudformationAttribute: ManagedLoginBrandingId
4152
+ '''
4153
+ return typing.cast(builtins.str, jsii.get(self, "attrManagedLoginBrandingId"))
4154
+
4155
+ @builtins.property
4156
+ @jsii.member(jsii_name="cfnProperties")
4157
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4158
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4159
+
4160
+ @builtins.property
4161
+ @jsii.member(jsii_name="userPoolId")
4162
+ def user_pool_id(self) -> builtins.str:
4163
+ '''The user pool where the branding style is assigned.'''
4164
+ return typing.cast(builtins.str, jsii.get(self, "userPoolId"))
4165
+
4166
+ @user_pool_id.setter
4167
+ def user_pool_id(self, value: builtins.str) -> None:
4168
+ if __debug__:
4169
+ type_hints = typing.get_type_hints(_typecheckingstub__73b2532ea6e2300654d7fcc90b2b1fd38f772128b765556475cff8c1be577731)
4170
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4171
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
4172
+
4173
+ @builtins.property
4174
+ @jsii.member(jsii_name="assets")
4175
+ def assets(
4176
+ self,
4177
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnManagedLoginBranding.AssetTypeProperty"]]]]:
4178
+ '''An array of image files that you want to apply to roles like backgrounds, logos, and icons.'''
4179
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnManagedLoginBranding.AssetTypeProperty"]]]], jsii.get(self, "assets"))
4180
+
4181
+ @assets.setter
4182
+ def assets(
4183
+ self,
4184
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnManagedLoginBranding.AssetTypeProperty"]]]],
4185
+ ) -> None:
4186
+ if __debug__:
4187
+ type_hints = typing.get_type_hints(_typecheckingstub__fc790275f28767420e82246bd64663082d888a2c93af667d6c769ece2924f786)
4188
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4189
+ jsii.set(self, "assets", value) # pyright: ignore[reportArgumentType]
4190
+
4191
+ @builtins.property
4192
+ @jsii.member(jsii_name="clientId")
4193
+ def client_id(self) -> typing.Optional[builtins.str]:
4194
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "clientId"))
4195
+
4196
+ @client_id.setter
4197
+ def client_id(self, value: typing.Optional[builtins.str]) -> None:
4198
+ if __debug__:
4199
+ type_hints = typing.get_type_hints(_typecheckingstub__a668420e0b3cbceec0ade65febad3505a8186912fb1310c4ecdfbbcd6bac7dc2)
4200
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4201
+ jsii.set(self, "clientId", value) # pyright: ignore[reportArgumentType]
4202
+
4203
+ @builtins.property
4204
+ @jsii.member(jsii_name="returnMergedResources")
4205
+ def return_merged_resources(
4206
+ self,
4207
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4208
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "returnMergedResources"))
4209
+
4210
+ @return_merged_resources.setter
4211
+ def return_merged_resources(
4212
+ self,
4213
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
4214
+ ) -> None:
4215
+ if __debug__:
4216
+ type_hints = typing.get_type_hints(_typecheckingstub__ea8e49ce2efc2678bcbf1fdf919c5bbeac64755b39b20ef47a3f76532c424dfc)
4217
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4218
+ jsii.set(self, "returnMergedResources", value) # pyright: ignore[reportArgumentType]
4219
+
4220
+ @builtins.property
4221
+ @jsii.member(jsii_name="settings")
4222
+ def settings(self) -> typing.Any:
4223
+ '''A JSON file, encoded as a ``Document`` type, with the the settings that you want to apply to your style.'''
4224
+ return typing.cast(typing.Any, jsii.get(self, "settings"))
4225
+
4226
+ @settings.setter
4227
+ def settings(self, value: typing.Any) -> None:
4228
+ if __debug__:
4229
+ type_hints = typing.get_type_hints(_typecheckingstub__f22fe695e1f64d8a038409355220b2e920e04882727bafb532a5728f1ffe677c)
4230
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4231
+ jsii.set(self, "settings", value) # pyright: ignore[reportArgumentType]
4232
+
4233
+ @builtins.property
4234
+ @jsii.member(jsii_name="useCognitoProvidedValues")
4235
+ def use_cognito_provided_values(
4236
+ self,
4237
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4238
+ '''When true, applies the default branding style options.'''
4239
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "useCognitoProvidedValues"))
4240
+
4241
+ @use_cognito_provided_values.setter
4242
+ def use_cognito_provided_values(
4243
+ self,
4244
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
4245
+ ) -> None:
4246
+ if __debug__:
4247
+ type_hints = typing.get_type_hints(_typecheckingstub__4b61f0689e78fea36c23c402c48085be3f2c198b922507818947333d59445895)
4248
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4249
+ jsii.set(self, "useCognitoProvidedValues", value) # pyright: ignore[reportArgumentType]
4250
+
4251
+ @jsii.data_type(
4252
+ jsii_type="aws-cdk-lib.aws_cognito.CfnManagedLoginBranding.AssetTypeProperty",
4253
+ jsii_struct_bases=[],
4254
+ name_mapping={
4255
+ "category": "category",
4256
+ "color_mode": "colorMode",
4257
+ "extension": "extension",
4258
+ "bytes": "bytes",
4259
+ "resource_id": "resourceId",
4260
+ },
4261
+ )
4262
+ class AssetTypeProperty:
4263
+ def __init__(
4264
+ self,
4265
+ *,
4266
+ category: builtins.str,
4267
+ color_mode: builtins.str,
4268
+ extension: builtins.str,
4269
+ bytes: typing.Optional[builtins.str] = None,
4270
+ resource_id: typing.Optional[builtins.str] = None,
4271
+ ) -> None:
4272
+ '''An image file from a managed login branding style in a user pool.
4273
+
4274
+ This data type is a request parameter of `CreateManagedLoginBranding <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateManagedLoginBranding.html>`_ and `UpdateManagedLoginBranding <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateManagedLoginBranding.html>`_ , and a response parameter of `DescribeManagedLoginBranding <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeManagedLoginBranding.html>`_ .
4275
+
4276
+ :param category: The category that the image corresponds to in your managed login configuration. Managed login has asset categories for different types of logos, backgrounds, and icons.
4277
+ :param color_mode: The display-mode target of the asset: light, dark, or browser-adaptive. For example, Amazon Cognito displays a dark-mode image only when the browser or application is in dark mode, but displays a browser-adaptive file in all contexts.
4278
+ :param extension: The file type of the image file.
4279
+ :param bytes: The image file, in Base64-encoded binary.
4280
+ :param resource_id: The ID of the asset.
4281
+
4282
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html
4283
+ :exampleMetadata: fixture=_generated
4284
+
4285
+ Example::
4286
+
4287
+ # The code below shows an example of how to instantiate this type.
4288
+ # The values are placeholders you should change.
4289
+ from aws_cdk import aws_cognito as cognito
4290
+
4291
+ asset_type_property = cognito.CfnManagedLoginBranding.AssetTypeProperty(
4292
+ category="category",
4293
+ color_mode="colorMode",
4294
+ extension="extension",
4295
+
4296
+ # the properties below are optional
4297
+ bytes="bytes",
4298
+ resource_id="resourceId"
4299
+ )
4300
+ '''
4301
+ if __debug__:
4302
+ type_hints = typing.get_type_hints(_typecheckingstub__a8c0b7bdabc4393d484227225be1727f821e164eec56517d614639ac2059509c)
4303
+ check_type(argname="argument category", value=category, expected_type=type_hints["category"])
4304
+ check_type(argname="argument color_mode", value=color_mode, expected_type=type_hints["color_mode"])
4305
+ check_type(argname="argument extension", value=extension, expected_type=type_hints["extension"])
4306
+ check_type(argname="argument bytes", value=bytes, expected_type=type_hints["bytes"])
4307
+ check_type(argname="argument resource_id", value=resource_id, expected_type=type_hints["resource_id"])
4308
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4309
+ "category": category,
4310
+ "color_mode": color_mode,
4311
+ "extension": extension,
4312
+ }
4313
+ if bytes is not None:
4314
+ self._values["bytes"] = bytes
4315
+ if resource_id is not None:
4316
+ self._values["resource_id"] = resource_id
4317
+
4318
+ @builtins.property
4319
+ def category(self) -> builtins.str:
4320
+ '''The category that the image corresponds to in your managed login configuration.
4321
+
4322
+ Managed login has asset categories for different types of logos, backgrounds, and icons.
4323
+
4324
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html#cfn-cognito-managedloginbranding-assettype-category
4325
+ '''
4326
+ result = self._values.get("category")
4327
+ assert result is not None, "Required property 'category' is missing"
4328
+ return typing.cast(builtins.str, result)
4329
+
4330
+ @builtins.property
4331
+ def color_mode(self) -> builtins.str:
4332
+ '''The display-mode target of the asset: light, dark, or browser-adaptive.
4333
+
4334
+ For example, Amazon Cognito displays a dark-mode image only when the browser or application is in dark mode, but displays a browser-adaptive file in all contexts.
4335
+
4336
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html#cfn-cognito-managedloginbranding-assettype-colormode
4337
+ '''
4338
+ result = self._values.get("color_mode")
4339
+ assert result is not None, "Required property 'color_mode' is missing"
4340
+ return typing.cast(builtins.str, result)
4341
+
4342
+ @builtins.property
4343
+ def extension(self) -> builtins.str:
4344
+ '''The file type of the image file.
4345
+
4346
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html#cfn-cognito-managedloginbranding-assettype-extension
4347
+ '''
4348
+ result = self._values.get("extension")
4349
+ assert result is not None, "Required property 'extension' is missing"
4350
+ return typing.cast(builtins.str, result)
4351
+
4352
+ @builtins.property
4353
+ def bytes(self) -> typing.Optional[builtins.str]:
4354
+ '''The image file, in Base64-encoded binary.
4355
+
4356
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html#cfn-cognito-managedloginbranding-assettype-bytes
4357
+ '''
4358
+ result = self._values.get("bytes")
4359
+ return typing.cast(typing.Optional[builtins.str], result)
4360
+
4361
+ @builtins.property
4362
+ def resource_id(self) -> typing.Optional[builtins.str]:
4363
+ '''The ID of the asset.
4364
+
4365
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html#cfn-cognito-managedloginbranding-assettype-resourceid
4366
+ '''
4367
+ result = self._values.get("resource_id")
4368
+ return typing.cast(typing.Optional[builtins.str], result)
4369
+
4370
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4371
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4372
+
4373
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4374
+ return not (rhs == self)
4375
+
4376
+ def __repr__(self) -> str:
4377
+ return "AssetTypeProperty(%s)" % ", ".join(
4378
+ k + "=" + repr(v) for k, v in self._values.items()
4379
+ )
4380
+
4381
+
4382
+ @jsii.data_type(
4383
+ jsii_type="aws-cdk-lib.aws_cognito.CfnManagedLoginBrandingProps",
4384
+ jsii_struct_bases=[],
4385
+ name_mapping={
4386
+ "user_pool_id": "userPoolId",
4387
+ "assets": "assets",
4388
+ "client_id": "clientId",
4389
+ "return_merged_resources": "returnMergedResources",
4390
+ "settings": "settings",
4391
+ "use_cognito_provided_values": "useCognitoProvidedValues",
4392
+ },
4393
+ )
4394
+ class CfnManagedLoginBrandingProps:
4395
+ def __init__(
4396
+ self,
4397
+ *,
4398
+ user_pool_id: builtins.str,
4399
+ assets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnManagedLoginBranding.AssetTypeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4400
+ client_id: typing.Optional[builtins.str] = None,
4401
+ return_merged_resources: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4402
+ settings: typing.Any = None,
4403
+ use_cognito_provided_values: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4404
+ ) -> None:
4405
+ '''Properties for defining a ``CfnManagedLoginBranding``.
4406
+
4407
+ :param user_pool_id: The user pool where the branding style is assigned.
4408
+ :param assets: An array of image files that you want to apply to roles like backgrounds, logos, and icons. Each object must also indicate whether it is for dark mode, light mode, or browser-adaptive mode.
4409
+ :param client_id:
4410
+ :param return_merged_resources:
4411
+ :param settings: A JSON file, encoded as a ``Document`` type, with the the settings that you want to apply to your style.
4412
+ :param use_cognito_provided_values: When true, applies the default branding style options. This option reverts to a "blank" style that you can modify later in the branding designer.
4413
+
4414
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html
4415
+ :exampleMetadata: fixture=_generated
4416
+
4417
+ Example::
4418
+
4419
+ # The code below shows an example of how to instantiate this type.
4420
+ # The values are placeholders you should change.
4421
+ from aws_cdk import aws_cognito as cognito
4422
+
4423
+ # settings: Any
4424
+
4425
+ cfn_managed_login_branding_props = cognito.CfnManagedLoginBrandingProps(
4426
+ user_pool_id="userPoolId",
4427
+
4428
+ # the properties below are optional
4429
+ assets=[cognito.CfnManagedLoginBranding.AssetTypeProperty(
4430
+ category="category",
4431
+ color_mode="colorMode",
4432
+ extension="extension",
4433
+
4434
+ # the properties below are optional
4435
+ bytes="bytes",
4436
+ resource_id="resourceId"
4437
+ )],
4438
+ client_id="clientId",
4439
+ return_merged_resources=False,
4440
+ settings=settings,
4441
+ use_cognito_provided_values=False
4442
+ )
4443
+ '''
4444
+ if __debug__:
4445
+ type_hints = typing.get_type_hints(_typecheckingstub__60e207e1aa2ab8ae23b36c3e1ae73765c6f328b13bf0c7b205865e93adc260df)
3917
4446
  check_type(argname="argument user_pool_id", value=user_pool_id, expected_type=type_hints["user_pool_id"])
3918
- check_type(argname="argument log_configurations", value=log_configurations, expected_type=type_hints["log_configurations"])
4447
+ check_type(argname="argument assets", value=assets, expected_type=type_hints["assets"])
4448
+ check_type(argname="argument client_id", value=client_id, expected_type=type_hints["client_id"])
4449
+ check_type(argname="argument return_merged_resources", value=return_merged_resources, expected_type=type_hints["return_merged_resources"])
4450
+ check_type(argname="argument settings", value=settings, expected_type=type_hints["settings"])
4451
+ check_type(argname="argument use_cognito_provided_values", value=use_cognito_provided_values, expected_type=type_hints["use_cognito_provided_values"])
3919
4452
  self._values: typing.Dict[builtins.str, typing.Any] = {
3920
4453
  "user_pool_id": user_pool_id,
3921
4454
  }
3922
- if log_configurations is not None:
3923
- self._values["log_configurations"] = log_configurations
4455
+ if assets is not None:
4456
+ self._values["assets"] = assets
4457
+ if client_id is not None:
4458
+ self._values["client_id"] = client_id
4459
+ if return_merged_resources is not None:
4460
+ self._values["return_merged_resources"] = return_merged_resources
4461
+ if settings is not None:
4462
+ self._values["settings"] = settings
4463
+ if use_cognito_provided_values is not None:
4464
+ self._values["use_cognito_provided_values"] = use_cognito_provided_values
3924
4465
 
3925
4466
  @builtins.property
3926
4467
  def user_pool_id(self) -> builtins.str:
3927
- '''The ID of the user pool where you configured logging.
4468
+ '''The user pool where the branding style is assigned.
3928
4469
 
3929
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html#cfn-cognito-logdeliveryconfiguration-userpoolid
4470
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-userpoolid
3930
4471
  '''
3931
4472
  result = self._values.get("user_pool_id")
3932
4473
  assert result is not None, "Required property 'user_pool_id' is missing"
3933
4474
  return typing.cast(builtins.str, result)
3934
4475
 
3935
4476
  @builtins.property
3936
- def log_configurations(
4477
+ def assets(
3937
4478
  self,
3938
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnLogDeliveryConfiguration.LogConfigurationProperty]]]]:
3939
- '''A logging destination of a user pool.
4479
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnManagedLoginBranding.AssetTypeProperty]]]]:
4480
+ '''An array of image files that you want to apply to roles like backgrounds, logos, and icons.
3940
4481
 
3941
- User pools can have multiple logging destinations for message-delivery and user-activity logs.
4482
+ Each object must also indicate whether it is for dark mode, light mode, or browser-adaptive mode.
3942
4483
 
3943
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfigurations
4484
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-assets
3944
4485
  '''
3945
- result = self._values.get("log_configurations")
3946
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnLogDeliveryConfiguration.LogConfigurationProperty]]]], result)
4486
+ result = self._values.get("assets")
4487
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnManagedLoginBranding.AssetTypeProperty]]]], result)
4488
+
4489
+ @builtins.property
4490
+ def client_id(self) -> typing.Optional[builtins.str]:
4491
+ '''
4492
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-clientid
4493
+ '''
4494
+ result = self._values.get("client_id")
4495
+ return typing.cast(typing.Optional[builtins.str], result)
4496
+
4497
+ @builtins.property
4498
+ def return_merged_resources(
4499
+ self,
4500
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4501
+ '''
4502
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-returnmergedresources
4503
+ '''
4504
+ result = self._values.get("return_merged_resources")
4505
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
4506
+
4507
+ @builtins.property
4508
+ def settings(self) -> typing.Any:
4509
+ '''A JSON file, encoded as a ``Document`` type, with the the settings that you want to apply to your style.
4510
+
4511
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-settings
4512
+ '''
4513
+ result = self._values.get("settings")
4514
+ return typing.cast(typing.Any, result)
4515
+
4516
+ @builtins.property
4517
+ def use_cognito_provided_values(
4518
+ self,
4519
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4520
+ '''When true, applies the default branding style options.
4521
+
4522
+ This option reverts to a "blank" style that you can modify later in the branding designer.
4523
+
4524
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-usecognitoprovidedvalues
4525
+ '''
4526
+ result = self._values.get("use_cognito_provided_values")
4527
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
3947
4528
 
3948
4529
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
3949
4530
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -3952,7 +4533,7 @@ class CfnLogDeliveryConfigurationProps:
3952
4533
  return not (rhs == self)
3953
4534
 
3954
4535
  def __repr__(self) -> str:
3955
- return "CfnLogDeliveryConfigurationProps(%s)" % ", ".join(
4536
+ return "CfnManagedLoginBrandingProps(%s)" % ", ".join(
3956
4537
  k + "=" + repr(v) for k, v in self._values.items()
3957
4538
  )
3958
4539
 
@@ -4052,6 +4633,9 @@ class CfnUserPool(
4052
4633
  require_symbols=False,
4053
4634
  require_uppercase=False,
4054
4635
  temporary_password_validity_days=123
4636
+ ),
4637
+ sign_in_policy=cognito.CfnUserPool.SignInPolicyProperty(
4638
+ allowed_first_auth_factors=["allowedFirstAuthFactors"]
4055
4639
  )
4056
4640
  ),
4057
4641
  schema=[cognito.CfnUserPool.SchemaAttributeProperty(
@@ -4091,6 +4675,7 @@ class CfnUserPool(
4091
4675
  ),
4092
4676
  user_pool_name="userPoolName",
4093
4677
  user_pool_tags=user_pool_tags,
4678
+ user_pool_tier="userPoolTier",
4094
4679
  verification_message_template=cognito.CfnUserPool.VerificationMessageTemplateProperty(
4095
4680
  default_email_option="defaultEmailOption",
4096
4681
  email_message="emailMessage",
@@ -4098,7 +4683,9 @@ class CfnUserPool(
4098
4683
  email_subject="emailSubject",
4099
4684
  email_subject_by_link="emailSubjectByLink",
4100
4685
  sms_message="smsMessage"
4101
- )
4686
+ ),
4687
+ web_authn_relying_party_id="webAuthnRelyingPartyId",
4688
+ web_authn_user_verification="webAuthnUserVerification"
4102
4689
  )
4103
4690
  '''
4104
4691
 
@@ -4132,7 +4719,10 @@ class CfnUserPool(
4132
4719
  user_pool_add_ons: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPool.UserPoolAddOnsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4133
4720
  user_pool_name: typing.Optional[builtins.str] = None,
4134
4721
  user_pool_tags: typing.Any = None,
4722
+ user_pool_tier: typing.Optional[builtins.str] = None,
4135
4723
  verification_message_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPool.VerificationMessageTemplateProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4724
+ web_authn_relying_party_id: typing.Optional[builtins.str] = None,
4725
+ web_authn_user_verification: typing.Optional[builtins.str] = None,
4136
4726
  ) -> None:
4137
4727
  '''
4138
4728
  :param scope: Scope in which this resource is defined.
@@ -4162,7 +4752,10 @@ class CfnUserPool(
4162
4752
  :param user_pool_add_ons: User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to ``AUDIT`` . To configure automatic security responses to risky traffic to your user pool, set to ``ENFORCED`` . 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>`_ .
4163
4753
  :param user_pool_name: A string used to name the user pool.
4164
4754
  :param user_pool_tags: The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.
4755
+ :param user_pool_tier: The user pool `feature plan <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html>`_ , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to ``ESSENTIALS`` .
4165
4756
  :param verification_message_template: The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. Set the email message type that corresponds to your ``DefaultEmailOption`` selection. For ``CONFIRM_WITH_LINK`` , specify an ``EmailMessageByLink`` and leave ``EmailMessage`` blank. For ``CONFIRM_WITH_CODE`` , specify an ``EmailMessage`` and leave ``EmailMessageByLink`` blank. When you supply both parameters with either choice, Amazon Cognito returns an error.
4757
+ :param web_authn_relying_party_id:
4758
+ :param web_authn_user_verification:
4166
4759
  '''
4167
4760
  if __debug__:
4168
4761
  type_hints = typing.get_type_hints(_typecheckingstub__32d20f28e2758f9a461380e2ed5d06233baf0f45541047ba837f26ebc37ee551)
@@ -4194,7 +4787,10 @@ class CfnUserPool(
4194
4787
  user_pool_add_ons=user_pool_add_ons,
4195
4788
  user_pool_name=user_pool_name,
4196
4789
  user_pool_tags=user_pool_tags,
4790
+ user_pool_tier=user_pool_tier,
4197
4791
  verification_message_template=verification_message_template,
4792
+ web_authn_relying_party_id=web_authn_relying_party_id,
4793
+ web_authn_user_verification=web_authn_user_verification,
4198
4794
  )
4199
4795
 
4200
4796
  jsii.create(self.__class__, self, [scope, id, props])
@@ -4675,6 +5271,19 @@ class CfnUserPool(
4675
5271
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4676
5272
  jsii.set(self, "userPoolTagsRaw", value) # pyright: ignore[reportArgumentType]
4677
5273
 
5274
+ @builtins.property
5275
+ @jsii.member(jsii_name="userPoolTier")
5276
+ def user_pool_tier(self) -> typing.Optional[builtins.str]:
5277
+ '''The user pool `feature plan <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html>`_ , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to ``ESSENTIALS`` .'''
5278
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "userPoolTier"))
5279
+
5280
+ @user_pool_tier.setter
5281
+ def user_pool_tier(self, value: typing.Optional[builtins.str]) -> None:
5282
+ if __debug__:
5283
+ type_hints = typing.get_type_hints(_typecheckingstub__7b34a7e631952732eaf3564630f968b4a1066c2249e1bd77fa5894ac20d552db)
5284
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5285
+ jsii.set(self, "userPoolTier", value) # pyright: ignore[reportArgumentType]
5286
+
4678
5287
  @builtins.property
4679
5288
  @jsii.member(jsii_name="verificationMessageTemplate")
4680
5289
  def verification_message_template(
@@ -4693,6 +5302,30 @@ class CfnUserPool(
4693
5302
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4694
5303
  jsii.set(self, "verificationMessageTemplate", value) # pyright: ignore[reportArgumentType]
4695
5304
 
5305
+ @builtins.property
5306
+ @jsii.member(jsii_name="webAuthnRelyingPartyId")
5307
+ def web_authn_relying_party_id(self) -> typing.Optional[builtins.str]:
5308
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "webAuthnRelyingPartyId"))
5309
+
5310
+ @web_authn_relying_party_id.setter
5311
+ def web_authn_relying_party_id(self, value: typing.Optional[builtins.str]) -> None:
5312
+ if __debug__:
5313
+ type_hints = typing.get_type_hints(_typecheckingstub__2a2852b3b820fa8903c8ee86e4c615c763dbc2f40270d7dddb4851a596a4b629)
5314
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5315
+ jsii.set(self, "webAuthnRelyingPartyId", value) # pyright: ignore[reportArgumentType]
5316
+
5317
+ @builtins.property
5318
+ @jsii.member(jsii_name="webAuthnUserVerification")
5319
+ def web_authn_user_verification(self) -> typing.Optional[builtins.str]:
5320
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "webAuthnUserVerification"))
5321
+
5322
+ @web_authn_user_verification.setter
5323
+ def web_authn_user_verification(self, value: typing.Optional[builtins.str]) -> None:
5324
+ if __debug__:
5325
+ type_hints = typing.get_type_hints(_typecheckingstub__39e1b7a43a4375c7269c036061949915e9a6e4528f8341df4df0a6b046ac6a11)
5326
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5327
+ jsii.set(self, "webAuthnUserVerification", value) # pyright: ignore[reportArgumentType]
5328
+
4696
5329
  @jsii.data_type(
4697
5330
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.AccountRecoverySettingProperty",
4698
5331
  jsii_struct_bases=[],
@@ -4781,7 +5414,7 @@ class CfnUserPool(
4781
5414
  This data type is a request and response parameter of `CreateUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html>`_ and `UpdateUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html>`_ , and a response parameter of `DescribeUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html>`_ .
4782
5415
 
4783
5416
  :param allow_admin_create_user_only: The setting for allowing self-service sign-up. When ``true`` , only administrators can create new user profiles. When ``false`` , users can register themselves and create a new user profile with the `SignUp <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignUp.html>`_ operation.
4784
- :param invite_message_template: The template for the welcome message to new users. See also `Customizing User Invitation Messages <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization>`_ .
5417
+ :param invite_message_template: The template for the welcome message to new users. This template must include the ``{####}`` temporary password placeholder if you are creating users with passwords. If your users don't have passwords, you can omit the placeholder. See also `Customizing User Invitation Messages <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization>`_ .
4785
5418
  :param unused_account_validity_days: This parameter is no longer in use. Configure the duration of temporary passwords with the ``TemporaryPasswordValidityDays`` parameter of `PasswordPolicyType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_PasswordPolicyType.html>`_ . For older user pools that have a ``UnusedAccountValidityDays`` configuration, that value is effective until you set a value for ``TemporaryPasswordValidityDays`` . The password expiration limit in days for administrator-created users. When this time expires, the user can't sign in with their temporary password. To reset the account after that time limit, you must call ``AdminCreateUser`` again, specifying ``RESEND`` for the ``MessageAction`` parameter. The default value for this parameter is 7.
4786
5419
 
4787
5420
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html
@@ -4835,6 +5468,8 @@ class CfnUserPool(
4835
5468
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.InviteMessageTemplateProperty"]]:
4836
5469
  '''The template for the welcome message to new users.
4837
5470
 
5471
+ This template must include the ``{####}`` temporary password placeholder if you are creating users with passwords. If your users don't have passwords, you can omit the placeholder.
5472
+
4838
5473
  See also `Customizing User Invitation Messages <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization>`_ .
4839
5474
 
4840
5475
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-invitemessagetemplate
@@ -5335,6 +5970,8 @@ class CfnUserPool(
5335
5970
  ) -> None:
5336
5971
  '''The template for the welcome message to new users.
5337
5972
 
5973
+ This template must include the ``{####}`` temporary password placeholder if you are creating users with passwords. If your users don't have passwords, you can omit the placeholder.
5974
+
5338
5975
  See also `Customizing User Invitation Messages <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-message-customizations.html#cognito-user-pool-settings-user-invitation-message-customization>`_ .
5339
5976
 
5340
5977
  :param email_message: The message template for email messages. EmailMessage is allowed only if `EmailSendingAccount <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_EmailConfigurationType.html#CognitoUserPools-Type-EmailConfigurationType-EmailSendingAccount>`_ is DEVELOPER.
@@ -5954,19 +6591,24 @@ class CfnUserPool(
5954
6591
  @jsii.data_type(
5955
6592
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.PoliciesProperty",
5956
6593
  jsii_struct_bases=[],
5957
- name_mapping={"password_policy": "passwordPolicy"},
6594
+ name_mapping={
6595
+ "password_policy": "passwordPolicy",
6596
+ "sign_in_policy": "signInPolicy",
6597
+ },
5958
6598
  )
5959
6599
  class PoliciesProperty:
5960
6600
  def __init__(
5961
6601
  self,
5962
6602
  *,
5963
6603
  password_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPool.PasswordPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6604
+ sign_in_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPool.SignInPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5964
6605
  ) -> None:
5965
6606
  '''A list of user pool policies. Contains the policy that sets password-complexity requirements.
5966
6607
 
5967
6608
  This data type is a request and response parameter of `CreateUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html>`_ and `UpdateUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html>`_ , and a response parameter of `DescribeUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html>`_ .
5968
6609
 
5969
6610
  :param password_policy: The password policy settings for a user pool, including complexity, history, and length requirements.
6611
+ :param sign_in_policy:
5970
6612
 
5971
6613
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html
5972
6614
  :exampleMetadata: fixture=_generated
@@ -5986,15 +6628,21 @@ class CfnUserPool(
5986
6628
  require_symbols=False,
5987
6629
  require_uppercase=False,
5988
6630
  temporary_password_validity_days=123
6631
+ ),
6632
+ sign_in_policy=cognito.CfnUserPool.SignInPolicyProperty(
6633
+ allowed_first_auth_factors=["allowedFirstAuthFactors"]
5989
6634
  )
5990
6635
  )
5991
6636
  '''
5992
6637
  if __debug__:
5993
6638
  type_hints = typing.get_type_hints(_typecheckingstub__9a9937f0b75c9ab1976e5dbd8fe12631390f6d478c894cb0164171b2f9dc39c5)
5994
6639
  check_type(argname="argument password_policy", value=password_policy, expected_type=type_hints["password_policy"])
6640
+ check_type(argname="argument sign_in_policy", value=sign_in_policy, expected_type=type_hints["sign_in_policy"])
5995
6641
  self._values: typing.Dict[builtins.str, typing.Any] = {}
5996
6642
  if password_policy is not None:
5997
6643
  self._values["password_policy"] = password_policy
6644
+ if sign_in_policy is not None:
6645
+ self._values["sign_in_policy"] = sign_in_policy
5998
6646
 
5999
6647
  @builtins.property
6000
6648
  def password_policy(
@@ -6007,6 +6655,16 @@ class CfnUserPool(
6007
6655
  result = self._values.get("password_policy")
6008
6656
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.PasswordPolicyProperty"]], result)
6009
6657
 
6658
+ @builtins.property
6659
+ def sign_in_policy(
6660
+ self,
6661
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.SignInPolicyProperty"]]:
6662
+ '''
6663
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html#cfn-cognito-userpool-policies-signinpolicy
6664
+ '''
6665
+ result = self._values.get("sign_in_policy")
6666
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.SignInPolicyProperty"]], result)
6667
+
6010
6668
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
6011
6669
  return isinstance(rhs, self.__class__) and rhs._values == self._values
6012
6670
 
@@ -6359,6 +7017,61 @@ class CfnUserPool(
6359
7017
  k + "=" + repr(v) for k, v in self._values.items()
6360
7018
  )
6361
7019
 
7020
+ @jsii.data_type(
7021
+ jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.SignInPolicyProperty",
7022
+ jsii_struct_bases=[],
7023
+ name_mapping={"allowed_first_auth_factors": "allowedFirstAuthFactors"},
7024
+ )
7025
+ class SignInPolicyProperty:
7026
+ def __init__(
7027
+ self,
7028
+ *,
7029
+ allowed_first_auth_factors: typing.Optional[typing.Sequence[builtins.str]] = None,
7030
+ ) -> None:
7031
+ '''
7032
+ :param allowed_first_auth_factors:
7033
+
7034
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-signinpolicy.html
7035
+ :exampleMetadata: fixture=_generated
7036
+
7037
+ Example::
7038
+
7039
+ # The code below shows an example of how to instantiate this type.
7040
+ # The values are placeholders you should change.
7041
+ from aws_cdk import aws_cognito as cognito
7042
+
7043
+ sign_in_policy_property = cognito.CfnUserPool.SignInPolicyProperty(
7044
+ allowed_first_auth_factors=["allowedFirstAuthFactors"]
7045
+ )
7046
+ '''
7047
+ if __debug__:
7048
+ type_hints = typing.get_type_hints(_typecheckingstub__71f41ee8011d666621169ad6aeb915855a76a5e105809ce7914229f99c53dd8d)
7049
+ check_type(argname="argument allowed_first_auth_factors", value=allowed_first_auth_factors, expected_type=type_hints["allowed_first_auth_factors"])
7050
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
7051
+ if allowed_first_auth_factors is not None:
7052
+ self._values["allowed_first_auth_factors"] = allowed_first_auth_factors
7053
+
7054
+ @builtins.property
7055
+ def allowed_first_auth_factors(
7056
+ self,
7057
+ ) -> typing.Optional[typing.List[builtins.str]]:
7058
+ '''
7059
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-signinpolicy.html#cfn-cognito-userpool-signinpolicy-allowedfirstauthfactors
7060
+ '''
7061
+ result = self._values.get("allowed_first_auth_factors")
7062
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
7063
+
7064
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
7065
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
7066
+
7067
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
7068
+ return not (rhs == self)
7069
+
7070
+ def __repr__(self) -> str:
7071
+ return "SignInPolicyProperty(%s)" % ", ".join(
7072
+ k + "=" + repr(v) for k, v in self._values.items()
7073
+ )
7074
+
6362
7075
  @jsii.data_type(
6363
7076
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.SmsConfigurationProperty",
6364
7077
  jsii_struct_bases=[],
@@ -7024,16 +7737,16 @@ class CfnUserPoolClient(
7024
7737
  :param callback_ur_ls: A list of allowed redirect (callback) URLs for the IdPs. A redirect URI must: - Be an absolute URI. - Be registered with the authorization server. - Not include a fragment component. See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ . Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.
7025
7738
  :param client_name: The client name for the user pool client you would like to create.
7026
7739
  :param default_redirect_uri: The default redirect URI. In app clients with one assigned IdP, replaces ``redirect_uri`` in authentication requests. Must be in the ``CallbackURLs`` list. A redirect URI must: - Be an absolute URI. - Be registered with the authorization server. - Not include a fragment component. For more information, see `Default redirect URI <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-client-apps.html#cognito-user-pools-app-idp-settings-about>`_ . Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.
7027
- :param enable_propagate_additional_user_context_data: Activates the propagation of additional user context data. For more information about propagation of user context data, see `Adding advanced security to a user pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html>`_ . If you don’t include this parameter, you can't send device fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only activate ``EnablePropagateAdditionalUserContextData`` in an app client that has a client secret.
7740
+ :param enable_propagate_additional_user_context_data: Activates the propagation of additional user context data. For more information about propagation of user context data, see `Adding advanced security to a user pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-threat-protection.html>`_ . If you don’t include this parameter, you can't send device fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only activate ``EnablePropagateAdditionalUserContextData`` in an app client that has a client secret.
7028
7741
  :param enable_token_revocation: Activates or deactivates token revocation. For more information about revoking tokens, see `RevokeToken <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html>`_ . If you don't include this parameter, token revocation is automatically activated for the new user pool client.
7029
- :param explicit_auth_flows: The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions. .. epigraph:: If you don't specify a value for ``ExplicitAuthFlows`` , your user client supports ``ALLOW_REFRESH_TOKEN_AUTH`` , ``ALLOW_USER_SRP_AUTH`` , and ``ALLOW_CUSTOM_AUTH`` . Valid values include: - ``ALLOW_ADMIN_USER_PASSWORD_AUTH`` : Enable admin based user password authentication flow ``ADMIN_USER_PASSWORD_AUTH`` . This setting replaces the ``ADMIN_NO_SRP_AUTH`` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. - ``ALLOW_CUSTOM_AUTH`` : Enable Lambda trigger based authentication. - ``ALLOW_USER_PASSWORD_AUTH`` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. - ``ALLOW_USER_SRP_AUTH`` : Enable SRP-based authentication. - ``ALLOW_REFRESH_TOKEN_AUTH`` : Enable authflow to refresh tokens. In some environments, you will see the values ``ADMIN_NO_SRP_AUTH`` , ``CUSTOM_AUTH_FLOW_ONLY`` , or ``USER_PASSWORD_AUTH`` . You can't assign these legacy ``ExplicitAuthFlows`` values to user pool clients at the same time as values that begin with ``ALLOW_`` , like ``ALLOW_USER_SRP_AUTH`` .
7742
+ :param explicit_auth_flows: The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions. .. epigraph:: If you don't specify a value for ``ExplicitAuthFlows`` , your user client supports ``ALLOW_REFRESH_TOKEN_AUTH`` , ``ALLOW_USER_SRP_AUTH`` , and ``ALLOW_CUSTOM_AUTH`` . Valid values include: - ``ALLOW_USER_AUTH`` : Enable selection-based sign-in with ``USER_AUTH`` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other ``ExplicitAuthFlows`` permitting them. For example users can complete an SRP challenge through ``USER_AUTH`` without the flow ``USER_SRP_AUTH`` being active for the app client. This flow doesn't include ``CUSTOM_AUTH`` . - ``ALLOW_ADMIN_USER_PASSWORD_AUTH`` : Enable admin based user password authentication flow ``ADMIN_USER_PASSWORD_AUTH`` . This setting replaces the ``ADMIN_NO_SRP_AUTH`` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. - ``ALLOW_CUSTOM_AUTH`` : Enable Lambda trigger based authentication. - ``ALLOW_USER_PASSWORD_AUTH`` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. - ``ALLOW_USER_SRP_AUTH`` : Enable SRP-based authentication. - ``ALLOW_REFRESH_TOKEN_AUTH`` : Enable authflow to refresh tokens. In some environments, you will see the values ``ADMIN_NO_SRP_AUTH`` , ``CUSTOM_AUTH_FLOW_ONLY`` , or ``USER_PASSWORD_AUTH`` . You can't assign these legacy ``ExplicitAuthFlows`` values to user pool clients at the same time as values that begin with ``ALLOW_`` , like ``ALLOW_USER_SRP_AUTH`` .
7030
7743
  :param generate_secret: Boolean to specify whether you want to generate a secret for the user pool client being created.
7031
7744
  :param id_token_validity: The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for ``IdTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``IdTokenValidity`` as ``10`` and ``TokenValidityUnits`` as ``hours`` , your user can authenticate their session with their ID token for 10 hours. The default time unit for ``IdTokenValidity`` in an API request is hours. *Valid range* is displayed below in seconds. If you don't specify otherwise in the configuration of your app client, your ID tokens are valid for one hour.
7032
7745
  :param logout_ur_ls: A list of allowed logout URLs for the IdPs.
7033
7746
  :param prevent_user_existence_errors: Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to ``ENABLED`` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to ``LEGACY`` , those APIs return a ``UserNotFoundException`` exception if the user doesn't exist in the user pool. Valid values include: - ``ENABLED`` - This prevents user existence-related errors. - ``LEGACY`` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. Defaults to ``LEGACY`` when you don't provide a value.
7034
7747
  :param read_attributes: The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a `GetUser <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html>`_ API request to retrieve and display your user's profile data. When you don't specify the ``ReadAttributes`` for your app client, your app can read the values of ``email_verified`` , ``phone_number_verified`` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, ``ReadAttributes`` doesn't return any information. Amazon Cognito only populates ``ReadAttributes`` in the API response if you have specified your own custom set of read attributes.
7035
7748
  :param refresh_token_validity: The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for ``RefreshTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``RefreshTokenValidity`` as ``10`` and ``TokenValidityUnits`` as ``days`` , your user can refresh their session and retrieve new access and ID tokens for 10 days. The default time unit for ``RefreshTokenValidity`` in an API request is days. You can't set ``RefreshTokenValidity`` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. If you don't specify otherwise in the configuration of your app client, your refresh tokens are valid for 30 days.
7036
- :param supported_identity_providers: A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: ``COGNITO`` , ``Facebook`` , ``Google`` , ``SignInWithApple`` , and ``LoginWithAmazon`` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example ``MySAMLIdP`` or ``MyOIDCIdP`` .
7749
+ :param supported_identity_providers: A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: ``COGNITO`` , ``Facebook`` , ``Google`` , ``SignInWithApple`` , and ``LoginWithAmazon`` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example ``MySAMLIdP`` or ``MyOIDCIdP`` . This setting applies to providers that you can access with the `hosted UI and OAuth 2.0 authorization server <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-integration.html>`_ . The removal of ``COGNITO`` from this list doesn't prevent authentication operations for local users with the user pools API in an AWS SDK. The only way to prevent API-based authentication is to block access with a `AWS WAF rule <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html>`_ .
7037
7750
  :param token_validity_units: The units in which the validity times are represented. The default unit for RefreshToken is days, and default for ID and access tokens are hours.
7038
7751
  :param write_attributes: The list of user attributes that you want your app client to have write access to. After your user authenticates in your app, their access token authorizes them to set or modify their own attribute value for any attribute in this list. An example of this kind of activity is when you present your user with a form to update their profile information and they change their last name. Your app then makes an `UpdateUserAttributes <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserAttributes.html>`_ API request and sets ``family_name`` to the new value. When you don't specify the ``WriteAttributes`` for your app client, your app can write the values of the Standard attributes of your user pool. When your user pool has write access to these default attributes, ``WriteAttributes`` doesn't return any information. Amazon Cognito only populates ``WriteAttributes`` in the API response if you have specified your own custom set of write attributes. If your app client allows users to sign in through an IdP, this array must include all attributes that you have mapped to IdP attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If your app client does not have write access to a mapped attribute, Amazon Cognito throws an error when it tries to update the attribute. For more information, see `Specifying IdP Attribute Mappings for Your user pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html>`_ .
7039
7752
  '''
@@ -7766,16 +8479,16 @@ class CfnUserPoolClientProps:
7766
8479
  :param callback_ur_ls: A list of allowed redirect (callback) URLs for the IdPs. A redirect URI must: - Be an absolute URI. - Be registered with the authorization server. - Not include a fragment component. See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ . Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.
7767
8480
  :param client_name: The client name for the user pool client you would like to create.
7768
8481
  :param default_redirect_uri: The default redirect URI. In app clients with one assigned IdP, replaces ``redirect_uri`` in authentication requests. Must be in the ``CallbackURLs`` list. A redirect URI must: - Be an absolute URI. - Be registered with the authorization server. - Not include a fragment component. For more information, see `Default redirect URI <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-client-apps.html#cognito-user-pools-app-idp-settings-about>`_ . Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.
7769
- :param enable_propagate_additional_user_context_data: Activates the propagation of additional user context data. For more information about propagation of user context data, see `Adding advanced security to a user pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html>`_ . If you don’t include this parameter, you can't send device fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only activate ``EnablePropagateAdditionalUserContextData`` in an app client that has a client secret.
8482
+ :param enable_propagate_additional_user_context_data: Activates the propagation of additional user context data. For more information about propagation of user context data, see `Adding advanced security to a user pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-threat-protection.html>`_ . If you don’t include this parameter, you can't send device fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only activate ``EnablePropagateAdditionalUserContextData`` in an app client that has a client secret.
7770
8483
  :param enable_token_revocation: Activates or deactivates token revocation. For more information about revoking tokens, see `RevokeToken <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html>`_ . If you don't include this parameter, token revocation is automatically activated for the new user pool client.
7771
- :param explicit_auth_flows: The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions. .. epigraph:: If you don't specify a value for ``ExplicitAuthFlows`` , your user client supports ``ALLOW_REFRESH_TOKEN_AUTH`` , ``ALLOW_USER_SRP_AUTH`` , and ``ALLOW_CUSTOM_AUTH`` . Valid values include: - ``ALLOW_ADMIN_USER_PASSWORD_AUTH`` : Enable admin based user password authentication flow ``ADMIN_USER_PASSWORD_AUTH`` . This setting replaces the ``ADMIN_NO_SRP_AUTH`` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. - ``ALLOW_CUSTOM_AUTH`` : Enable Lambda trigger based authentication. - ``ALLOW_USER_PASSWORD_AUTH`` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. - ``ALLOW_USER_SRP_AUTH`` : Enable SRP-based authentication. - ``ALLOW_REFRESH_TOKEN_AUTH`` : Enable authflow to refresh tokens. In some environments, you will see the values ``ADMIN_NO_SRP_AUTH`` , ``CUSTOM_AUTH_FLOW_ONLY`` , or ``USER_PASSWORD_AUTH`` . You can't assign these legacy ``ExplicitAuthFlows`` values to user pool clients at the same time as values that begin with ``ALLOW_`` , like ``ALLOW_USER_SRP_AUTH`` .
8484
+ :param explicit_auth_flows: The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions. .. epigraph:: If you don't specify a value for ``ExplicitAuthFlows`` , your user client supports ``ALLOW_REFRESH_TOKEN_AUTH`` , ``ALLOW_USER_SRP_AUTH`` , and ``ALLOW_CUSTOM_AUTH`` . Valid values include: - ``ALLOW_USER_AUTH`` : Enable selection-based sign-in with ``USER_AUTH`` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other ``ExplicitAuthFlows`` permitting them. For example users can complete an SRP challenge through ``USER_AUTH`` without the flow ``USER_SRP_AUTH`` being active for the app client. This flow doesn't include ``CUSTOM_AUTH`` . - ``ALLOW_ADMIN_USER_PASSWORD_AUTH`` : Enable admin based user password authentication flow ``ADMIN_USER_PASSWORD_AUTH`` . This setting replaces the ``ADMIN_NO_SRP_AUTH`` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. - ``ALLOW_CUSTOM_AUTH`` : Enable Lambda trigger based authentication. - ``ALLOW_USER_PASSWORD_AUTH`` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords. - ``ALLOW_USER_SRP_AUTH`` : Enable SRP-based authentication. - ``ALLOW_REFRESH_TOKEN_AUTH`` : Enable authflow to refresh tokens. In some environments, you will see the values ``ADMIN_NO_SRP_AUTH`` , ``CUSTOM_AUTH_FLOW_ONLY`` , or ``USER_PASSWORD_AUTH`` . You can't assign these legacy ``ExplicitAuthFlows`` values to user pool clients at the same time as values that begin with ``ALLOW_`` , like ``ALLOW_USER_SRP_AUTH`` .
7772
8485
  :param generate_secret: Boolean to specify whether you want to generate a secret for the user pool client being created.
7773
8486
  :param id_token_validity: The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for ``IdTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``IdTokenValidity`` as ``10`` and ``TokenValidityUnits`` as ``hours`` , your user can authenticate their session with their ID token for 10 hours. The default time unit for ``IdTokenValidity`` in an API request is hours. *Valid range* is displayed below in seconds. If you don't specify otherwise in the configuration of your app client, your ID tokens are valid for one hour.
7774
8487
  :param logout_ur_ls: A list of allowed logout URLs for the IdPs.
7775
8488
  :param prevent_user_existence_errors: Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to ``ENABLED`` and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to ``LEGACY`` , those APIs return a ``UserNotFoundException`` exception if the user doesn't exist in the user pool. Valid values include: - ``ENABLED`` - This prevents user existence-related errors. - ``LEGACY`` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented. Defaults to ``LEGACY`` when you don't provide a value.
7776
8489
  :param read_attributes: The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list. An example of this kind of activity is when your user selects a link to view their profile information. Your app makes a `GetUser <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html>`_ API request to retrieve and display your user's profile data. When you don't specify the ``ReadAttributes`` for your app client, your app can read the values of ``email_verified`` , ``phone_number_verified`` , and the Standard attributes of your user pool. When your user pool app client has read access to these default attributes, ``ReadAttributes`` doesn't return any information. Amazon Cognito only populates ``ReadAttributes`` in the API response if you have specified your own custom set of read attributes.
7777
8490
  :param refresh_token_validity: The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for ``RefreshTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``RefreshTokenValidity`` as ``10`` and ``TokenValidityUnits`` as ``days`` , your user can refresh their session and retrieve new access and ID tokens for 10 days. The default time unit for ``RefreshTokenValidity`` in an API request is days. You can't set ``RefreshTokenValidity`` to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. *Valid range* is displayed below in seconds. If you don't specify otherwise in the configuration of your app client, your refresh tokens are valid for 30 days.
7778
- :param supported_identity_providers: A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: ``COGNITO`` , ``Facebook`` , ``Google`` , ``SignInWithApple`` , and ``LoginWithAmazon`` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example ``MySAMLIdP`` or ``MyOIDCIdP`` .
8491
+ :param supported_identity_providers: A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: ``COGNITO`` , ``Facebook`` , ``Google`` , ``SignInWithApple`` , and ``LoginWithAmazon`` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example ``MySAMLIdP`` or ``MyOIDCIdP`` . This setting applies to providers that you can access with the `hosted UI and OAuth 2.0 authorization server <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-integration.html>`_ . The removal of ``COGNITO`` from this list doesn't prevent authentication operations for local users with the user pools API in an AWS SDK. The only way to prevent API-based authentication is to block access with a `AWS WAF rule <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html>`_ .
7779
8492
  :param token_validity_units: The units in which the validity times are represented. The default unit for RefreshToken is days, and default for ID and access tokens are hours.
7780
8493
  :param write_attributes: The list of user attributes that you want your app client to have write access to. After your user authenticates in your app, their access token authorizes them to set or modify their own attribute value for any attribute in this list. An example of this kind of activity is when you present your user with a form to update their profile information and they change their last name. Your app then makes an `UpdateUserAttributes <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserAttributes.html>`_ API request and sets ``family_name`` to the new value. When you don't specify the ``WriteAttributes`` for your app client, your app can write the values of the Standard attributes of your user pool. When your user pool has write access to these default attributes, ``WriteAttributes`` doesn't return any information. Amazon Cognito only populates ``WriteAttributes`` in the API response if you have specified your own custom set of write attributes. If your app client allows users to sign in through an IdP, this array must include all attributes that you have mapped to IdP attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If your app client does not have write access to a mapped attribute, Amazon Cognito throws an error when it tries to update the attribute. For more information, see `Specifying IdP Attribute Mappings for Your user pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html>`_ .
7781
8494
 
@@ -8055,7 +8768,7 @@ class CfnUserPoolClientProps:
8055
8768
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
8056
8769
  '''Activates the propagation of additional user context data.
8057
8770
 
8058
- For more information about propagation of user context data, see `Adding advanced security to a user pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html>`_ . If you don’t include this parameter, you can't send device fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only activate ``EnablePropagateAdditionalUserContextData`` in an app client that has a client secret.
8771
+ For more information about propagation of user context data, see `Adding advanced security to a user pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-threat-protection.html>`_ . If you don’t include this parameter, you can't send device fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only activate ``EnablePropagateAdditionalUserContextData`` in an app client that has a client secret.
8059
8772
 
8060
8773
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-enablepropagateadditionalusercontextdata
8061
8774
  '''
@@ -8086,6 +8799,7 @@ class CfnUserPoolClientProps:
8086
8799
 
8087
8800
  Valid values include:
8088
8801
 
8802
+ - ``ALLOW_USER_AUTH`` : Enable selection-based sign-in with ``USER_AUTH`` . This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without other ``ExplicitAuthFlows`` permitting them. For example users can complete an SRP challenge through ``USER_AUTH`` without the flow ``USER_SRP_AUTH`` being active for the app client. This flow doesn't include ``CUSTOM_AUTH`` .
8089
8803
  - ``ALLOW_ADMIN_USER_PASSWORD_AUTH`` : Enable admin based user password authentication flow ``ADMIN_USER_PASSWORD_AUTH`` . This setting replaces the ``ADMIN_NO_SRP_AUTH`` setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password.
8090
8804
  - ``ALLOW_CUSTOM_AUTH`` : Enable Lambda trigger based authentication.
8091
8805
  - ``ALLOW_USER_PASSWORD_AUTH`` : Enable user password-based authentication. In this flow, Amazon Cognito receives the password in the request instead of using the SRP protocol to verify passwords.
@@ -8196,6 +8910,8 @@ class CfnUserPoolClientProps:
8196
8910
 
8197
8911
  The following are supported: ``COGNITO`` , ``Facebook`` , ``Google`` , ``SignInWithApple`` , and ``LoginWithAmazon`` . You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example ``MySAMLIdP`` or ``MyOIDCIdP`` .
8198
8912
 
8913
+ This setting applies to providers that you can access with the `hosted UI and OAuth 2.0 authorization server <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-integration.html>`_ . The removal of ``COGNITO`` from this list doesn't prevent authentication operations for local users with the user pools API in an AWS SDK. The only way to prevent API-based authentication is to block access with a `AWS WAF rule <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html>`_ .
8914
+
8199
8915
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-supportedidentityproviders
8200
8916
  '''
8201
8917
  result = self._values.get("supported_identity_providers")
@@ -8266,7 +8982,8 @@ class CfnUserPoolDomain(
8266
8982
  # the properties below are optional
8267
8983
  custom_domain_config=cognito.CfnUserPoolDomain.CustomDomainConfigTypeProperty(
8268
8984
  certificate_arn="certificateArn"
8269
- )
8985
+ ),
8986
+ managed_login_version=123
8270
8987
  )
8271
8988
  '''
8272
8989
 
@@ -8278,13 +8995,15 @@ class CfnUserPoolDomain(
8278
8995
  domain: builtins.str,
8279
8996
  user_pool_id: builtins.str,
8280
8997
  custom_domain_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPoolDomain.CustomDomainConfigTypeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8998
+ managed_login_version: typing.Optional[jsii.Number] = None,
8281
8999
  ) -> None:
8282
9000
  '''
8283
9001
  :param scope: Scope in which this resource is defined.
8284
9002
  :param id: Construct identifier for this resource (unique in its scope).
8285
9003
  :param domain: The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be ``auth.example.com`` . This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names.
8286
9004
  :param user_pool_id: The ID of the user pool that is associated with the custom domain whose certificate you're updating.
8287
- :param custom_domain_config: The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.
9005
+ :param custom_domain_config: The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM. When you create a custom domain, the passkey RP ID defaults to the custom domain. If you had a prefix domain active, this will cause passkey integration for your prefix domain to stop working due to a mismatch in RP ID. To keep the prefix domain passkey integration working, you can explicitly set RP ID to the prefix domain. Update the RP ID in a `SetUserPoolMfaConfig <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html>`_ request.
9006
+ :param managed_login_version: A version number that indicates the state of managed login for your domain. Version ``1`` is hosted UI (classic). Version ``2`` is the newer managed login with the branding designer. For more information, see `Managed login <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html>`_ .
8288
9007
  '''
8289
9008
  if __debug__:
8290
9009
  type_hints = typing.get_type_hints(_typecheckingstub__6e0b36c4d155cfdfa9801e3f221c4fe6c5403bf24a64d17bd90fb5386301d675)
@@ -8294,6 +9013,7 @@ class CfnUserPoolDomain(
8294
9013
  domain=domain,
8295
9014
  user_pool_id=user_pool_id,
8296
9015
  custom_domain_config=custom_domain_config,
9016
+ managed_login_version=managed_login_version,
8297
9017
  )
8298
9018
 
8299
9019
  jsii.create(self.__class__, self, [scope, id, props])
@@ -8395,6 +9115,19 @@ class CfnUserPoolDomain(
8395
9115
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8396
9116
  jsii.set(self, "customDomainConfig", value) # pyright: ignore[reportArgumentType]
8397
9117
 
9118
+ @builtins.property
9119
+ @jsii.member(jsii_name="managedLoginVersion")
9120
+ def managed_login_version(self) -> typing.Optional[jsii.Number]:
9121
+ '''A version number that indicates the state of managed login for your domain.'''
9122
+ return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "managedLoginVersion"))
9123
+
9124
+ @managed_login_version.setter
9125
+ def managed_login_version(self, value: typing.Optional[jsii.Number]) -> None:
9126
+ if __debug__:
9127
+ type_hints = typing.get_type_hints(_typecheckingstub__b1d6e8e96816f3572291ff67691b98d76a166cf058320e0e73e58062b8093526)
9128
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
9129
+ jsii.set(self, "managedLoginVersion", value) # pyright: ignore[reportArgumentType]
9130
+
8398
9131
  @jsii.data_type(
8399
9132
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPoolDomain.CustomDomainConfigTypeProperty",
8400
9133
  jsii_struct_bases=[],
@@ -8462,6 +9195,7 @@ class CfnUserPoolDomain(
8462
9195
  "domain": "domain",
8463
9196
  "user_pool_id": "userPoolId",
8464
9197
  "custom_domain_config": "customDomainConfig",
9198
+ "managed_login_version": "managedLoginVersion",
8465
9199
  },
8466
9200
  )
8467
9201
  class CfnUserPoolDomainProps:
@@ -8471,12 +9205,14 @@ class CfnUserPoolDomainProps:
8471
9205
  domain: builtins.str,
8472
9206
  user_pool_id: builtins.str,
8473
9207
  custom_domain_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPoolDomain.CustomDomainConfigTypeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9208
+ managed_login_version: typing.Optional[jsii.Number] = None,
8474
9209
  ) -> None:
8475
9210
  '''Properties for defining a ``CfnUserPoolDomain``.
8476
9211
 
8477
9212
  :param domain: The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be ``auth.example.com`` . This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names.
8478
9213
  :param user_pool_id: The ID of the user pool that is associated with the custom domain whose certificate you're updating.
8479
- :param custom_domain_config: The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.
9214
+ :param custom_domain_config: The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM. When you create a custom domain, the passkey RP ID defaults to the custom domain. If you had a prefix domain active, this will cause passkey integration for your prefix domain to stop working due to a mismatch in RP ID. To keep the prefix domain passkey integration working, you can explicitly set RP ID to the prefix domain. Update the RP ID in a `SetUserPoolMfaConfig <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html>`_ request.
9215
+ :param managed_login_version: A version number that indicates the state of managed login for your domain. Version ``1`` is hosted UI (classic). Version ``2`` is the newer managed login with the branding designer. For more information, see `Managed login <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html>`_ .
8480
9216
 
8481
9217
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html
8482
9218
  :exampleMetadata: fixture=_generated
@@ -8494,7 +9230,8 @@ class CfnUserPoolDomainProps:
8494
9230
  # the properties below are optional
8495
9231
  custom_domain_config=cognito.CfnUserPoolDomain.CustomDomainConfigTypeProperty(
8496
9232
  certificate_arn="certificateArn"
8497
- )
9233
+ ),
9234
+ managed_login_version=123
8498
9235
  )
8499
9236
  '''
8500
9237
  if __debug__:
@@ -8502,12 +9239,15 @@ class CfnUserPoolDomainProps:
8502
9239
  check_type(argname="argument domain", value=domain, expected_type=type_hints["domain"])
8503
9240
  check_type(argname="argument user_pool_id", value=user_pool_id, expected_type=type_hints["user_pool_id"])
8504
9241
  check_type(argname="argument custom_domain_config", value=custom_domain_config, expected_type=type_hints["custom_domain_config"])
9242
+ check_type(argname="argument managed_login_version", value=managed_login_version, expected_type=type_hints["managed_login_version"])
8505
9243
  self._values: typing.Dict[builtins.str, typing.Any] = {
8506
9244
  "domain": domain,
8507
9245
  "user_pool_id": user_pool_id,
8508
9246
  }
8509
9247
  if custom_domain_config is not None:
8510
9248
  self._values["custom_domain_config"] = custom_domain_config
9249
+ if managed_login_version is not None:
9250
+ self._values["managed_login_version"] = managed_login_version
8511
9251
 
8512
9252
  @builtins.property
8513
9253
  def domain(self) -> builtins.str:
@@ -8541,11 +9281,24 @@ class CfnUserPoolDomainProps:
8541
9281
 
8542
9282
  Use this object to specify an SSL certificate that is managed by ACM.
8543
9283
 
9284
+ When you create a custom domain, the passkey RP ID defaults to the custom domain. If you had a prefix domain active, this will cause passkey integration for your prefix domain to stop working due to a mismatch in RP ID. To keep the prefix domain passkey integration working, you can explicitly set RP ID to the prefix domain. Update the RP ID in a `SetUserPoolMfaConfig <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html>`_ request.
9285
+
8544
9286
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-customdomainconfig
8545
9287
  '''
8546
9288
  result = self._values.get("custom_domain_config")
8547
9289
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnUserPoolDomain.CustomDomainConfigTypeProperty]], result)
8548
9290
 
9291
+ @builtins.property
9292
+ def managed_login_version(self) -> typing.Optional[jsii.Number]:
9293
+ '''A version number that indicates the state of managed login for your domain.
9294
+
9295
+ Version ``1`` is hosted UI (classic). Version ``2`` is the newer managed login with the branding designer. For more information, see `Managed login <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html>`_ .
9296
+
9297
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-managedloginversion
9298
+ '''
9299
+ result = self._values.get("managed_login_version")
9300
+ return typing.cast(typing.Optional[jsii.Number], result)
9301
+
8549
9302
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
8550
9303
  return isinstance(rhs, self.__class__) and rhs._values == self._values
8551
9304
 
@@ -9254,7 +10007,10 @@ class CfnUserPoolIdentityProviderProps:
9254
10007
  "user_pool_add_ons": "userPoolAddOns",
9255
10008
  "user_pool_name": "userPoolName",
9256
10009
  "user_pool_tags": "userPoolTags",
10010
+ "user_pool_tier": "userPoolTier",
9257
10011
  "verification_message_template": "verificationMessageTemplate",
10012
+ "web_authn_relying_party_id": "webAuthnRelyingPartyId",
10013
+ "web_authn_user_verification": "webAuthnUserVerification",
9258
10014
  },
9259
10015
  )
9260
10016
  class CfnUserPoolProps:
@@ -9286,7 +10042,10 @@ class CfnUserPoolProps:
9286
10042
  user_pool_add_ons: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.UserPoolAddOnsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9287
10043
  user_pool_name: typing.Optional[builtins.str] = None,
9288
10044
  user_pool_tags: typing.Any = None,
10045
+ user_pool_tier: typing.Optional[builtins.str] = None,
9289
10046
  verification_message_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.VerificationMessageTemplateProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
10047
+ web_authn_relying_party_id: typing.Optional[builtins.str] = None,
10048
+ web_authn_user_verification: typing.Optional[builtins.str] = None,
9290
10049
  ) -> None:
9291
10050
  '''Properties for defining a ``CfnUserPool``.
9292
10051
 
@@ -9315,7 +10074,10 @@ class CfnUserPoolProps:
9315
10074
  :param user_pool_add_ons: User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to ``AUDIT`` . To configure automatic security responses to risky traffic to your user pool, set to ``ENFORCED`` . 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>`_ .
9316
10075
  :param user_pool_name: A string used to name the user pool.
9317
10076
  :param user_pool_tags: The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.
10077
+ :param user_pool_tier: The user pool `feature plan <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html>`_ , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to ``ESSENTIALS`` .
9318
10078
  :param verification_message_template: The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. Set the email message type that corresponds to your ``DefaultEmailOption`` selection. For ``CONFIRM_WITH_LINK`` , specify an ``EmailMessageByLink`` and leave ``EmailMessage`` blank. For ``CONFIRM_WITH_CODE`` , specify an ``EmailMessage`` and leave ``EmailMessageByLink`` blank. When you supply both parameters with either choice, Amazon Cognito returns an error.
10079
+ :param web_authn_relying_party_id:
10080
+ :param web_authn_user_verification:
9319
10081
 
9320
10082
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html
9321
10083
  :exampleMetadata: fixture=_generated
@@ -9398,6 +10160,9 @@ class CfnUserPoolProps:
9398
10160
  require_symbols=False,
9399
10161
  require_uppercase=False,
9400
10162
  temporary_password_validity_days=123
10163
+ ),
10164
+ sign_in_policy=cognito.CfnUserPool.SignInPolicyProperty(
10165
+ allowed_first_auth_factors=["allowedFirstAuthFactors"]
9401
10166
  )
9402
10167
  ),
9403
10168
  schema=[cognito.CfnUserPool.SchemaAttributeProperty(
@@ -9437,6 +10202,7 @@ class CfnUserPoolProps:
9437
10202
  ),
9438
10203
  user_pool_name="userPoolName",
9439
10204
  user_pool_tags=user_pool_tags,
10205
+ user_pool_tier="userPoolTier",
9440
10206
  verification_message_template=cognito.CfnUserPool.VerificationMessageTemplateProperty(
9441
10207
  default_email_option="defaultEmailOption",
9442
10208
  email_message="emailMessage",
@@ -9444,7 +10210,9 @@ class CfnUserPoolProps:
9444
10210
  email_subject="emailSubject",
9445
10211
  email_subject_by_link="emailSubjectByLink",
9446
10212
  sms_message="smsMessage"
9447
- )
10213
+ ),
10214
+ web_authn_relying_party_id="webAuthnRelyingPartyId",
10215
+ web_authn_user_verification="webAuthnUserVerification"
9448
10216
  )
9449
10217
  '''
9450
10218
  if __debug__:
@@ -9474,7 +10242,10 @@ class CfnUserPoolProps:
9474
10242
  check_type(argname="argument user_pool_add_ons", value=user_pool_add_ons, expected_type=type_hints["user_pool_add_ons"])
9475
10243
  check_type(argname="argument user_pool_name", value=user_pool_name, expected_type=type_hints["user_pool_name"])
9476
10244
  check_type(argname="argument user_pool_tags", value=user_pool_tags, expected_type=type_hints["user_pool_tags"])
10245
+ check_type(argname="argument user_pool_tier", value=user_pool_tier, expected_type=type_hints["user_pool_tier"])
9477
10246
  check_type(argname="argument verification_message_template", value=verification_message_template, expected_type=type_hints["verification_message_template"])
10247
+ check_type(argname="argument web_authn_relying_party_id", value=web_authn_relying_party_id, expected_type=type_hints["web_authn_relying_party_id"])
10248
+ check_type(argname="argument web_authn_user_verification", value=web_authn_user_verification, expected_type=type_hints["web_authn_user_verification"])
9478
10249
  self._values: typing.Dict[builtins.str, typing.Any] = {}
9479
10250
  if account_recovery_setting is not None:
9480
10251
  self._values["account_recovery_setting"] = account_recovery_setting
@@ -9526,8 +10297,14 @@ class CfnUserPoolProps:
9526
10297
  self._values["user_pool_name"] = user_pool_name
9527
10298
  if user_pool_tags is not None:
9528
10299
  self._values["user_pool_tags"] = user_pool_tags
10300
+ if user_pool_tier is not None:
10301
+ self._values["user_pool_tier"] = user_pool_tier
9529
10302
  if verification_message_template is not None:
9530
10303
  self._values["verification_message_template"] = verification_message_template
10304
+ if web_authn_relying_party_id is not None:
10305
+ self._values["web_authn_relying_party_id"] = web_authn_relying_party_id
10306
+ if web_authn_user_verification is not None:
10307
+ self._values["web_authn_user_verification"] = web_authn_user_verification
9531
10308
 
9532
10309
  @builtins.property
9533
10310
  def account_recovery_setting(
@@ -9836,6 +10613,15 @@ class CfnUserPoolProps:
9836
10613
  result = self._values.get("user_pool_tags")
9837
10614
  return typing.cast(typing.Any, result)
9838
10615
 
10616
+ @builtins.property
10617
+ def user_pool_tier(self) -> typing.Optional[builtins.str]:
10618
+ '''The user pool `feature plan <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html>`_ , or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Defaults to ``ESSENTIALS`` .
10619
+
10620
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooltier
10621
+ '''
10622
+ result = self._values.get("user_pool_tier")
10623
+ return typing.cast(typing.Optional[builtins.str], result)
10624
+
9839
10625
  @builtins.property
9840
10626
  def verification_message_template(
9841
10627
  self,
@@ -9849,6 +10635,22 @@ class CfnUserPoolProps:
9849
10635
  result = self._values.get("verification_message_template")
9850
10636
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnUserPool.VerificationMessageTemplateProperty]], result)
9851
10637
 
10638
+ @builtins.property
10639
+ def web_authn_relying_party_id(self) -> typing.Optional[builtins.str]:
10640
+ '''
10641
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-webauthnrelyingpartyid
10642
+ '''
10643
+ result = self._values.get("web_authn_relying_party_id")
10644
+ return typing.cast(typing.Optional[builtins.str], result)
10645
+
10646
+ @builtins.property
10647
+ def web_authn_user_verification(self) -> typing.Optional[builtins.str]:
10648
+ '''
10649
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-webauthnuserverification
10650
+ '''
10651
+ result = self._values.get("web_authn_user_verification")
10652
+ return typing.cast(typing.Optional[builtins.str], result)
10653
+
9852
10654
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
9853
10655
  return isinstance(rhs, self.__class__) and rhs._values == self._values
9854
10656
 
@@ -11718,7 +12520,7 @@ class CfnUserPoolUser(
11718
12520
  :param desired_delivery_mediums: Specify ``"EMAIL"`` if email will be used to send the welcome message. Specify ``"SMS"`` if the phone number will be used. The default value is ``"SMS"`` . You can specify more than one value.
11719
12521
  :param force_alias_creation: This parameter is used only if the ``phone_number_verified`` or ``email_verified`` attribute is set to ``True`` . Otherwise, it is ignored. If this parameter is set to ``True`` and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias. If this parameter is set to ``False`` , the API throws an ``AliasExistsException`` error if the alias already exists. The default value is ``False`` .
11720
12522
  :param message_action: Set to ``RESEND`` to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to ``SUPPRESS`` to suppress sending the message. You can specify only one value.
11721
- :param user_attributes: An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than ``Username`` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to ``AdminCreateUser`` ) or the user should supply (when they sign up in response to your welcome message). For custom attributes, you must prepend the ``custom:`` prefix to the attribute name. To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. In your call to ``AdminCreateUser`` , you can set the ``email_verified`` attribute to ``True`` , and you can set the ``phone_number_verified`` attribute to ``True`` . You can also do this by calling `AdminUpdateUserAttributes <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html>`_ . - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the ``email_verified`` attribute is set to ``True`` , or if ``"EMAIL"`` is specified in the ``DesiredDeliveryMediums`` parameter. - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the ``phone_number_verified`` attribute is set to ``True`` , or if ``"SMS"`` is specified in the ``DesiredDeliveryMediums`` parameter.
12523
+ :param user_attributes: An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than ``Username`` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to ``AdminCreateUser`` ) or the user should supply (when they sign up in response to your welcome message). For custom attributes, you must prepend the ``custom:`` prefix to the attribute name. To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. You must also provide an email address or phone number when you expect the user to do passwordless sign-in with an email or SMS OTP. These attributes must be provided when passwordless options are the only available, or when you don't submit a ``TemporaryPassword`` . In your call to ``AdminCreateUser`` , you can set the ``email_verified`` attribute to ``True`` , and you can set the ``phone_number_verified`` attribute to ``True`` . You can also do this by calling `AdminUpdateUserAttributes <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html>`_ . - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the ``email_verified`` attribute is set to ``True`` , or if ``"EMAIL"`` is specified in the ``DesiredDeliveryMediums`` parameter. - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the ``phone_number_verified`` attribute is set to ``True`` , or if ``"SMS"`` is specified in the ``DesiredDeliveryMediums`` parameter.
11722
12524
  :param username: The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter. - The username can't be a duplicate of another username in the same user pool. - You can't change the value of a username after you create it. - You can only provide a value if usernames are a valid sign-in attribute for your user pool. If your user pool only supports phone numbers or email addresses as sign-in attributes, Amazon Cognito automatically generates a username value. For more information, see `Customizing sign-in attributes <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases>`_ .
11723
12525
  :param validation_data: Temporary user attributes that contribute to the outcomes of your pre sign-up Lambda trigger. This set of key-value pairs are for custom validation of information that you collect from your users but don't need to retain. Your Lambda function can analyze this additional data and act on it. Your function might perform external API operations like logging user attributes and validation data to Amazon CloudWatch Logs. Validation data might also affect the response that your function returns to Amazon Cognito, like automatically confirming the user if they sign up from within your network. For more information about the pre sign-up Lambda trigger, see `Pre sign-up Lambda trigger <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html>`_ .
11724
12526
  '''
@@ -12008,7 +12810,7 @@ class CfnUserPoolUserProps:
12008
12810
  :param desired_delivery_mediums: Specify ``"EMAIL"`` if email will be used to send the welcome message. Specify ``"SMS"`` if the phone number will be used. The default value is ``"SMS"`` . You can specify more than one value.
12009
12811
  :param force_alias_creation: This parameter is used only if the ``phone_number_verified`` or ``email_verified`` attribute is set to ``True`` . Otherwise, it is ignored. If this parameter is set to ``True`` and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias. If this parameter is set to ``False`` , the API throws an ``AliasExistsException`` error if the alias already exists. The default value is ``False`` .
12010
12812
  :param message_action: Set to ``RESEND`` to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to ``SUPPRESS`` to suppress sending the message. You can specify only one value.
12011
- :param user_attributes: An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than ``Username`` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to ``AdminCreateUser`` ) or the user should supply (when they sign up in response to your welcome message). For custom attributes, you must prepend the ``custom:`` prefix to the attribute name. To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. In your call to ``AdminCreateUser`` , you can set the ``email_verified`` attribute to ``True`` , and you can set the ``phone_number_verified`` attribute to ``True`` . You can also do this by calling `AdminUpdateUserAttributes <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html>`_ . - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the ``email_verified`` attribute is set to ``True`` , or if ``"EMAIL"`` is specified in the ``DesiredDeliveryMediums`` parameter. - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the ``phone_number_verified`` attribute is set to ``True`` , or if ``"SMS"`` is specified in the ``DesiredDeliveryMediums`` parameter.
12813
+ :param user_attributes: An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than ``Username`` . However, any attributes that you specify as required (when creating a user pool or in the *Attributes* tab of the console) either you should supply (in your call to ``AdminCreateUser`` ) or the user should supply (when they sign up in response to your welcome message). For custom attributes, you must prepend the ``custom:`` prefix to the attribute name. To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools. You must also provide an email address or phone number when you expect the user to do passwordless sign-in with an email or SMS OTP. These attributes must be provided when passwordless options are the only available, or when you don't submit a ``TemporaryPassword`` . In your call to ``AdminCreateUser`` , you can set the ``email_verified`` attribute to ``True`` , and you can set the ``phone_number_verified`` attribute to ``True`` . You can also do this by calling `AdminUpdateUserAttributes <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html>`_ . - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the ``email_verified`` attribute is set to ``True`` , or if ``"EMAIL"`` is specified in the ``DesiredDeliveryMediums`` parameter. - *phone_number* : The phone number of the user to whom the message that contains the code and username will be sent. Required if the ``phone_number_verified`` attribute is set to ``True`` , or if ``"SMS"`` is specified in the ``DesiredDeliveryMediums`` parameter.
12012
12814
  :param username: The value that you want to set as the username sign-in attribute. The following conditions apply to the username parameter. - The username can't be a duplicate of another username in the same user pool. - You can't change the value of a username after you create it. - You can only provide a value if usernames are a valid sign-in attribute for your user pool. If your user pool only supports phone numbers or email addresses as sign-in attributes, Amazon Cognito automatically generates a username value. For more information, see `Customizing sign-in attributes <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-aliases>`_ .
12013
12815
  :param validation_data: Temporary user attributes that contribute to the outcomes of your pre sign-up Lambda trigger. This set of key-value pairs are for custom validation of information that you collect from your users but don't need to retain. Your Lambda function can analyze this additional data and act on it. Your function might perform external API operations like logging user attributes and validation data to Amazon CloudWatch Logs. Validation data might also affect the response that your function returns to Amazon Cognito, like automatically confirming the user if they sign up from within your network. For more information about the pre sign-up Lambda trigger, see `Pre sign-up Lambda trigger <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-sign-up.html>`_ .
12014
12816
 
@@ -12153,6 +12955,8 @@ class CfnUserPoolUserProps:
12153
12955
 
12154
12956
  To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or in the *Users* tab of the Amazon Cognito console for managing your user pools.
12155
12957
 
12958
+ You must also provide an email address or phone number when you expect the user to do passwordless sign-in with an email or SMS OTP. These attributes must be provided when passwordless options are the only available, or when you don't submit a ``TemporaryPassword`` .
12959
+
12156
12960
  In your call to ``AdminCreateUser`` , you can set the ``email_verified`` attribute to ``True`` , and you can set the ``phone_number_verified`` attribute to ``True`` . You can also do this by calling `AdminUpdateUserAttributes <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html>`_ .
12157
12961
 
12158
12962
  - *email* : The email address of the user to whom the message that contains the code and username will be sent. Required if the ``email_verified`` attribute is set to ``True`` , or if ``"EMAIL"`` is specified in the ``DesiredDeliveryMediums`` parameter.
@@ -13026,6 +13830,21 @@ class EmailSettings:
13026
13830
  )
13027
13831
 
13028
13832
 
13833
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_cognito.FeaturePlan")
13834
+ class FeaturePlan(enum.Enum):
13835
+ '''The user pool feature plan, or tier.
13836
+
13837
+ :see: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html
13838
+ '''
13839
+
13840
+ LITE = "LITE"
13841
+ '''Lite feature plan.'''
13842
+ ESSENTIALS = "ESSENTIALS"
13843
+ '''Essentials feature plan.'''
13844
+ PLUS = "PLUS"
13845
+ '''Plus feature plan.'''
13846
+
13847
+
13029
13848
  @jsii.interface(jsii_type="aws-cdk-lib.aws_cognito.ICustomAttribute")
13030
13849
  class ICustomAttribute(typing_extensions.Protocol):
13031
13850
  '''Represents a custom attribute type.'''
@@ -13774,7 +14593,7 @@ class MfaSecondFactor:
13774
14593
 
13775
14594
  :param otp: The MFA token is a time-based one time password that is generated by a hardware or software token. Default: false
13776
14595
  :param sms: The MFA token is sent to the user via SMS to their verified phone numbers. Default: true
13777
- :param email: The MFA token is sent to the user via EMAIL. To enable email-based MFA, set ``email`` property to the Amazon SES email-sending configuration and set ``advancedSecurityMode`` to ``AdvancedSecurity.ENFORCED`` or ``AdvancedSecurity.AUDIT`` Default: false
14596
+ :param email: The MFA token is sent to the user via EMAIL. To enable email-based MFA, set ``email`` property to the Amazon SES email-sending configuration and set ``feturePlan`` to ``FeaturePlan.ESSENTIALS`` or ``FeaturePlan.PLUS`` Default: false
13778
14597
 
13779
14598
  :see: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-mfa.html
13780
14599
  :exampleMetadata: infused
@@ -13832,7 +14651,7 @@ class MfaSecondFactor:
13832
14651
  '''The MFA token is sent to the user via EMAIL.
13833
14652
 
13834
14653
  To enable email-based MFA, set ``email`` property to the Amazon SES email-sending configuration
13835
- and set ``advancedSecurityMode`` to ``AdvancedSecurity.ENFORCED`` or ``AdvancedSecurity.AUDIT``
14654
+ and set ``feturePlan`` to ``FeaturePlan.ESSENTIALS`` or ``FeaturePlan.PLUS``
13836
14655
 
13837
14656
  :default: false
13838
14657
 
@@ -16392,6 +17211,7 @@ class UserPool(
16392
17211
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
16393
17212
  email: typing.Optional["UserPoolEmail"] = None,
16394
17213
  enable_sms_role: typing.Optional[builtins.bool] = None,
17214
+ feature_plan: typing.Optional[FeaturePlan] = None,
16395
17215
  keep_original: typing.Optional[typing.Union[KeepOriginalAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
16396
17216
  lambda_triggers: typing.Optional[typing.Union["UserPoolTriggers", typing.Dict[builtins.str, typing.Any]]] = None,
16397
17217
  mfa: typing.Optional[Mfa] = None,
@@ -16414,7 +17234,7 @@ class UserPool(
16414
17234
  :param scope: -
16415
17235
  :param id: -
16416
17236
  :param account_recovery: How will a user be able to recover their account? Default: AccountRecovery.PHONE_WITHOUT_MFA_AND_EMAIL
16417
- :param advanced_security_mode: The user pool's Advanced Security Mode. Default: - no value
17237
+ :param advanced_security_mode: (deprecated) The user pool's Advanced Security Mode. Default: - no value
16418
17238
  :param auto_verify: Attributes which Cognito will look to verify automatically upon user sign up. EMAIL and PHONE are the only available options. Default: - If ``signInAlias`` includes email and/or phone, they will be included in ``autoVerifiedAttributes`` by default. If absent, no attributes will be auto-verified.
16419
17239
  :param custom_attributes: Define a set of custom attributes that can be configured for each user in the user pool. Default: - No custom attributes.
16420
17240
  :param custom_sender_kms_key: This key will be used to encrypt temporary passwords and authorization codes that Amazon Cognito generates. Default: - no key ID configured
@@ -16422,6 +17242,7 @@ class UserPool(
16422
17242
  :param device_tracking: Device tracking settings. Default: - see defaults on each property of DeviceTracking.
16423
17243
  :param email: Email settings for a user pool. Default: - cognito will use the default email configuration
16424
17244
  :param enable_sms_role: Setting this would explicitly enable or disable SMS role creation. When left unspecified, CDK will determine based on other properties if a role is needed or not. Default: - CDK will determine based on other properties of the user pool if an SMS role should be created or not.
17245
+ :param feature_plan: The user pool feature plan, or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Default: - FeaturePlan.ESSENTIALS for a newly created user pool; FeaturePlan.LITE otherwise
16425
17246
  :param keep_original: Attributes which Cognito will look to handle changes to the value of your users' email address and phone number attributes. EMAIL and PHONE are the only available options. Default: - Nothing is kept.
16426
17247
  :param lambda_triggers: Lambda functions to use for supported Cognito triggers. Default: - No Lambda triggers.
16427
17248
  :param mfa: Configure whether users of this user pool can or are required use MFA to sign in. Default: Mfa.OFF
@@ -16454,6 +17275,7 @@ class UserPool(
16454
17275
  device_tracking=device_tracking,
16455
17276
  email=email,
16456
17277
  enable_sms_role=enable_sms_role,
17278
+ feature_plan=feature_plan,
16457
17279
  keep_original=keep_original,
16458
17280
  lambda_triggers=lambda_triggers,
16459
17281
  mfa=mfa,
@@ -17730,9 +18552,22 @@ class UserPoolDomain(
17730
18552
  @builtins.property
17731
18553
  @jsii.member(jsii_name="cloudFrontDomainName")
17732
18554
  def cloud_front_domain_name(self) -> builtins.str:
17733
- '''The domain name of the CloudFront distribution associated with the user pool domain.'''
18555
+ '''(deprecated) The domain name of the CloudFront distribution associated with the user pool domain.
18556
+
18557
+ This method creates a custom resource internally to get the CloudFront domain name.
18558
+
18559
+ :deprecated: use ``cloudFrontEndpoint`` method instead.
18560
+
18561
+ :stability: deprecated
18562
+ '''
17734
18563
  return typing.cast(builtins.str, jsii.get(self, "cloudFrontDomainName"))
17735
18564
 
18565
+ @builtins.property
18566
+ @jsii.member(jsii_name="cloudFrontEndpoint")
18567
+ def cloud_front_endpoint(self) -> builtins.str:
18568
+ '''The domain name of the CloudFront distribution associated with the user pool domain.'''
18569
+ return typing.cast(builtins.str, jsii.get(self, "cloudFrontEndpoint"))
18570
+
17736
18571
  @builtins.property
17737
18572
  @jsii.member(jsii_name="domainName")
17738
18573
  def domain_name(self) -> builtins.str:
@@ -19684,6 +20519,7 @@ class UserPoolOperation(
19684
20519
  "device_tracking": "deviceTracking",
19685
20520
  "email": "email",
19686
20521
  "enable_sms_role": "enableSmsRole",
20522
+ "feature_plan": "featurePlan",
19687
20523
  "keep_original": "keepOriginal",
19688
20524
  "lambda_triggers": "lambdaTriggers",
19689
20525
  "mfa": "mfa",
@@ -19716,6 +20552,7 @@ class UserPoolProps:
19716
20552
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
19717
20553
  email: typing.Optional[UserPoolEmail] = None,
19718
20554
  enable_sms_role: typing.Optional[builtins.bool] = None,
20555
+ feature_plan: typing.Optional[FeaturePlan] = None,
19719
20556
  keep_original: typing.Optional[typing.Union[KeepOriginalAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
19720
20557
  lambda_triggers: typing.Optional[typing.Union["UserPoolTriggers", typing.Dict[builtins.str, typing.Any]]] = None,
19721
20558
  mfa: typing.Optional[Mfa] = None,
@@ -19737,7 +20574,7 @@ class UserPoolProps:
19737
20574
  '''Props for the UserPool construct.
19738
20575
 
19739
20576
  :param account_recovery: How will a user be able to recover their account? Default: AccountRecovery.PHONE_WITHOUT_MFA_AND_EMAIL
19740
- :param advanced_security_mode: The user pool's Advanced Security Mode. Default: - no value
20577
+ :param advanced_security_mode: (deprecated) The user pool's Advanced Security Mode. Default: - no value
19741
20578
  :param auto_verify: Attributes which Cognito will look to verify automatically upon user sign up. EMAIL and PHONE are the only available options. Default: - If ``signInAlias`` includes email and/or phone, they will be included in ``autoVerifiedAttributes`` by default. If absent, no attributes will be auto-verified.
19742
20579
  :param custom_attributes: Define a set of custom attributes that can be configured for each user in the user pool. Default: - No custom attributes.
19743
20580
  :param custom_sender_kms_key: This key will be used to encrypt temporary passwords and authorization codes that Amazon Cognito generates. Default: - no key ID configured
@@ -19745,6 +20582,7 @@ class UserPoolProps:
19745
20582
  :param device_tracking: Device tracking settings. Default: - see defaults on each property of DeviceTracking.
19746
20583
  :param email: Email settings for a user pool. Default: - cognito will use the default email configuration
19747
20584
  :param enable_sms_role: Setting this would explicitly enable or disable SMS role creation. When left unspecified, CDK will determine based on other properties if a role is needed or not. Default: - CDK will determine based on other properties of the user pool if an SMS role should be created or not.
20585
+ :param feature_plan: The user pool feature plan, or tier. This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection. Default: - FeaturePlan.ESSENTIALS for a newly created user pool; FeaturePlan.LITE otherwise
19748
20586
  :param keep_original: Attributes which Cognito will look to handle changes to the value of your users' email address and phone number attributes. EMAIL and PHONE are the only available options. Default: - Nothing is kept.
19749
20587
  :param lambda_triggers: Lambda functions to use for supported Cognito triggers. Default: - No Lambda triggers.
19750
20588
  :param mfa: Configure whether users of this user pool can or are required use MFA to sign in. Default: Mfa.OFF
@@ -19809,6 +20647,7 @@ class UserPoolProps:
19809
20647
  check_type(argname="argument device_tracking", value=device_tracking, expected_type=type_hints["device_tracking"])
19810
20648
  check_type(argname="argument email", value=email, expected_type=type_hints["email"])
19811
20649
  check_type(argname="argument enable_sms_role", value=enable_sms_role, expected_type=type_hints["enable_sms_role"])
20650
+ check_type(argname="argument feature_plan", value=feature_plan, expected_type=type_hints["feature_plan"])
19812
20651
  check_type(argname="argument keep_original", value=keep_original, expected_type=type_hints["keep_original"])
19813
20652
  check_type(argname="argument lambda_triggers", value=lambda_triggers, expected_type=type_hints["lambda_triggers"])
19814
20653
  check_type(argname="argument mfa", value=mfa, expected_type=type_hints["mfa"])
@@ -19845,6 +20684,8 @@ class UserPoolProps:
19845
20684
  self._values["email"] = email
19846
20685
  if enable_sms_role is not None:
19847
20686
  self._values["enable_sms_role"] = enable_sms_role
20687
+ if feature_plan is not None:
20688
+ self._values["feature_plan"] = feature_plan
19848
20689
  if keep_original is not None:
19849
20690
  self._values["keep_original"] = keep_original
19850
20691
  if lambda_triggers is not None:
@@ -19891,9 +20732,13 @@ class UserPoolProps:
19891
20732
 
19892
20733
  @builtins.property
19893
20734
  def advanced_security_mode(self) -> typing.Optional[AdvancedSecurityMode]:
19894
- '''The user pool's Advanced Security Mode.
20735
+ '''(deprecated) The user pool's Advanced Security Mode.
19895
20736
 
19896
20737
  :default: - no value
20738
+
20739
+ :deprecated: Advanced Security Mode is deprecated in favor of user pool feature plans.
20740
+
20741
+ :stability: deprecated
19897
20742
  '''
19898
20743
  result = self._values.get("advanced_security_mode")
19899
20744
  return typing.cast(typing.Optional[AdvancedSecurityMode], result)
@@ -19972,6 +20817,19 @@ class UserPoolProps:
19972
20817
  result = self._values.get("enable_sms_role")
19973
20818
  return typing.cast(typing.Optional[builtins.bool], result)
19974
20819
 
20820
+ @builtins.property
20821
+ def feature_plan(self) -> typing.Optional[FeaturePlan]:
20822
+ '''The user pool feature plan, or tier.
20823
+
20824
+ This parameter determines the eligibility of the user pool for features like managed login, access-token customization, and threat protection.
20825
+
20826
+ :default: - FeaturePlan.ESSENTIALS for a newly created user pool; FeaturePlan.LITE otherwise
20827
+
20828
+ :see: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html
20829
+ '''
20830
+ result = self._values.get("feature_plan")
20831
+ return typing.cast(typing.Optional[FeaturePlan], result)
20832
+
19975
20833
  @builtins.property
19976
20834
  def keep_original(self) -> typing.Optional[KeepOriginalAttrs]:
19977
20835
  '''Attributes which Cognito will look to handle changes to the value of your users' email address and phone number attributes.
@@ -21994,6 +22852,8 @@ __all__ = [
21994
22852
  "CfnIdentityPoolRoleAttachmentProps",
21995
22853
  "CfnLogDeliveryConfiguration",
21996
22854
  "CfnLogDeliveryConfigurationProps",
22855
+ "CfnManagedLoginBranding",
22856
+ "CfnManagedLoginBrandingProps",
21997
22857
  "CfnUserPool",
21998
22858
  "CfnUserPoolClient",
21999
22859
  "CfnUserPoolClientProps",
@@ -22022,6 +22882,7 @@ __all__ = [
22022
22882
  "DateTimeAttribute",
22023
22883
  "DeviceTracking",
22024
22884
  "EmailSettings",
22885
+ "FeaturePlan",
22025
22886
  "ICustomAttribute",
22026
22887
  "IUserPool",
22027
22888
  "IUserPoolClient",
@@ -22126,6 +22987,7 @@ def _typecheckingstub__3dd38e6e4617deee919f37d20a9ae635331043b4cf42c8d31fdbb0d3c
22126
22987
  *,
22127
22988
  admin_user_password: typing.Optional[builtins.bool] = None,
22128
22989
  custom: typing.Optional[builtins.bool] = None,
22990
+ user: typing.Optional[builtins.bool] = None,
22129
22991
  user_password: typing.Optional[builtins.bool] = None,
22130
22992
  user_srp: typing.Optional[builtins.bool] = None,
22131
22993
  ) -> None:
@@ -22504,6 +23366,91 @@ def _typecheckingstub__585789fa8816c3e4ed9b3aa9967435c1474787f750de3db35983f11ef
22504
23366
  """Type checking stubs"""
22505
23367
  pass
22506
23368
 
23369
+ def _typecheckingstub__478f8899894ffccc3f20b06ae18c36beb41bf5c5c9aa65a99dbdbf95ce00be03(
23370
+ scope: _constructs_77d1e7e8.Construct,
23371
+ id: builtins.str,
23372
+ *,
23373
+ user_pool_id: builtins.str,
23374
+ assets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnManagedLoginBranding.AssetTypeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
23375
+ client_id: typing.Optional[builtins.str] = None,
23376
+ return_merged_resources: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
23377
+ settings: typing.Any = None,
23378
+ use_cognito_provided_values: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
23379
+ ) -> None:
23380
+ """Type checking stubs"""
23381
+ pass
23382
+
23383
+ def _typecheckingstub__a0d347f9b2c0101529861e949ebe0a802ebc429100648b4c870711c733b50faa(
23384
+ inspector: _TreeInspector_488e0dd5,
23385
+ ) -> None:
23386
+ """Type checking stubs"""
23387
+ pass
23388
+
23389
+ def _typecheckingstub__1112e058064e524fbe515ff8791467e6949341c6ddd8deb9c33af3658b16d447(
23390
+ props: typing.Mapping[builtins.str, typing.Any],
23391
+ ) -> None:
23392
+ """Type checking stubs"""
23393
+ pass
23394
+
23395
+ def _typecheckingstub__73b2532ea6e2300654d7fcc90b2b1fd38f772128b765556475cff8c1be577731(
23396
+ value: builtins.str,
23397
+ ) -> None:
23398
+ """Type checking stubs"""
23399
+ pass
23400
+
23401
+ def _typecheckingstub__fc790275f28767420e82246bd64663082d888a2c93af667d6c769ece2924f786(
23402
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnManagedLoginBranding.AssetTypeProperty]]]],
23403
+ ) -> None:
23404
+ """Type checking stubs"""
23405
+ pass
23406
+
23407
+ def _typecheckingstub__a668420e0b3cbceec0ade65febad3505a8186912fb1310c4ecdfbbcd6bac7dc2(
23408
+ value: typing.Optional[builtins.str],
23409
+ ) -> None:
23410
+ """Type checking stubs"""
23411
+ pass
23412
+
23413
+ def _typecheckingstub__ea8e49ce2efc2678bcbf1fdf919c5bbeac64755b39b20ef47a3f76532c424dfc(
23414
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
23415
+ ) -> None:
23416
+ """Type checking stubs"""
23417
+ pass
23418
+
23419
+ def _typecheckingstub__f22fe695e1f64d8a038409355220b2e920e04882727bafb532a5728f1ffe677c(
23420
+ value: typing.Any,
23421
+ ) -> None:
23422
+ """Type checking stubs"""
23423
+ pass
23424
+
23425
+ def _typecheckingstub__4b61f0689e78fea36c23c402c48085be3f2c198b922507818947333d59445895(
23426
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
23427
+ ) -> None:
23428
+ """Type checking stubs"""
23429
+ pass
23430
+
23431
+ def _typecheckingstub__a8c0b7bdabc4393d484227225be1727f821e164eec56517d614639ac2059509c(
23432
+ *,
23433
+ category: builtins.str,
23434
+ color_mode: builtins.str,
23435
+ extension: builtins.str,
23436
+ bytes: typing.Optional[builtins.str] = None,
23437
+ resource_id: typing.Optional[builtins.str] = None,
23438
+ ) -> None:
23439
+ """Type checking stubs"""
23440
+ pass
23441
+
23442
+ def _typecheckingstub__60e207e1aa2ab8ae23b36c3e1ae73765c6f328b13bf0c7b205865e93adc260df(
23443
+ *,
23444
+ user_pool_id: builtins.str,
23445
+ assets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnManagedLoginBranding.AssetTypeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
23446
+ client_id: typing.Optional[builtins.str] = None,
23447
+ return_merged_resources: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
23448
+ settings: typing.Any = None,
23449
+ use_cognito_provided_values: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
23450
+ ) -> None:
23451
+ """Type checking stubs"""
23452
+ pass
23453
+
22507
23454
  def _typecheckingstub__32d20f28e2758f9a461380e2ed5d06233baf0f45541047ba837f26ebc37ee551(
22508
23455
  scope: _constructs_77d1e7e8.Construct,
22509
23456
  id: builtins.str,
@@ -22533,7 +23480,10 @@ def _typecheckingstub__32d20f28e2758f9a461380e2ed5d06233baf0f45541047ba837f26ebc
22533
23480
  user_pool_add_ons: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.UserPoolAddOnsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22534
23481
  user_pool_name: typing.Optional[builtins.str] = None,
22535
23482
  user_pool_tags: typing.Any = None,
23483
+ user_pool_tier: typing.Optional[builtins.str] = None,
22536
23484
  verification_message_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.VerificationMessageTemplateProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
23485
+ web_authn_relying_party_id: typing.Optional[builtins.str] = None,
23486
+ web_authn_user_verification: typing.Optional[builtins.str] = None,
22537
23487
  ) -> None:
22538
23488
  """Type checking stubs"""
22539
23489
  pass
@@ -22700,12 +23650,30 @@ def _typecheckingstub__c0ac7e31445bc4b1c75709a8cde084565899b188ecd5ed75a434afb3f
22700
23650
  """Type checking stubs"""
22701
23651
  pass
22702
23652
 
23653
+ def _typecheckingstub__7b34a7e631952732eaf3564630f968b4a1066c2249e1bd77fa5894ac20d552db(
23654
+ value: typing.Optional[builtins.str],
23655
+ ) -> None:
23656
+ """Type checking stubs"""
23657
+ pass
23658
+
22703
23659
  def _typecheckingstub__9163d1ccc0cf294430031f1b8b5289192a6e048b52e8181e9ca8707780aac888(
22704
23660
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnUserPool.VerificationMessageTemplateProperty]],
22705
23661
  ) -> None:
22706
23662
  """Type checking stubs"""
22707
23663
  pass
22708
23664
 
23665
+ def _typecheckingstub__2a2852b3b820fa8903c8ee86e4c615c763dbc2f40270d7dddb4851a596a4b629(
23666
+ value: typing.Optional[builtins.str],
23667
+ ) -> None:
23668
+ """Type checking stubs"""
23669
+ pass
23670
+
23671
+ def _typecheckingstub__39e1b7a43a4375c7269c036061949915e9a6e4528f8341df4df0a6b046ac6a11(
23672
+ value: typing.Optional[builtins.str],
23673
+ ) -> None:
23674
+ """Type checking stubs"""
23675
+ pass
23676
+
22709
23677
  def _typecheckingstub__79c7f36a6b9a834beef59493981fd8b3c56dae29d4d3d36bb9b0a65305ebd4ce(
22710
23678
  *,
22711
23679
  recovery_mechanisms: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.RecoveryOptionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -22817,6 +23785,7 @@ def _typecheckingstub__388245a445a407251a06f0f49f236a6b0a76ff7177f23a1d5cd9d4ffa
22817
23785
  def _typecheckingstub__9a9937f0b75c9ab1976e5dbd8fe12631390f6d478c894cb0164171b2f9dc39c5(
22818
23786
  *,
22819
23787
  password_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.PasswordPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
23788
+ sign_in_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.SignInPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22820
23789
  ) -> None:
22821
23790
  """Type checking stubs"""
22822
23791
  pass
@@ -22850,6 +23819,13 @@ def _typecheckingstub__9814951786a68c04c05f6bdb7eb01a34fa749e2fb6491b5414b8e8e27
22850
23819
  """Type checking stubs"""
22851
23820
  pass
22852
23821
 
23822
+ def _typecheckingstub__71f41ee8011d666621169ad6aeb915855a76a5e105809ce7914229f99c53dd8d(
23823
+ *,
23824
+ allowed_first_auth_factors: typing.Optional[typing.Sequence[builtins.str]] = None,
23825
+ ) -> None:
23826
+ """Type checking stubs"""
23827
+ pass
23828
+
22853
23829
  def _typecheckingstub__7bdd79abbed6d1c2a56f92beb7e51f5c19f5fdeac49af18d379dda0e31605f6e(
22854
23830
  *,
22855
23831
  external_id: typing.Optional[builtins.str] = None,
@@ -23130,6 +24106,7 @@ def _typecheckingstub__6e0b36c4d155cfdfa9801e3f221c4fe6c5403bf24a64d17bd90fb5386
23130
24106
  domain: builtins.str,
23131
24107
  user_pool_id: builtins.str,
23132
24108
  custom_domain_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPoolDomain.CustomDomainConfigTypeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24109
+ managed_login_version: typing.Optional[jsii.Number] = None,
23133
24110
  ) -> None:
23134
24111
  """Type checking stubs"""
23135
24112
  pass
@@ -23164,6 +24141,12 @@ def _typecheckingstub__534c4957c36eac9a89217ff1b762b65d25e33f26c5048218fc840dc7f
23164
24141
  """Type checking stubs"""
23165
24142
  pass
23166
24143
 
24144
+ def _typecheckingstub__b1d6e8e96816f3572291ff67691b98d76a166cf058320e0e73e58062b8093526(
24145
+ value: typing.Optional[jsii.Number],
24146
+ ) -> None:
24147
+ """Type checking stubs"""
24148
+ pass
24149
+
23167
24150
  def _typecheckingstub__dde97995e450b3b0c5468a27b415565086c00f64bdc255f297a8471e77b85243(
23168
24151
  *,
23169
24152
  certificate_arn: typing.Optional[builtins.str] = None,
@@ -23176,6 +24159,7 @@ def _typecheckingstub__fe5ef2b7c4347565bc988b8d9120bbd5feadcfadd061512019de1519e
23176
24159
  domain: builtins.str,
23177
24160
  user_pool_id: builtins.str,
23178
24161
  custom_domain_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPoolDomain.CustomDomainConfigTypeProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24162
+ managed_login_version: typing.Optional[jsii.Number] = None,
23179
24163
  ) -> None:
23180
24164
  """Type checking stubs"""
23181
24165
  pass
@@ -23347,7 +24331,10 @@ def _typecheckingstub__00bbdbd31eb8d7342ce9883d0851b853acf61f6b243c0aa4323c025da
23347
24331
  user_pool_add_ons: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.UserPoolAddOnsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
23348
24332
  user_pool_name: typing.Optional[builtins.str] = None,
23349
24333
  user_pool_tags: typing.Any = None,
24334
+ user_pool_tier: typing.Optional[builtins.str] = None,
23350
24335
  verification_message_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.VerificationMessageTemplateProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24336
+ web_authn_relying_party_id: typing.Optional[builtins.str] = None,
24337
+ web_authn_user_verification: typing.Optional[builtins.str] = None,
23351
24338
  ) -> None:
23352
24339
  """Type checking stubs"""
23353
24340
  pass
@@ -24087,6 +25074,7 @@ def _typecheckingstub__677a8ec9a3f2a22d2dfde6fd6818121e4a071dc4e942f6bbe219e5a9b
24087
25074
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
24088
25075
  email: typing.Optional[UserPoolEmail] = None,
24089
25076
  enable_sms_role: typing.Optional[builtins.bool] = None,
25077
+ feature_plan: typing.Optional[FeaturePlan] = None,
24090
25078
  keep_original: typing.Optional[typing.Union[KeepOriginalAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
24091
25079
  lambda_triggers: typing.Optional[typing.Union[UserPoolTriggers, typing.Dict[builtins.str, typing.Any]]] = None,
24092
25080
  mfa: typing.Optional[Mfa] = None,
@@ -24535,6 +25523,7 @@ def _typecheckingstub__754b1af40b4712720733e130c63a8ec0ca9a35d4cfb25450725d5aa02
24535
25523
  device_tracking: typing.Optional[typing.Union[DeviceTracking, typing.Dict[builtins.str, typing.Any]]] = None,
24536
25524
  email: typing.Optional[UserPoolEmail] = None,
24537
25525
  enable_sms_role: typing.Optional[builtins.bool] = None,
25526
+ feature_plan: typing.Optional[FeaturePlan] = None,
24538
25527
  keep_original: typing.Optional[typing.Union[KeepOriginalAttrs, typing.Dict[builtins.str, typing.Any]]] = None,
24539
25528
  lambda_triggers: typing.Optional[typing.Union[UserPoolTriggers, typing.Dict[builtins.str, typing.Any]]] = None,
24540
25529
  mfa: typing.Optional[Mfa] = None,