aws-cdk-lib 2.162.1__py3-none-any.whl → 2.163.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 (59) hide show
  1. aws_cdk/__init__.py +5 -7
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.162.1.jsii.tgz → aws-cdk-lib@2.163.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +7 -7
  5. aws_cdk/aws_appflow/__init__.py +30 -16
  6. aws_cdk/aws_appsync/__init__.py +11 -21
  7. aws_cdk/aws_autoscaling/__init__.py +123 -0
  8. aws_cdk/aws_b2bi/__init__.py +83 -57
  9. aws_cdk/aws_cloudformation/__init__.py +5 -7
  10. aws_cdk/aws_codebuild/__init__.py +19 -40
  11. aws_cdk/aws_codepipeline/__init__.py +88 -7
  12. aws_cdk/aws_cognito/__init__.py +282 -168
  13. aws_cdk/aws_dms/__init__.py +1076 -117
  14. aws_cdk/aws_docdb/__init__.py +19 -13
  15. aws_cdk/aws_dynamodb/__init__.py +43 -22
  16. aws_cdk/aws_ec2/__init__.py +1213 -38
  17. aws_cdk/aws_ecs/__init__.py +187 -18
  18. aws_cdk/aws_ecs_patterns/__init__.py +189 -27
  19. aws_cdk/aws_efs/__init__.py +56 -37
  20. aws_cdk/aws_eks/__init__.py +6 -2
  21. aws_cdk/aws_elasticache/__init__.py +118 -118
  22. aws_cdk/aws_elasticloadbalancingv2/__init__.py +21 -1
  23. aws_cdk/aws_emr/__init__.py +124 -57
  24. aws_cdk/aws_events/__init__.py +40 -0
  25. aws_cdk/aws_fms/__init__.py +757 -8
  26. aws_cdk/aws_fsx/__init__.py +245 -10
  27. aws_cdk/aws_gamelift/__init__.py +121 -0
  28. aws_cdk/aws_glue/__init__.py +344 -61
  29. aws_cdk/aws_iam/__init__.py +44 -0
  30. aws_cdk/aws_identitystore/__init__.py +4 -2
  31. aws_cdk/aws_iot/__init__.py +40 -12
  32. aws_cdk/aws_kinesis/__init__.py +239 -0
  33. aws_cdk/aws_kms/__init__.py +92 -3
  34. aws_cdk/aws_lambda/__init__.py +2 -2
  35. aws_cdk/aws_mediapackagev2/__init__.py +26 -10
  36. aws_cdk/aws_memorydb/__init__.py +7 -7
  37. aws_cdk/aws_networkfirewall/__init__.py +89 -0
  38. aws_cdk/aws_qbusiness/__init__.py +51 -7
  39. aws_cdk/aws_quicksight/__init__.py +221 -87
  40. aws_cdk/aws_rds/__init__.py +376 -75
  41. aws_cdk/aws_redshift/__init__.py +493 -13
  42. aws_cdk/aws_route53profiles/__init__.py +4 -2
  43. aws_cdk/aws_route53resolver/__init__.py +26 -60
  44. aws_cdk/aws_s3/__init__.py +104 -4
  45. aws_cdk/aws_s3express/__init__.py +73 -13
  46. aws_cdk/aws_s3outposts/__init__.py +21 -12
  47. aws_cdk/aws_sagemaker/__init__.py +4 -44
  48. aws_cdk/aws_ssmquicksetup/__init__.py +2 -2
  49. aws_cdk/aws_stepfunctions/__init__.py +529 -156
  50. aws_cdk/aws_transfer/__init__.py +15 -4
  51. aws_cdk/aws_waf/__init__.py +11 -11
  52. aws_cdk/aws_wafregional/__init__.py +12 -12
  53. aws_cdk/aws_wisdom/__init__.py +710 -5
  54. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/METADATA +1 -1
  55. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/RECORD +59 -59
  56. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/LICENSE +0 -0
  57. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/NOTICE +0 -0
  58. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/WHEEL +0 -0
  59. {aws_cdk_lib-2.162.1.dist-info → aws_cdk_lib-2.163.0.dist-info}/top_level.txt +0 -0
@@ -990,6 +990,23 @@ userpool = cognito.UserPool(self, "UserPool",
990
990
  ```
991
991
 
992
992
  By default deletion protection is disabled.
993
+
994
+ ### `email_verified` Attribute Mapping
995
+
996
+ If you use a third-party identity provider, you can specify the `email_verified` attribute in attributeMapping.
997
+
998
+ ```python
999
+ userpool = cognito.UserPool(self, "Pool")
1000
+
1001
+ cognito.UserPoolIdentityProviderGoogle(self, "google",
1002
+ user_pool=userpool,
1003
+ client_id="google-client-id",
1004
+ attribute_mapping=cognito.AttributeMapping(
1005
+ email=cognito.ProviderAttribute.GOOGLE_EMAIL,
1006
+ email_verified=cognito.ProviderAttribute.GOOGLE_EMAIL_VERIFIED
1007
+ )
1008
+ )
1009
+ ```
993
1010
  '''
994
1011
  from pkgutil import extend_path
995
1012
  __path__ = extend_path(__path__, __name__)
@@ -1116,6 +1133,7 @@ class AdvancedSecurityMode(enum.Enum):
1116
1133
  "birthdate": "birthdate",
1117
1134
  "custom": "custom",
1118
1135
  "email": "email",
1136
+ "email_verified": "emailVerified",
1119
1137
  "family_name": "familyName",
1120
1138
  "fullname": "fullname",
1121
1139
  "gender": "gender",
@@ -1140,6 +1158,7 @@ class AttributeMapping:
1140
1158
  birthdate: typing.Optional["ProviderAttribute"] = None,
1141
1159
  custom: typing.Optional[typing.Mapping[builtins.str, "ProviderAttribute"]] = None,
1142
1160
  email: typing.Optional["ProviderAttribute"] = None,
1161
+ email_verified: typing.Optional["ProviderAttribute"] = None,
1143
1162
  family_name: typing.Optional["ProviderAttribute"] = None,
1144
1163
  fullname: typing.Optional["ProviderAttribute"] = None,
1145
1164
  gender: typing.Optional["ProviderAttribute"] = None,
@@ -1161,6 +1180,7 @@ class AttributeMapping:
1161
1180
  :param birthdate: The user's birthday. Default: - not mapped
1162
1181
  :param custom: Specify custom attribute mapping here and mapping for any standard attributes not supported yet. Default: - no custom attribute mapping
1163
1182
  :param email: The user's e-mail address. Default: - not mapped
1183
+ :param email_verified: The user's e-mail address is verification. Default: - not mapped
1164
1184
  :param family_name: The surname or last name of user. Default: - not mapped
1165
1185
  :param fullname: The user's full name in displayable form. Default: - not mapped
1166
1186
  :param gender: The user's gender. Default: - not mapped
@@ -1202,6 +1222,7 @@ class AttributeMapping:
1202
1222
  check_type(argname="argument birthdate", value=birthdate, expected_type=type_hints["birthdate"])
1203
1223
  check_type(argname="argument custom", value=custom, expected_type=type_hints["custom"])
1204
1224
  check_type(argname="argument email", value=email, expected_type=type_hints["email"])
1225
+ check_type(argname="argument email_verified", value=email_verified, expected_type=type_hints["email_verified"])
1205
1226
  check_type(argname="argument family_name", value=family_name, expected_type=type_hints["family_name"])
1206
1227
  check_type(argname="argument fullname", value=fullname, expected_type=type_hints["fullname"])
1207
1228
  check_type(argname="argument gender", value=gender, expected_type=type_hints["gender"])
@@ -1225,6 +1246,8 @@ class AttributeMapping:
1225
1246
  self._values["custom"] = custom
1226
1247
  if email is not None:
1227
1248
  self._values["email"] = email
1249
+ if email_verified is not None:
1250
+ self._values["email_verified"] = email_verified
1228
1251
  if family_name is not None:
1229
1252
  self._values["family_name"] = family_name
1230
1253
  if fullname is not None:
@@ -1292,6 +1315,15 @@ class AttributeMapping:
1292
1315
  result = self._values.get("email")
1293
1316
  return typing.cast(typing.Optional["ProviderAttribute"], result)
1294
1317
 
1318
+ @builtins.property
1319
+ def email_verified(self) -> typing.Optional["ProviderAttribute"]:
1320
+ '''The user's e-mail address is verification.
1321
+
1322
+ :default: - not mapped
1323
+ '''
1324
+ result = self._values.get("email_verified")
1325
+ return typing.cast(typing.Optional["ProviderAttribute"], result)
1326
+
1295
1327
  @builtins.property
1296
1328
  def family_name(self) -> typing.Optional["ProviderAttribute"]:
1297
1329
  '''The surname or last name of user.
@@ -3365,7 +3397,9 @@ class CfnLogDeliveryConfiguration(
3365
3397
  metaclass=jsii.JSIIMeta,
3366
3398
  jsii_type="aws-cdk-lib.aws_cognito.CfnLogDeliveryConfiguration",
3367
3399
  ):
3368
- '''The logging parameters of a user pool, as returned in the response to a `GetLogDeliveryConfiguration <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetLogDeliveryConfiguration.html>`_ request.
3400
+ '''Sets up or modifies the logging configuration of a user pool.
3401
+
3402
+ User pools can export user notification logs and advanced security features user activity logs.
3369
3403
 
3370
3404
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html
3371
3405
  :cloudformationResource: AWS::Cognito::LogDeliveryConfiguration
@@ -3509,8 +3543,6 @@ class CfnLogDeliveryConfiguration(
3509
3543
  ) -> None:
3510
3544
  '''Configuration for the CloudWatch log group destination of user pool detailed activity logging, or of user activity log export with advanced security features.
3511
3545
 
3512
- This data type is a request parameter of `SetLogDeliveryConfiguration <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetLogDeliveryConfiguration.html>`_ and a response parameter of `GetLogDeliveryConfiguration <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetLogDeliveryConfiguration.html>`_ .
3513
-
3514
3546
  :param log_group_arn: The Amazon Resource Name (arn) of a CloudWatch Logs log group where your user pool sends logs. The log group must not be encrypted with AWS Key Management Service and must be in the same AWS account as your user pool. To send logs to log groups with a resource policy of a size greater than 5120 characters, configure a log group with a path that starts with ``/aws/vendedlogs`` . For more information, see `Enabling logging from certain AWS services <https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html>`_ .
3515
3547
 
3516
3548
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-cloudwatchlogsconfiguration.html
@@ -4074,28 +4106,28 @@ class CfnUserPool(
4074
4106
  '''
4075
4107
  :param scope: Scope in which this resource is defined.
4076
4108
  :param id: Construct identifier for this resource (unique in its scope).
4077
- :param account_recovery_setting: Use this setting to define which verified available method a user can use to recover their password when they call ``ForgotPassword`` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email.
4109
+ :param account_recovery_setting: The available verified method a user can use to recover their password when they call ``ForgotPassword`` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.
4078
4110
  :param admin_create_user_config: The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. 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>`_ .
4079
- :param alias_attributes: Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . .. epigraph:: This user pool property cannot be updated.
4111
+ :param alias_attributes: Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* .
4080
4112
  :param auto_verified_attributes: The attributes to be auto-verified. Possible values: *email* , *phone_number* .
4081
4113
  :param deletion_protection: When active, ``DeletionProtection`` prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature. When you try to delete a protected user pool in a ``DeleteUserPool`` API request, Amazon Cognito returns an ``InvalidParameterException`` error. To delete a protected user pool, send a new ``DeleteUserPool`` request after you deactivate deletion protection in an ``UpdateUserPool`` API request.
4082
4114
  :param device_configuration: The device-remembering configuration for a user pool. A null value indicates that you have deactivated device remembering in your user pool. .. epigraph:: When you provide a value for any ``DeviceConfiguration`` field, you activate the Amazon Cognito device-remembering feature.
4083
4115
  :param email_authentication_message:
4084
4116
  :param email_authentication_subject:
4085
4117
  :param email_configuration: The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool.
4086
- :param email_verification_message: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html>`_ .
4087
- :param email_verification_subject: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html>`_ .
4088
- :param enabled_mfas: Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to OFF and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to OFF”. Can be one of the following values: - ``SMS_MFA`` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. - ``SOFTWARE_TOKEN_MFA`` - Enables software token MFA for the user pool. Allowed values: ``SMS_MFA`` | ``SOFTWARE_TOKEN_MFA``
4118
+ :param email_verification_message: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html>`_ .
4119
+ :param email_verification_subject: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html>`_ .
4120
+ :param enabled_mfas: Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set ``MfaConfiguration`` to ``OFF`` and remove EnabledMfas. MFAs can only be all disabled if ``MfaConfiguration`` is ``OFF`` . After you enable ``SMS_MFA`` , you can only disable it by setting ``MfaConfiguration`` to ``OFF`` . Can be one of the following values: - ``SMS_MFA`` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for ``SmsConfiguration`` . - ``SOFTWARE_TOKEN_MFA`` - Enables software token MFA for the user pool. - ``EMAIL_OTP`` - Enables MFA with email for the user pool. To select this option, you must provide values for ``EmailConfiguration`` and within those, set ``EmailSendingAccount`` to ``DEVELOPER`` . Allowed values: ``SMS_MFA`` | ``SOFTWARE_TOKEN_MFA`` | ``EMAIL_OTP``
4089
4121
  :param lambda_config: A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them.
4090
4122
  :param mfa_configuration: The multi-factor authentication (MFA) configuration. Valid values include:. - ``OFF`` MFA won't be used for any users. - ``ON`` MFA is required for all users to sign in. - ``OPTIONAL`` MFA will be required only for individual users who have an MFA factor activated.
4091
4123
  :param policies: A list of user pool policies. Contains the policy that sets password-complexity requirements. 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>`_ .
4092
- :param schema: The schema attributes for the new user pool. These attributes can be standard or custom attributes. .. epigraph:: During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute.
4093
- :param sms_authentication_message: A string representing the SMS authentication message.
4124
+ :param schema: An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.
4125
+ :param sms_authentication_message: The contents of the SMS authentication message.
4094
4126
  :param sms_configuration: The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your AWS account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account .
4095
- :param sms_verification_message: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html>`_ .
4127
+ :param sms_verification_message: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html>`_ .
4096
4128
  :param user_attribute_update_settings: The settings for updates to user attributes. These settings include the property ``AttributesRequireVerificationBeforeUpdate`` , a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For more information, see `Verifying updates to email addresses and phone numbers <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates>`_ .
4097
- :param username_attributes: Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: ``phone_number`` or ``email`` . This user pool property cannot be updated.
4098
- :param username_configuration: You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to ``False`` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set.
4129
+ :param username_attributes: Specifies whether a user can use an email address or phone number as a username when they sign up.
4130
+ :param username_configuration: Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to ``False`` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, ``username`` , ``USERNAME`` , or ``UserName`` , or for email, ``email@example.com`` or ``EMaiL@eXamplE.Com`` . For most use cases, set case sensitivity to ``False`` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. This configuration is immutable after you set it. For more information, see `UsernameConfigurationType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html>`_ .
4099
4131
  :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>`_ .
4100
4132
  :param user_pool_name: A string used to name the user pool.
4101
4133
  :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.
@@ -4178,7 +4210,7 @@ class CfnUserPool(
4178
4210
  @builtins.property
4179
4211
  @jsii.member(jsii_name="attrProviderName")
4180
4212
  def attr_provider_name(self) -> builtins.str:
4181
- '''The provider name of the Amazon Cognito user pool, specified as a ``String`` .
4213
+ '''A friendly name for the IdP.
4182
4214
 
4183
4215
  :cloudformationAttribute: ProviderName
4184
4216
  '''
@@ -4218,7 +4250,7 @@ class CfnUserPool(
4218
4250
  def account_recovery_setting(
4219
4251
  self,
4220
4252
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.AccountRecoverySettingProperty"]]:
4221
- '''Use this setting to define which verified available method a user can use to recover their password when they call ``ForgotPassword`` .'''
4253
+ '''The available verified method a user can use to recover their password when they call ``ForgotPassword`` .'''
4222
4254
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.AccountRecoverySettingProperty"]], jsii.get(self, "accountRecoverySetting"))
4223
4255
 
4224
4256
  @account_recovery_setting.setter
@@ -4252,10 +4284,7 @@ class CfnUserPool(
4252
4284
  @builtins.property
4253
4285
  @jsii.member(jsii_name="aliasAttributes")
4254
4286
  def alias_attributes(self) -> typing.Optional[typing.List[builtins.str]]:
4255
- '''Attributes supported as an alias for this user pool.
4256
-
4257
- Possible values: *phone_number* , *email* , or *preferred_username* .
4258
- '''
4287
+ '''Attributes supported as an alias for this user pool.'''
4259
4288
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "aliasAttributes"))
4260
4289
 
4261
4290
  @alias_attributes.setter
@@ -4392,7 +4421,7 @@ class CfnUserPool(
4392
4421
  @builtins.property
4393
4422
  @jsii.member(jsii_name="enabledMfas")
4394
4423
  def enabled_mfas(self) -> typing.Optional[typing.List[builtins.str]]:
4395
- '''Enables MFA on a specified user pool.'''
4424
+ '''Set enabled MFA options on a specified user pool.'''
4396
4425
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "enabledMfas"))
4397
4426
 
4398
4427
  @enabled_mfas.setter
@@ -4462,10 +4491,7 @@ class CfnUserPool(
4462
4491
  def schema(
4463
4492
  self,
4464
4493
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnUserPool.SchemaAttributeProperty"]]]]:
4465
- '''The schema attributes for the new user pool.
4466
-
4467
- These attributes can be standard or custom attributes.
4468
- '''
4494
+ '''An array of schema attributes for the new user pool.'''
4469
4495
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnUserPool.SchemaAttributeProperty"]]]], jsii.get(self, "schema"))
4470
4496
 
4471
4497
  @schema.setter
@@ -4481,7 +4507,7 @@ class CfnUserPool(
4481
4507
  @builtins.property
4482
4508
  @jsii.member(jsii_name="smsAuthenticationMessage")
4483
4509
  def sms_authentication_message(self) -> typing.Optional[builtins.str]:
4484
- '''A string representing the SMS authentication message.'''
4510
+ '''The contents of the SMS authentication message.'''
4485
4511
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "smsAuthenticationMessage"))
4486
4512
 
4487
4513
  @sms_authentication_message.setter
@@ -4543,7 +4569,7 @@ class CfnUserPool(
4543
4569
  @builtins.property
4544
4570
  @jsii.member(jsii_name="usernameAttributes")
4545
4571
  def username_attributes(self) -> typing.Optional[typing.List[builtins.str]]:
4546
- '''Determines whether email addresses or phone numbers can be specified as user names when a user signs up.'''
4572
+ '''Specifies whether a user can use an email address or phone number as a username when they sign up.'''
4547
4573
  return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "usernameAttributes"))
4548
4574
 
4549
4575
  @username_attributes.setter
@@ -4561,7 +4587,7 @@ class CfnUserPool(
4561
4587
  def username_configuration(
4562
4588
  self,
4563
4589
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.UsernameConfigurationProperty"]]:
4564
- '''You can choose to set case sensitivity on the username input for the selected sign-in option.'''
4590
+ '''Case sensitivity on the username input for the selected sign-in option.'''
4565
4591
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.UsernameConfigurationProperty"]], jsii.get(self, "usernameConfiguration"))
4566
4592
 
4567
4593
  @username_configuration.setter
@@ -4647,11 +4673,11 @@ class CfnUserPool(
4647
4673
  *,
4648
4674
  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,
4649
4675
  ) -> None:
4650
- '''Use this setting to define which verified available method a user can use to recover their password when they call ``ForgotPassword`` .
4676
+ '''The available verified method a user can use to recover their password when they call ``ForgotPassword`` .
4651
4677
 
4652
- It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email.
4678
+ You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.
4653
4679
 
4654
- :param recovery_mechanisms: The list of ``RecoveryOptionTypes`` .
4680
+ :param recovery_mechanisms: The list of options and priorities for user message delivery in forgot-password operations. Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators.
4655
4681
 
4656
4682
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-accountrecoverysetting.html
4657
4683
  :exampleMetadata: fixture=_generated
@@ -4680,7 +4706,9 @@ class CfnUserPool(
4680
4706
  def recovery_mechanisms(
4681
4707
  self,
4682
4708
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnUserPool.RecoveryOptionProperty"]]]]:
4683
- '''The list of ``RecoveryOptionTypes`` .
4709
+ '''The list of options and priorities for user message delivery in forgot-password operations.
4710
+
4711
+ Sets or displays user pool preferences for email or SMS message priority, whether users should fall back to a second delivery method, and whether passwords should only be reset by administrators.
4684
4712
 
4685
4713
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-accountrecoverysetting.html#cfn-cognito-userpool-accountrecoverysetting-recoverymechanisms
4686
4714
  '''
@@ -4715,10 +4743,14 @@ class CfnUserPool(
4715
4743
  invite_message_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPool.InviteMessageTemplateProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4716
4744
  unused_account_validity_days: typing.Optional[jsii.Number] = None,
4717
4745
  ) -> None:
4718
- '''The configuration for ``AdminCreateUser`` requests.
4746
+ '''The settings for administrator creation of users in a user pool.
4747
+
4748
+ Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire.
4749
+
4750
+ 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>`_ .
4719
4751
 
4720
4752
  :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.
4721
- :param invite_message_template: The message template to be used 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>`_ .
4753
+ :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>`_ .
4722
4754
  :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.
4723
4755
 
4724
4756
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html
@@ -4770,7 +4802,7 @@ class CfnUserPool(
4770
4802
  def invite_message_template(
4771
4803
  self,
4772
4804
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.InviteMessageTemplateProperty"]]:
4773
- '''The message template to be used for the welcome message to new users.
4805
+ '''The template for the welcome message to new users.
4774
4806
 
4775
4807
  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>`_ .
4776
4808
 
@@ -4870,10 +4902,12 @@ class CfnUserPool(
4870
4902
  lambda_arn: typing.Optional[builtins.str] = None,
4871
4903
  lambda_version: typing.Optional[builtins.str] = None,
4872
4904
  ) -> None:
4873
- '''A custom email sender AWS Lambda trigger.
4905
+ '''The configuration of a custom email sender Lambda trigger.
4874
4906
 
4875
- :param lambda_arn: The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users.
4876
- :param lambda_version: The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function. The only supported value is ``V1_0`` .
4907
+ This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic.
4908
+
4909
+ :param lambda_arn: The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.
4910
+ :param lambda_version: The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. You must use a ``LambdaVersion`` of ``V1_0`` with a custom sender function.
4877
4911
 
4878
4912
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customemailsender.html
4879
4913
  :exampleMetadata: fixture=_generated
@@ -4901,7 +4935,7 @@ class CfnUserPool(
4901
4935
 
4902
4936
  @builtins.property
4903
4937
  def lambda_arn(self) -> typing.Optional[builtins.str]:
4904
- '''The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send email notifications to users.
4938
+ '''The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.
4905
4939
 
4906
4940
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customemailsender.html#cfn-cognito-userpool-customemailsender-lambdaarn
4907
4941
  '''
@@ -4910,9 +4944,11 @@ class CfnUserPool(
4910
4944
 
4911
4945
  @builtins.property
4912
4946
  def lambda_version(self) -> typing.Optional[builtins.str]:
4913
- '''The Lambda version represents the signature of the "request" attribute in the "event" information that Amazon Cognito passes to your custom email sender AWS Lambda function.
4947
+ '''The user pool trigger version of the request that Amazon Cognito sends to your Lambda function.
4914
4948
 
4915
- The only supported value is ``V1_0`` .
4949
+ Higher-numbered versions add fields that support new features.
4950
+
4951
+ You must use a ``LambdaVersion`` of ``V1_0`` with a custom sender function.
4916
4952
 
4917
4953
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customemailsender.html#cfn-cognito-userpool-customemailsender-lambdaversion
4918
4954
  '''
@@ -4942,10 +4978,12 @@ class CfnUserPool(
4942
4978
  lambda_arn: typing.Optional[builtins.str] = None,
4943
4979
  lambda_version: typing.Optional[builtins.str] = None,
4944
4980
  ) -> None:
4945
- '''A custom SMS sender AWS Lambda trigger.
4981
+ '''The configuration of a custom SMS sender Lambda trigger.
4982
+
4983
+ This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic.
4946
4984
 
4947
- :param lambda_arn: The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users.
4948
- :param lambda_version: The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function. The only supported value is ``V1_0`` .
4985
+ :param lambda_arn: The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.
4986
+ :param lambda_version: The user pool trigger version of the request that Amazon Cognito sends to your Lambda function. Higher-numbered versions add fields that support new features. You must use a ``LambdaVersion`` of ``V1_0`` with a custom sender function.
4949
4987
 
4950
4988
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customsmssender.html
4951
4989
  :exampleMetadata: fixture=_generated
@@ -4973,7 +5011,7 @@ class CfnUserPool(
4973
5011
 
4974
5012
  @builtins.property
4975
5013
  def lambda_arn(self) -> typing.Optional[builtins.str]:
4976
- '''The Amazon Resource Name (ARN) of the AWS Lambda function that Amazon Cognito triggers to send SMS notifications to users.
5014
+ '''The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.
4977
5015
 
4978
5016
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customsmssender.html#cfn-cognito-userpool-customsmssender-lambdaarn
4979
5017
  '''
@@ -4982,9 +5020,11 @@ class CfnUserPool(
4982
5020
 
4983
5021
  @builtins.property
4984
5022
  def lambda_version(self) -> typing.Optional[builtins.str]:
4985
- '''The Lambda version represents the signature of the "request" attribute in the "event" information Amazon Cognito passes to your custom SMS sender Lambda function.
5023
+ '''The user pool trigger version of the request that Amazon Cognito sends to your Lambda function.
5024
+
5025
+ Higher-numbered versions add fields that support new features.
4986
5026
 
4987
- The only supported value is ``V1_0`` .
5027
+ You must use a ``LambdaVersion`` of ``V1_0`` with a custom sender function.
4988
5028
 
4989
5029
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customsmssender.html#cfn-cognito-userpool-customsmssender-lambdaversion
4990
5030
  '''
@@ -5119,9 +5159,9 @@ class CfnUserPool(
5119
5159
 
5120
5160
  The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool.
5121
5161
 
5122
- :param configuration_set: The set of configuration rules that can be applied to emails sent using Amazon SES. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: - Event publishing Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch. - IP pool management When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.
5162
+ :param configuration_set: The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails: - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.
5123
5163
  :param email_sending_account: Specifies whether Amazon Cognito uses its built-in functionality to send your users email messages, or uses your Amazon Simple Email Service email configuration. Specify one of the following values: - **COGNITO_DEFAULT** - When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. For typical production environments, the default email limit is less than the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email configuration. To look up the email delivery limit for the default option, see `Limits <https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html>`_ in the *Amazon Cognito Developer Guide* . The default FROM address is ``no-reply@verificationemail.com`` . To customize the FROM address, provide the Amazon Resource Name (ARN) of an Amazon SES verified email address for the ``SourceArn`` parameter. - **DEVELOPER** - When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your AWS account . If you use this option, provide the ARN of an Amazon SES verified email address for the ``SourceArn`` parameter. Before Amazon Cognito can email your users, it requires additional permissions to call Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito creates a *service-linked role* , which is a type of role in your AWS account . This role contains the permissions that allow you to access Amazon SES and send email messages from your email address. For more information about the service-linked role that Amazon Cognito creates, see `Using Service-Linked Roles for Amazon Cognito <https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html>`_ in the *Amazon Cognito Developer Guide* .
5124
- :param from_: Identifies either the sender's email address or the sender's name with their email address. For example, ``testuser@example.com`` or ``Test User <testuser@example.com>`` . This address appears before the body of the email.
5164
+ :param from_: Either the senders email address or the senders name with their email address. For example, ``testuser@example.com`` or ``Test User <testuser@example.com>`` . This address appears before the body of the email.
5125
5165
  :param reply_to_email_address: The destination to which the receiver of the email should reply.
5126
5166
  :param source_arn: The ARN of a verified email address or an address from a verified domain in Amazon SES. You can set a ``SourceArn`` email from a verified domain only with an API request. You can set a verified email address, but not an address in a verified domain, in the Amazon Cognito console. Amazon Cognito uses the email address that you provide in one of the following ways, depending on the value that you specify for the ``EmailSendingAccount`` parameter: - If you specify ``COGNITO_DEFAULT`` , Amazon Cognito uses this address as the custom FROM address when it emails your users using its built-in email account. - If you specify ``DEVELOPER`` , Amazon Cognito emails your users with this address by calling Amazon SES on your behalf. The Region value of the ``SourceArn`` parameter must indicate a supported AWS Region of your user pool. Typically, the Region in the ``SourceArn`` and the user pool Region are the same. For more information, see `Amazon SES email configuration regions <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-email.html#user-pool-email-developer-region-mapping>`_ in the `Amazon Cognito Developer Guide <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html>`_ .
5127
5167
 
@@ -5163,12 +5203,12 @@ class CfnUserPool(
5163
5203
 
5164
5204
  @builtins.property
5165
5205
  def configuration_set(self) -> typing.Optional[builtins.str]:
5166
- '''The set of configuration rules that can be applied to emails sent using Amazon SES.
5206
+ '''The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service.
5167
5207
 
5168
5208
  A configuration set is applied to an email by including a reference to the configuration set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following types of rules to emails:
5169
5209
 
5170
- - Event publishing Amazon SES can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as SNS and CloudWatch.
5171
- - IP pool management When leasing dedicated IP addresses with Amazon SES, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.
5210
+ - **Event publishing** - Amazon Simple Email Service can track the number of send, delivery, open, click, bounce, and complaint events for each email sent. Use event publishing to send information about these events to other AWS services such as and Amazon CloudWatch
5211
+ - **IP pool management** - When leasing dedicated IP addresses with Amazon Simple Email Service, you can create groups of IP addresses, called dedicated IP pools. You can then associate the dedicated IP pools with configuration sets.
5172
5212
 
5173
5213
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-configurationset
5174
5214
  '''
@@ -5200,7 +5240,7 @@ class CfnUserPool(
5200
5240
 
5201
5241
  @builtins.property
5202
5242
  def from_(self) -> typing.Optional[builtins.str]:
5203
- '''Identifies either the sender's email address or the sender's name with their email address.
5243
+ '''Either the senders email address or the senders name with their email address.
5204
5244
 
5205
5245
  For example, ``testuser@example.com`` or ``Test User <testuser@example.com>`` . This address appears before the body of the email.
5206
5246
 
@@ -5386,11 +5426,11 @@ class CfnUserPool(
5386
5426
  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>`_ .
5387
5427
 
5388
5428
  :param create_auth_challenge: The configuration of a create auth challenge Lambda trigger, one of three triggers in the sequence of the `custom authentication challenge triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html>`_ .
5389
- :param custom_email_sender: A custom email sender AWS Lambda trigger.
5429
+ :param custom_email_sender: The configuration of a custom email sender Lambda trigger. This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic.
5390
5430
  :param custom_message: A custom message Lambda trigger. This trigger is an opportunity to customize all SMS and email messages from your user pool. When a custom message trigger is active, your user pool routes all messages to a Lambda function that returns a runtime-customized message subject and body for your user pool to deliver to a user.
5391
- :param custom_sms_sender: A custom SMS sender AWS Lambda trigger.
5431
+ :param custom_sms_sender: The configuration of a custom SMS sender Lambda trigger. This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic.
5392
5432
  :param define_auth_challenge: The configuration of a define auth challenge Lambda trigger, one of three triggers in the sequence of the `custom authentication challenge triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html>`_ .
5393
- :param kms_key_id: The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to ``CustomEmailSender`` and ``CustomSMSSender`` .
5433
+ :param kms_key_id: The ARN of an `KMS key <https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys>`_ . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers.
5394
5434
  :param post_authentication: The configuration of a `post authentication Lambda trigger <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html>`_ in a user pool. This trigger can take custom actions after a user signs in.
5395
5435
  :param post_confirmation: The configuration of a `post confirmation Lambda trigger <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-confirmation.html>`_ in a user pool. This trigger can take custom actions after a user confirms their user account and their email address or phone number.
5396
5436
  :param pre_authentication: The configuration of a `pre authentication trigger <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-authentication.html>`_ in a user pool. This trigger can evaluate and modify user sign-in events.
@@ -5494,7 +5534,9 @@ class CfnUserPool(
5494
5534
  def custom_email_sender(
5495
5535
  self,
5496
5536
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.CustomEmailSenderProperty"]]:
5497
- '''A custom email sender AWS Lambda trigger.
5537
+ '''The configuration of a custom email sender Lambda trigger.
5538
+
5539
+ This trigger routes all email notifications from a user pool to a Lambda function that delivers the message using custom logic.
5498
5540
 
5499
5541
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-customemailsender
5500
5542
  '''
@@ -5516,7 +5558,9 @@ class CfnUserPool(
5516
5558
  def custom_sms_sender(
5517
5559
  self,
5518
5560
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.CustomSMSSenderProperty"]]:
5519
- '''A custom SMS sender AWS Lambda trigger.
5561
+ '''The configuration of a custom SMS sender Lambda trigger.
5562
+
5563
+ This trigger routes all SMS notifications from a user pool to a Lambda function that delivers the message using custom logic.
5520
5564
 
5521
5565
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-customsmssender
5522
5566
  '''
@@ -5534,9 +5578,7 @@ class CfnUserPool(
5534
5578
 
5535
5579
  @builtins.property
5536
5580
  def kms_key_id(self) -> typing.Optional[builtins.str]:
5537
- '''The Amazon Resource Name of a AWS Key Management Service ( AWS KMS ) key.
5538
-
5539
- Amazon Cognito uses the key to encrypt codes and temporary passwords sent to ``CustomEmailSender`` and ``CustomSMSSender`` .
5581
+ '''The ARN of an `KMS key <https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#master_keys>`_ . Amazon Cognito uses the key to encrypt codes and temporary passwords sent to custom sender Lambda triggers.
5540
5582
 
5541
5583
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-kmskeyid
5542
5584
  '''
@@ -6033,10 +6075,16 @@ class CfnUserPool(
6033
6075
  name: typing.Optional[builtins.str] = None,
6034
6076
  priority: typing.Optional[jsii.Number] = None,
6035
6077
  ) -> None:
6036
- '''A map containing a priority as a key, and recovery method name as a value.
6078
+ '''A recovery option for a user.
6079
+
6080
+ The ``AccountRecoverySettingType`` data type is an array of this object. Each ``RecoveryOptionType`` has a priority property that determines whether it is a primary or secondary option.
6037
6081
 
6038
- :param name: Specifies the recovery method for a user.
6039
- :param priority: A positive integer specifying priority of a method with 1 being the highest priority.
6082
+ For example, if ``verified_email`` has a priority of ``1`` and ``verified_phone_number`` has a priority of ``2`` , your user pool sends account-recovery messages to a verified email address but falls back to an SMS message if the user has a verified phone number. The ``admin_only`` option prevents self-service account recovery.
6083
+
6084
+ 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>`_ .
6085
+
6086
+ :param name: The recovery method that this object sets a recovery option for.
6087
+ :param priority: Your priority preference for using the specified attribute in account recovery. The highest priority is ``1`` .
6040
6088
 
6041
6089
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-recoveryoption.html
6042
6090
  :exampleMetadata: fixture=_generated
@@ -6064,7 +6112,7 @@ class CfnUserPool(
6064
6112
 
6065
6113
  @builtins.property
6066
6114
  def name(self) -> typing.Optional[builtins.str]:
6067
- '''Specifies the recovery method for a user.
6115
+ '''The recovery method that this object sets a recovery option for.
6068
6116
 
6069
6117
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-recoveryoption.html#cfn-cognito-userpool-recoveryoption-name
6070
6118
  '''
@@ -6073,7 +6121,9 @@ class CfnUserPool(
6073
6121
 
6074
6122
  @builtins.property
6075
6123
  def priority(self) -> typing.Optional[jsii.Number]:
6076
- '''A positive integer specifying priority of a method with 1 being the highest priority.
6124
+ '''Your priority preference for using the specified attribute in account recovery.
6125
+
6126
+ The highest priority is ``1`` .
6077
6127
 
6078
6128
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-recoveryoption.html#cfn-cognito-userpool-recoveryoption-priority
6079
6129
  '''
@@ -6125,7 +6175,7 @@ class CfnUserPool(
6125
6175
  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>`_ .
6126
6176
 
6127
6177
  :param attribute_data_type: The data format of the values for your attribute. When you choose an ``AttributeDataType`` , Amazon Cognito validates the input against the data type. A custom attribute value in your user's ID token is always a string, for example ``"custom:isMember" : "true"`` or ``"custom:YearsAsMember" : "12"`` .
6128
- :param developer_only_attribute: .. epigraph:: We recommend that you use `WriteAttributes <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes>`_ in the user pool client to control how attributes can be mutated for new use cases instead of using ``DeveloperOnlyAttribute`` . Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token.
6178
+ :param developer_only_attribute: .. epigraph:: You should use `WriteAttributes <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes>`_ in the user pool client to control how attributes can be mutated for new use cases instead of using ``DeveloperOnlyAttribute`` . Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, ``DeveloperOnlyAttribute`` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes.
6129
6179
  :param mutable: Specifies whether the value of the attribute can be changed. Any user pool attribute whose value you map from an IdP attribute must be mutable, with a parameter value of ``true`` . Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If an attribute is immutable, Amazon Cognito throws an error when it attempts to update the attribute. For more information, see `Specifying Identity Provider Attribute Mappings for Your User Pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html>`_ .
6130
6180
  :param name: The name of your user pool attribute. When you create or update a user pool, adding a schema attribute creates a custom or developer-only attribute. When you add an attribute with a ``Name`` value of ``MyAttribute`` , Amazon Cognito creates the custom attribute ``custom:MyAttribute`` . When ``DeveloperOnlyAttribute`` is ``true`` , Amazon Cognito creates your attribute as ``dev:MyAttribute`` . In an operation that describes a user pool, Amazon Cognito returns this value as ``value`` for standard attributes, ``custom:value`` for custom attributes, and ``dev:value`` for developer-only attributes..
6131
6181
  :param number_attribute_constraints: Specifies the constraints for an attribute of the number type.
@@ -6199,9 +6249,9 @@ class CfnUserPool(
6199
6249
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6200
6250
  '''.. epigraph::
6201
6251
 
6202
- We recommend that you use `WriteAttributes <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes>`_ in the user pool client to control how attributes can be mutated for new use cases instead of using ``DeveloperOnlyAttribute`` .
6252
+ You should use `WriteAttributes <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes>`_ in the user pool client to control how attributes can be mutated for new use cases instead of using ``DeveloperOnlyAttribute`` .
6203
6253
 
6204
- Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users will not be able to modify this attribute using their access token.
6254
+ Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access token. For example, ``DeveloperOnlyAttribute`` can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes.
6205
6255
 
6206
6256
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-developeronlyattribute
6207
6257
  '''
@@ -6295,11 +6345,13 @@ class CfnUserPool(
6295
6345
  sns_caller_arn: typing.Optional[builtins.str] = None,
6296
6346
  sns_region: typing.Optional[builtins.str] = None,
6297
6347
  ) -> None:
6298
- '''The SMS configuration type that includes the settings the Cognito User Pool needs to call for the Amazon SNS service to send an SMS message from your AWS account .
6348
+ '''User pool configuration for delivery of SMS messages with Amazon Simple Notification Service.
6349
+
6350
+ To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account .
6299
6351
 
6300
- The Cognito User Pool makes the request to the Amazon SNS Service by using an IAM role that you provide for your AWS account .
6352
+ This data type is a request parameter of `CreateUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html>`_ , `UpdateUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html>`_ , and `SetUserPoolMfaConfig <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html>`_ , and a response parameter of `CreateUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html>`_ , `UpdateUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html>`_ , and `GetUserPoolMfaConfig <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUserPoolMfaConfig.html>`_ .
6301
6353
 
6302
- :param external_id: The external ID is a value. We recommend you use ``ExternalId`` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an ``ExternalId`` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the ``ExternalID`` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses ``ExternalId`` .
6354
+ :param external_id: The external ID provides additional security for your IAM role. You can use an ``ExternalId`` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an ``ExternalId`` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the ``ExternalID`` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the ``ExternalId`` . For more information about the ``ExternalId`` of a role, see `How to use an external ID when granting access to your AWS resources to a third party <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html>`_ .
6303
6355
  :param sns_caller_arn: The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the IAM role in your AWS account that Amazon Cognito will use to send SMS messages. SMS messages are subject to a `spending limit <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html>`_ .
6304
6356
  :param sns_region: The AWS Region to use with Amazon SNS integration. You can choose the same Region as your user pool, or a supported *Legacy Amazon SNS alternate Region* . Amazon Cognito resources in the Asia Pacific (Seoul) AWS Region must use your Amazon SNS configuration in the Asia Pacific (Tokyo) Region. For more information, see `SMS message settings for Amazon Cognito user pools <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html>`_ .
6305
6357
 
@@ -6333,9 +6385,11 @@ class CfnUserPool(
6333
6385
 
6334
6386
  @builtins.property
6335
6387
  def external_id(self) -> typing.Optional[builtins.str]:
6336
- '''The external ID is a value.
6388
+ '''The external ID provides additional security for your IAM role.
6337
6389
 
6338
- We recommend you use ``ExternalId`` to add security to your IAM role, which is used to call Amazon SNS to send SMS messages for your user pool. If you provide an ``ExternalId`` , the Cognito User Pool uses it when attempting to assume your IAM role. You can also set your roles trust policy to require the ``ExternalID`` . If you use the Cognito Management Console to create a role for SMS MFA, Cognito creates a role with the required permissions and a trust policy that uses ``ExternalId`` .
6390
+ You can use an ``ExternalId`` with the IAM role that you use with Amazon SNS to send SMS messages for your user pool. If you provide an ``ExternalId`` , your Amazon Cognito user pool includes it in the request to assume your IAM role. You can configure the role trust policy to require that Amazon Cognito, and any principal, provide the ``ExternalID`` . If you use the Amazon Cognito Management Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito creates a role with the required permissions and a trust policy that demonstrates use of the ``ExternalId`` .
6391
+
6392
+ For more information about the ``ExternalId`` of a role, see `How to use an external ID when granting access to your AWS resources to a third party <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html>`_ .
6339
6393
 
6340
6394
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-externalid
6341
6395
  '''
@@ -6389,9 +6443,9 @@ class CfnUserPool(
6389
6443
  max_length: typing.Optional[builtins.str] = None,
6390
6444
  min_length: typing.Optional[builtins.str] = None,
6391
6445
  ) -> None:
6392
- '''The ``StringAttributeConstraints`` property type defines the string attribute constraints of an Amazon Cognito user pool.
6446
+ '''The minimum and maximum length values of an attribute that is of the string type, for example ``custom:department`` .
6393
6447
 
6394
- ``StringAttributeConstraints`` is a subproperty of the `SchemaAttribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html>`_ property type.
6448
+ This data type is part of `SchemaAttributeType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SchemaAttributeType.html>`_ . It defines the length constraints on string-type attributes that you configure in `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 displays the length constraints of all string-type attributes in the response to `DescribeUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html>`_
6395
6449
 
6396
6450
  :param max_length: The maximum length of a string attribute value. Must be a number less than or equal to ``2^1023`` , represented as a string with a length of 131072 characters or fewer.
6397
6451
  :param min_length: The minimum length of a string attribute value.
@@ -6614,7 +6668,11 @@ class CfnUserPool(
6614
6668
  *,
6615
6669
  case_sensitive: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6616
6670
  ) -> None:
6617
- '''The ``UsernameConfiguration`` property type specifies case sensitivity on the username input for the selected sign-in option.
6671
+ '''Case sensitivity of the username input for the selected sign-in option.
6672
+
6673
+ When case sensitivity is set to ``False`` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, ``username`` , ``USERNAME`` , or ``UserName`` , or for email, ``email@example.com`` or ``EMaiL@eXamplE.Com`` . For most use cases, set case sensitivity to ``False`` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.
6674
+
6675
+ This configuration is immutable after you set it. For more information, see `UsernameConfigurationType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html>`_ .
6618
6676
 
6619
6677
  :param case_sensitive: Specifies whether user name case sensitivity will be applied for all users in the user pool through Amazon Cognito APIs. For most use cases, set case sensitivity to ``False`` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, users can sign in as the same user when they enter a different capitalization of their user name. Valid values include: - **true** - Enables case sensitivity for all username input. When this option is set to ``true`` , users must sign in using the exact capitalization of their given username, such as “UserName”. This is the default value. - **false** - Enables case insensitivity for all username input. For example, when this option is set to ``false`` , users can sign in using ``username`` , ``USERNAME`` , or ``UserName`` . This option also enables both ``preferred_username`` and ``email`` alias to be case insensitive, in addition to the ``username`` attribute.
6620
6678
 
@@ -6926,7 +6984,7 @@ class CfnUserPoolClient(
6926
6984
  :param scope: Scope in which this resource is defined.
6927
6985
  :param id: Construct identifier for this resource (unique in its scope).
6928
6986
  :param user_pool_id: The user pool ID for the user pool where you want to create a user pool client.
6929
- :param access_token_validity: The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for ``AccessTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``AccessTokenValidity`` to ``10`` and ``TokenValidityUnits`` to ``hours`` , your user can authorize access with their access token for 10 hours. The default time unit for ``AccessTokenValidity`` in an API request is hours.
6987
+ :param access_token_validity: The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for ``AccessTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``AccessTokenValidity`` to ``10`` and ``TokenValidityUnits`` to ``hours`` , your user can authorize access with their access token for 10 hours. The default time unit for ``AccessTokenValidity`` 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 access tokens are valid for one hour.
6930
6988
  :param allowed_o_auth_flows: The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add ``client_credentials`` as the only allowed OAuth flow. - **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the ``/oauth2/token`` endpoint. - **implicit** - Issue the access token (and, optionally, ID token, based on scopes) directly to your user. - **client_credentials** - Issue the access token from the ``/oauth2/token`` endpoint directly to a non-person user using a combination of the client ID and client secret.
6931
6989
  :param allowed_o_auth_flows_user_pool_client: Set to ``true`` to use OAuth 2.0 features in your user pool app client. ``AllowedOAuthFlowsUserPoolClient`` must be ``true`` before you can configure the following features in your app client. - ``CallBackURLs`` : Callback URLs. - ``LogoutURLs`` : Sign-out redirect URLs. - ``AllowedOAuthScopes`` : OAuth 2.0 scopes. - ``AllowedOAuthFlows`` : Support for authorization code, implicit, and client credentials OAuth 2.0 grants. To use OAuth 2.0 features, configure one of these features in the Amazon Cognito console or set ``AllowedOAuthFlowsUserPoolClient`` to ``true`` in a ``CreateUserPoolClient`` or ``UpdateUserPoolClient`` API request. If you don't set a value for ``AllowedOAuthFlowsUserPoolClient`` in a request with the AWS CLI or SDKs, it defaults to ``false`` .
6932
6990
  :param allowed_o_auth_scopes: The allowed OAuth scopes. Possible values provided by OAuth are ``phone`` , ``email`` , ``openid`` , and ``profile`` . Possible values provided by AWS are ``aws.cognito.signin.user.admin`` . Custom scopes created in Resource Servers are also supported.
@@ -6939,11 +6997,11 @@ class CfnUserPoolClient(
6939
6997
  :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.
6940
6998
  :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`` .
6941
6999
  :param generate_secret: Boolean to specify whether you want to generate a secret for the user pool client being created.
6942
- :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.
7000
+ :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.
6943
7001
  :param logout_ur_ls: A list of allowed logout URLs for the IdPs.
6944
- :param prevent_user_existence_errors: Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to ``ENABLED`` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to ``LEGACY`` , those APIs will return a ``UserNotFoundException`` exception if the user does not exist in the user pool.
7002
+ :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.
6945
7003
  :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.
6946
- :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.
7004
+ :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.
6947
7005
  :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`` .
6948
7006
  :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.
6949
7007
  :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>`_ .
@@ -7287,7 +7345,7 @@ class CfnUserPoolClient(
7287
7345
  @builtins.property
7288
7346
  @jsii.member(jsii_name="preventUserExistenceErrors")
7289
7347
  def prevent_user_existence_errors(self) -> typing.Optional[builtins.str]:
7290
- '''Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool.'''
7348
+ '''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.'''
7291
7349
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "preventUserExistenceErrors"))
7292
7350
 
7293
7351
  @prevent_user_existence_errors.setter
@@ -7410,7 +7468,7 @@ class CfnUserPoolClient(
7410
7468
 
7411
7469
  This data type is a request parameter of `CreateUserPoolClient <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPoolClient.html>`_ and `UpdateUserPoolClient <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPoolClient.html>`_ , and a response parameter of `DescribeUserPoolClient <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPoolClient.html>`_ .
7412
7470
 
7413
- :param application_arn: The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares.
7471
+ :param application_arn: The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client. Amazon Cognito publishes events to the Amazon Pinpoint project that ``ApplicationArn`` declares. You can also configure your application to pass an endpoint ID in the ``AnalyticsMetadata`` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications
7414
7472
  :param application_id: Your Amazon Pinpoint project ID.
7415
7473
  :param external_id: The `external ID <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html>`_ of the role that Amazon Cognito assumes to send analytics data to Amazon Pinpoint.
7416
7474
  :param role_arn: The ARN of an AWS Identity and Access Management role that has the permissions required for Amazon Cognito to publish events to Amazon Pinpoint analytics.
@@ -7454,9 +7512,9 @@ class CfnUserPoolClient(
7454
7512
 
7455
7513
  @builtins.property
7456
7514
  def application_arn(self) -> typing.Optional[builtins.str]:
7457
- '''The Amazon Resource Name (ARN) of an Amazon Pinpoint project.
7515
+ '''The Amazon Resource Name (ARN) of an Amazon Pinpoint project that you want to connect to your user pool app client.
7458
7516
 
7459
- You can use the Amazon Pinpoint project for integration with the chosen user pool client. Amazon Cognito publishes events to the Amazon Pinpoint project that the app ARN declares.
7517
+ Amazon Cognito publishes events to the Amazon Pinpoint project that ``ApplicationArn`` declares. You can also configure your application to pass an endpoint ID in the ``AnalyticsMetadata`` parameter of sign-in operations. The endpoint ID is information about the destination for push notifications
7460
7518
 
7461
7519
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-applicationarn
7462
7520
  '''
@@ -7668,7 +7726,7 @@ class CfnUserPoolClientProps:
7668
7726
  '''Properties for defining a ``CfnUserPoolClient``.
7669
7727
 
7670
7728
  :param user_pool_id: The user pool ID for the user pool where you want to create a user pool client.
7671
- :param access_token_validity: The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for ``AccessTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``AccessTokenValidity`` to ``10`` and ``TokenValidityUnits`` to ``hours`` , your user can authorize access with their access token for 10 hours. The default time unit for ``AccessTokenValidity`` in an API request is hours.
7729
+ :param access_token_validity: The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for ``AccessTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request. For example, when you set ``AccessTokenValidity`` to ``10`` and ``TokenValidityUnits`` to ``hours`` , your user can authorize access with their access token for 10 hours. The default time unit for ``AccessTokenValidity`` 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 access tokens are valid for one hour.
7672
7730
  :param allowed_o_auth_flows: The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add ``client_credentials`` as the only allowed OAuth flow. - **code** - Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the ``/oauth2/token`` endpoint. - **implicit** - Issue the access token (and, optionally, ID token, based on scopes) directly to your user. - **client_credentials** - Issue the access token from the ``/oauth2/token`` endpoint directly to a non-person user using a combination of the client ID and client secret.
7673
7731
  :param allowed_o_auth_flows_user_pool_client: Set to ``true`` to use OAuth 2.0 features in your user pool app client. ``AllowedOAuthFlowsUserPoolClient`` must be ``true`` before you can configure the following features in your app client. - ``CallBackURLs`` : Callback URLs. - ``LogoutURLs`` : Sign-out redirect URLs. - ``AllowedOAuthScopes`` : OAuth 2.0 scopes. - ``AllowedOAuthFlows`` : Support for authorization code, implicit, and client credentials OAuth 2.0 grants. To use OAuth 2.0 features, configure one of these features in the Amazon Cognito console or set ``AllowedOAuthFlowsUserPoolClient`` to ``true`` in a ``CreateUserPoolClient`` or ``UpdateUserPoolClient`` API request. If you don't set a value for ``AllowedOAuthFlowsUserPoolClient`` in a request with the AWS CLI or SDKs, it defaults to ``false`` .
7674
7732
  :param allowed_o_auth_scopes: The allowed OAuth scopes. Possible values provided by OAuth are ``phone`` , ``email`` , ``openid`` , and ``profile`` . Possible values provided by AWS are ``aws.cognito.signin.user.admin`` . Custom scopes created in Resource Servers are also supported.
@@ -7681,11 +7739,11 @@ class CfnUserPoolClientProps:
7681
7739
  :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.
7682
7740
  :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`` .
7683
7741
  :param generate_secret: Boolean to specify whether you want to generate a secret for the user pool client being created.
7684
- :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.
7742
+ :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.
7685
7743
  :param logout_ur_ls: A list of allowed logout URLs for the IdPs.
7686
- :param prevent_user_existence_errors: Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool. When set to ``ENABLED`` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to ``LEGACY`` , those APIs will return a ``UserNotFoundException`` exception if the user does not exist in the user pool.
7744
+ :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.
7687
7745
  :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.
7688
- :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.
7746
+ :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.
7689
7747
  :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`` .
7690
7748
  :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.
7691
7749
  :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>`_ .
@@ -7822,9 +7880,13 @@ class CfnUserPoolClientProps:
7822
7880
 
7823
7881
  After this limit expires, your user can't use their access token. To specify the time unit for ``AccessTokenValidity`` as ``seconds`` , ``minutes`` , ``hours`` , or ``days`` , set a ``TokenValidityUnits`` value in your API request.
7824
7882
 
7825
- For example, when you set ``AccessTokenValidity`` to ``10`` and ``TokenValidityUnits`` to ``hours`` , your user can authorize access with their access token for 10 hours.
7883
+ For example, when you set ``AccessTokenValidity`` to ``10`` and ``TokenValidityUnits`` to ``hours`` , your user can authorize access with
7884
+ their access token for 10 hours.
7826
7885
 
7827
- The default time unit for ``AccessTokenValidity`` in an API request is hours.
7886
+ The default time unit for ``AccessTokenValidity`` in an API request is hours. *Valid range* is displayed below in seconds.
7887
+
7888
+ If you don't specify otherwise in the configuration of your app client, your access
7889
+ tokens are valid for one hour.
7828
7890
 
7829
7891
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-accesstokenvalidity
7830
7892
  '''
@@ -8026,7 +8088,10 @@ class CfnUserPoolClientProps:
8026
8088
 
8027
8089
  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.
8028
8090
 
8029
- The default time unit for ``IdTokenValidity`` in an API request is hours.
8091
+ The default time unit for ``IdTokenValidity`` in an API request is hours. *Valid range* is displayed below in seconds.
8092
+
8093
+ If you don't specify otherwise in the configuration of your app client, your ID
8094
+ tokens are valid for one hour.
8030
8095
 
8031
8096
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-idtokenvalidity
8032
8097
  '''
@@ -8044,9 +8109,16 @@ class CfnUserPoolClientProps:
8044
8109
 
8045
8110
  @builtins.property
8046
8111
  def prevent_user_existence_errors(self) -> typing.Optional[builtins.str]:
8047
- '''Use this setting to choose which errors and responses are returned by Cognito APIs during authentication, account confirmation, and password recovery when the user does not exist in the user pool.
8112
+ '''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.
8048
8113
 
8049
- When set to ``ENABLED`` and the user does not exist, authentication returns an error indicating either the username or password was incorrect, and account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to ``LEGACY`` , those APIs will return a ``UserNotFoundException`` exception if the user does not exist in the user pool.
8114
+ 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.
8115
+
8116
+ Valid values include:
8117
+
8118
+ - ``ENABLED`` - This prevents user existence-related errors.
8119
+ - ``LEGACY`` - This represents the early behavior of Amazon Cognito where user existence related errors aren't prevented.
8120
+
8121
+ Defaults to ``LEGACY`` when you don't provide a value.
8050
8122
 
8051
8123
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-preventuserexistenceerrors
8052
8124
  '''
@@ -8072,9 +8144,13 @@ class CfnUserPoolClientProps:
8072
8144
 
8073
8145
  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.
8074
8146
 
8075
- 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.
8147
+ For example, when you set ``RefreshTokenValidity`` as ``10`` and ``TokenValidityUnits`` as ``days`` , your user can refresh their session
8148
+ and retrieve new access and ID tokens for 10 days.
8076
8149
 
8077
- 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.
8150
+ 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.
8151
+
8152
+ If you don't specify otherwise in the configuration of your app client, your refresh
8153
+ tokens are valid for 30 days.
8078
8154
 
8079
8155
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-refreshtokenvalidity
8080
8156
  '''
@@ -8175,8 +8251,8 @@ class CfnUserPoolDomain(
8175
8251
  '''
8176
8252
  :param scope: Scope in which this resource is defined.
8177
8253
  :param id: Construct identifier for this resource (unique in its scope).
8178
- :param domain: The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: ``auth.example.com`` . If you're using a prefix domain, this field denotes the first part of the domain before ``.auth.[region].amazoncognito.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.
8179
- :param user_pool_id: The user pool ID for the user pool where you want to associate a user pool domain.
8254
+ :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.
8255
+ :param user_pool_id: The ID of the user pool that is associated with the custom domain whose certificate you're updating.
8180
8256
  :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.
8181
8257
  '''
8182
8258
  if __debug__:
@@ -8247,7 +8323,7 @@ class CfnUserPoolDomain(
8247
8323
  @builtins.property
8248
8324
  @jsii.member(jsii_name="domain")
8249
8325
  def domain(self) -> builtins.str:
8250
- '''The domain name for the domain that hosts the sign-up and sign-in pages for your application.'''
8326
+ '''The domain name for the custom domain that hosts the sign-up and sign-in pages for your application.'''
8251
8327
  return typing.cast(builtins.str, jsii.get(self, "domain"))
8252
8328
 
8253
8329
  @domain.setter
@@ -8260,7 +8336,7 @@ class CfnUserPoolDomain(
8260
8336
  @builtins.property
8261
8337
  @jsii.member(jsii_name="userPoolId")
8262
8338
  def user_pool_id(self) -> builtins.str:
8263
- '''The user pool ID for the user pool where you want to associate a user pool domain.'''
8339
+ '''The ID of the user pool that is associated with the custom domain whose certificate you're updating.'''
8264
8340
  return typing.cast(builtins.str, jsii.get(self, "userPoolId"))
8265
8341
 
8266
8342
  @user_pool_id.setter
@@ -8367,8 +8443,8 @@ class CfnUserPoolDomainProps:
8367
8443
  ) -> None:
8368
8444
  '''Properties for defining a ``CfnUserPoolDomain``.
8369
8445
 
8370
- :param domain: The domain name for the domain that hosts the sign-up and sign-in pages for your application. For example: ``auth.example.com`` . If you're using a prefix domain, this field denotes the first part of the domain before ``.auth.[region].amazoncognito.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.
8371
- :param user_pool_id: The user pool ID for the user pool where you want to associate a user pool domain.
8446
+ :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.
8447
+ :param user_pool_id: The ID of the user pool that is associated with the custom domain whose certificate you're updating.
8372
8448
  :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.
8373
8449
 
8374
8450
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html
@@ -8404,9 +8480,9 @@ class CfnUserPoolDomainProps:
8404
8480
 
8405
8481
  @builtins.property
8406
8482
  def domain(self) -> builtins.str:
8407
- '''The domain name for the domain that hosts the sign-up and sign-in pages for your application.
8483
+ '''The domain name for the custom domain that hosts the sign-up and sign-in pages for your application.
8408
8484
 
8409
- For example: ``auth.example.com`` . If you're using a prefix domain, this field denotes the first part of the domain before ``.auth.[region].amazoncognito.com`` .
8485
+ One example might be ``auth.example.com`` .
8410
8486
 
8411
8487
  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.
8412
8488
 
@@ -8418,7 +8494,7 @@ class CfnUserPoolDomainProps:
8418
8494
 
8419
8495
  @builtins.property
8420
8496
  def user_pool_id(self) -> builtins.str:
8421
- '''The user pool ID for the user pool where you want to associate a user pool domain.
8497
+ '''The ID of the user pool that is associated with the custom domain whose certificate you're updating.
8422
8498
 
8423
8499
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-userpoolid
8424
8500
  '''
@@ -8457,7 +8533,11 @@ class CfnUserPoolGroup(
8457
8533
  metaclass=jsii.JSIIMeta,
8458
8534
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPoolGroup",
8459
8535
  ):
8460
- '''A user pool group that you can add a user to.
8536
+ '''A user pool group.
8537
+
8538
+ Contains details about the group and the way that it contributes to IAM role decisions with identity pools. Identity pools can make decisions about the IAM role to assign based on groups: users get credentials for the role associated with their highest-priority group.
8539
+
8540
+ This data type is a response parameter of `AdminListGroupsForUser <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminListGroupsForUser.html>`_ , `CreateGroup <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateGroup.html>`_ , `GetGroup <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetGroup.html>`_ , `ListGroups <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListGroups.html>`_ , and `UpdateGroup <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateGroup.html>`_ .
8461
8541
 
8462
8542
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html
8463
8543
  :cloudformationResource: AWS::Cognito::UserPoolGroup
@@ -9188,28 +9268,28 @@ class CfnUserPoolProps:
9188
9268
  ) -> None:
9189
9269
  '''Properties for defining a ``CfnUserPool``.
9190
9270
 
9191
- :param account_recovery_setting: Use this setting to define which verified available method a user can use to recover their password when they call ``ForgotPassword`` . It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email.
9271
+ :param account_recovery_setting: The available verified method a user can use to recover their password when they call ``ForgotPassword`` . You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.
9192
9272
  :param admin_create_user_config: The settings for administrator creation of users in a user pool. Contains settings for allowing user sign-up, customizing invitation messages to new users, and the amount of time before temporary passwords expire. 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>`_ .
9193
- :param alias_attributes: Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* . .. epigraph:: This user pool property cannot be updated.
9273
+ :param alias_attributes: Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* .
9194
9274
  :param auto_verified_attributes: The attributes to be auto-verified. Possible values: *email* , *phone_number* .
9195
9275
  :param deletion_protection: When active, ``DeletionProtection`` prevents accidental deletion of your user pool. Before you can delete a user pool that you have protected against deletion, you must deactivate this feature. When you try to delete a protected user pool in a ``DeleteUserPool`` API request, Amazon Cognito returns an ``InvalidParameterException`` error. To delete a protected user pool, send a new ``DeleteUserPool`` request after you deactivate deletion protection in an ``UpdateUserPool`` API request.
9196
9276
  :param device_configuration: The device-remembering configuration for a user pool. A null value indicates that you have deactivated device remembering in your user pool. .. epigraph:: When you provide a value for any ``DeviceConfiguration`` field, you activate the Amazon Cognito device-remembering feature.
9197
9277
  :param email_authentication_message:
9198
9278
  :param email_authentication_subject:
9199
9279
  :param email_configuration: The email configuration of your user pool. The email configuration type sets your preferred sending method, AWS Region, and sender for messages from your user pool.
9200
- :param email_verification_message: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html>`_ .
9201
- :param email_verification_subject: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html>`_ .
9202
- :param enabled_mfas: Enables MFA on a specified user pool. To disable all MFAs after it has been enabled, set MfaConfiguration to OFF and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to OFF”. Can be one of the following values: - ``SMS_MFA`` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided. - ``SOFTWARE_TOKEN_MFA`` - Enables software token MFA for the user pool. Allowed values: ``SMS_MFA`` | ``SOFTWARE_TOKEN_MFA``
9280
+ :param email_verification_message: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html>`_ .
9281
+ :param email_verification_subject: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html>`_ .
9282
+ :param enabled_mfas: Set enabled MFA options on a specified user pool. To disable all MFAs after it has been enabled, set ``MfaConfiguration`` to ``OFF`` and remove EnabledMfas. MFAs can only be all disabled if ``MfaConfiguration`` is ``OFF`` . After you enable ``SMS_MFA`` , you can only disable it by setting ``MfaConfiguration`` to ``OFF`` . Can be one of the following values: - ``SMS_MFA`` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for ``SmsConfiguration`` . - ``SOFTWARE_TOKEN_MFA`` - Enables software token MFA for the user pool. - ``EMAIL_OTP`` - Enables MFA with email for the user pool. To select this option, you must provide values for ``EmailConfiguration`` and within those, set ``EmailSendingAccount`` to ``DEVELOPER`` . Allowed values: ``SMS_MFA`` | ``SOFTWARE_TOKEN_MFA`` | ``EMAIL_OTP``
9203
9283
  :param lambda_config: A collection of user pool Lambda triggers. Amazon Cognito invokes triggers at several possible stages of authentication operations. Triggers can modify the outcome of the operations that invoked them.
9204
9284
  :param mfa_configuration: The multi-factor authentication (MFA) configuration. Valid values include:. - ``OFF`` MFA won't be used for any users. - ``ON`` MFA is required for all users to sign in. - ``OPTIONAL`` MFA will be required only for individual users who have an MFA factor activated.
9205
9285
  :param policies: A list of user pool policies. Contains the policy that sets password-complexity requirements. 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>`_ .
9206
- :param schema: The schema attributes for the new user pool. These attributes can be standard or custom attributes. .. epigraph:: During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute.
9207
- :param sms_authentication_message: A string representing the SMS authentication message.
9286
+ :param schema: An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.
9287
+ :param sms_authentication_message: The contents of the SMS authentication message.
9208
9288
  :param sms_configuration: The SMS configuration with the settings that your Amazon Cognito user pool must use to send an SMS message from your AWS account through Amazon Simple Notification Service. To send SMS messages with Amazon SNS in the AWS Region that you want, the Amazon Cognito user pool uses an AWS Identity and Access Management (IAM) role in your AWS account .
9209
- :param sms_verification_message: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html>`_ .
9289
+ :param sms_verification_message: This parameter is no longer used. See `VerificationMessageTemplateType <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html>`_ .
9210
9290
  :param user_attribute_update_settings: The settings for updates to user attributes. These settings include the property ``AttributesRequireVerificationBeforeUpdate`` , a user-pool setting that tells Amazon Cognito how to handle changes to the value of your users' email address and phone number attributes. For more information, see `Verifying updates to email addresses and phone numbers <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html#user-pool-settings-verifications-verify-attribute-updates>`_ .
9211
- :param username_attributes: Determines whether email addresses or phone numbers can be specified as user names when a user signs up. Possible values: ``phone_number`` or ``email`` . This user pool property cannot be updated.
9212
- :param username_configuration: You can choose to set case sensitivity on the username input for the selected sign-in option. For example, when this is set to ``False`` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set.
9291
+ :param username_attributes: Specifies whether a user can use an email address or phone number as a username when they sign up.
9292
+ :param username_configuration: Case sensitivity on the username input for the selected sign-in option. When case sensitivity is set to ``False`` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, ``username`` , ``USERNAME`` , or ``UserName`` , or for email, ``email@example.com`` or ``EMaiL@eXamplE.Com`` . For most use cases, set case sensitivity to ``False`` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user. This configuration is immutable after you set it. For more information, see `UsernameConfigurationType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html>`_ .
9213
9293
  :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>`_ .
9214
9294
  :param user_pool_name: A string used to name the user pool.
9215
9295
  :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.
@@ -9431,9 +9511,9 @@ class CfnUserPoolProps:
9431
9511
  def account_recovery_setting(
9432
9512
  self,
9433
9513
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnUserPool.AccountRecoverySettingProperty]]:
9434
- '''Use this setting to define which verified available method a user can use to recover their password when they call ``ForgotPassword`` .
9514
+ '''The available verified method a user can use to recover their password when they call ``ForgotPassword`` .
9435
9515
 
9436
- It allows you to define a preferred method when a user has more than one method available. With this setting, SMS does not qualify for a valid password recovery mechanism if the user also has SMS MFA enabled. In the absence of this setting, Cognito uses the legacy behavior to determine the recovery method where SMS is preferred over email.
9516
+ You can use this setting to define a preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method where SMS is preferred through email.
9437
9517
 
9438
9518
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-accountrecoverysetting
9439
9519
  '''
@@ -9457,11 +9537,9 @@ class CfnUserPoolProps:
9457
9537
 
9458
9538
  @builtins.property
9459
9539
  def alias_attributes(self) -> typing.Optional[typing.List[builtins.str]]:
9460
- '''Attributes supported as an alias for this user pool. Possible values: *phone_number* , *email* , or *preferred_username* .
9461
-
9462
- .. epigraph::
9540
+ '''Attributes supported as an alias for this user pool.
9463
9541
 
9464
- This user pool property cannot be updated.
9542
+ Possible values: *phone_number* , *email* , or *preferred_username* .
9465
9543
 
9466
9544
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-aliasattributes
9467
9545
  '''
@@ -9542,7 +9620,7 @@ class CfnUserPoolProps:
9542
9620
  def email_verification_message(self) -> typing.Optional[builtins.str]:
9543
9621
  '''This parameter is no longer used.
9544
9622
 
9545
- See `VerificationMessageTemplateType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html>`_ .
9623
+ See `VerificationMessageTemplateType <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html>`_ .
9546
9624
 
9547
9625
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationmessage
9548
9626
  '''
@@ -9553,7 +9631,7 @@ class CfnUserPoolProps:
9553
9631
  def email_verification_subject(self) -> typing.Optional[builtins.str]:
9554
9632
  '''This parameter is no longer used.
9555
9633
 
9556
- See `VerificationMessageTemplateType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html>`_ .
9634
+ See `VerificationMessageTemplateType <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html>`_ .
9557
9635
 
9558
9636
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationsubject
9559
9637
  '''
@@ -9562,14 +9640,15 @@ class CfnUserPoolProps:
9562
9640
 
9563
9641
  @builtins.property
9564
9642
  def enabled_mfas(self) -> typing.Optional[typing.List[builtins.str]]:
9565
- '''Enables MFA on a specified user pool.
9643
+ '''Set enabled MFA options on a specified user pool.
9566
9644
 
9567
- To disable all MFAs after it has been enabled, set MfaConfiguration to OFF and remove EnabledMfas. MFAs can only be all disabled if MfaConfiguration is OFF. Once SMS_MFA is enabled, SMS_MFA can only be disabled by setting MfaConfiguration to OFF”. Can be one of the following values:
9645
+ To disable all MFAs after it has been enabled, set ``MfaConfiguration`` to ``OFF`` and remove EnabledMfas. MFAs can only be all disabled if ``MfaConfiguration`` is ``OFF`` . After you enable ``SMS_MFA`` , you can only disable it by setting ``MfaConfiguration`` to ``OFF`` . Can be one of the following values:
9568
9646
 
9569
- - ``SMS_MFA`` - Enables SMS MFA for the user pool. SMS_MFA can only be enabled if SMS configuration is provided.
9647
+ - ``SMS_MFA`` - Enables MFA with SMS for the user pool. To select this option, you must also provide values for ``SmsConfiguration`` .
9570
9648
  - ``SOFTWARE_TOKEN_MFA`` - Enables software token MFA for the user pool.
9649
+ - ``EMAIL_OTP`` - Enables MFA with email for the user pool. To select this option, you must provide values for ``EmailConfiguration`` and within those, set ``EmailSendingAccount`` to ``DEVELOPER`` .
9571
9650
 
9572
- Allowed values: ``SMS_MFA`` | ``SOFTWARE_TOKEN_MFA``
9651
+ Allowed values: ``SMS_MFA`` | ``SOFTWARE_TOKEN_MFA`` | ``EMAIL_OTP``
9573
9652
 
9574
9653
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-enabledmfas
9575
9654
  '''
@@ -9619,11 +9698,9 @@ class CfnUserPoolProps:
9619
9698
  def schema(
9620
9699
  self,
9621
9700
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnUserPool.SchemaAttributeProperty]]]]:
9622
- '''The schema attributes for the new user pool. These attributes can be standard or custom attributes.
9623
-
9624
- .. epigraph::
9701
+ '''An array of schema attributes for the new user pool.
9625
9702
 
9626
- During a user pool update, you can add new schema attributes but you cannot modify or delete an existing schema attribute.
9703
+ These attributes can be standard or custom attributes.
9627
9704
 
9628
9705
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-schema
9629
9706
  '''
@@ -9632,7 +9709,7 @@ class CfnUserPoolProps:
9632
9709
 
9633
9710
  @builtins.property
9634
9711
  def sms_authentication_message(self) -> typing.Optional[builtins.str]:
9635
- '''A string representing the SMS authentication message.
9712
+ '''The contents of the SMS authentication message.
9636
9713
 
9637
9714
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsauthenticationmessage
9638
9715
  '''
@@ -9656,7 +9733,7 @@ class CfnUserPoolProps:
9656
9733
  def sms_verification_message(self) -> typing.Optional[builtins.str]:
9657
9734
  '''This parameter is no longer used.
9658
9735
 
9659
- See `VerificationMessageTemplateType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html>`_ .
9736
+ See `VerificationMessageTemplateType <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html>`_ .
9660
9737
 
9661
9738
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsverificationmessage
9662
9739
  '''
@@ -9680,11 +9757,7 @@ class CfnUserPoolProps:
9680
9757
 
9681
9758
  @builtins.property
9682
9759
  def username_attributes(self) -> typing.Optional[typing.List[builtins.str]]:
9683
- '''Determines whether email addresses or phone numbers can be specified as user names when a user signs up.
9684
-
9685
- Possible values: ``phone_number`` or ``email`` .
9686
-
9687
- This user pool property cannot be updated.
9760
+ '''Specifies whether a user can use an email address or phone number as a username when they sign up.
9688
9761
 
9689
9762
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-usernameattributes
9690
9763
  '''
@@ -9695,9 +9768,11 @@ class CfnUserPoolProps:
9695
9768
  def username_configuration(
9696
9769
  self,
9697
9770
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnUserPool.UsernameConfigurationProperty]]:
9698
- '''You can choose to set case sensitivity on the username input for the selected sign-in option.
9771
+ '''Case sensitivity on the username input for the selected sign-in option.
9699
9772
 
9700
- For example, when this is set to ``False`` , users will be able to sign in using either "username" or "Username". This configuration is immutable once it has been set.
9773
+ When case sensitivity is set to ``False`` (case insensitive), users can sign in with any combination of capital and lowercase letters. For example, ``username`` , ``USERNAME`` , or ``UserName`` , or for email, ``email@example.com`` or ``EMaiL@eXamplE.Com`` . For most use cases, set case sensitivity to ``False`` (case insensitive) as a best practice. When usernames and email addresses are case insensitive, Amazon Cognito treats any variation in case as the same user, and prevents a case variation from being assigned to the same attribute for a different user.
9774
+
9775
+ This configuration is immutable after you set it. For more information, see `UsernameConfigurationType <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html>`_ .
9701
9776
 
9702
9777
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-usernameconfiguration
9703
9778
  '''
@@ -9812,7 +9887,7 @@ class CfnUserPoolResourceServer(
9812
9887
  '''
9813
9888
  :param scope: Scope in which this resource is defined.
9814
9889
  :param id: Construct identifier for this resource (unique in its scope).
9815
- :param identifier: A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: ``https://my-weather-api.example.com`` .
9890
+ :param identifier: A unique resource server identifier for the resource server. The identifier can be an API friendly name like ``solar-system-data`` . You can also set an API URL like ``https://solar-system-data-api.example.com`` as your identifier. Amazon Cognito represents scopes in the access token in the format ``$resource-server-identifier/$scope`` . Longer scope-identifier strings increase the size of your access tokens.
9816
9891
  :param name: A friendly name for the resource server.
9817
9892
  :param user_pool_id: The user pool ID for the user pool.
9818
9893
  :param scopes: A list of scopes. Each scope is a map with keys ``ScopeName`` and ``ScopeDescription`` .
@@ -10021,7 +10096,7 @@ class CfnUserPoolResourceServerProps:
10021
10096
  ) -> None:
10022
10097
  '''Properties for defining a ``CfnUserPoolResourceServer``.
10023
10098
 
10024
- :param identifier: A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located. For example: ``https://my-weather-api.example.com`` .
10099
+ :param identifier: A unique resource server identifier for the resource server. The identifier can be an API friendly name like ``solar-system-data`` . You can also set an API URL like ``https://solar-system-data-api.example.com`` as your identifier. Amazon Cognito represents scopes in the access token in the format ``$resource-server-identifier/$scope`` . Longer scope-identifier strings increase the size of your access tokens.
10025
10100
  :param name: A friendly name for the resource server.
10026
10101
  :param user_pool_id: The user pool ID for the user pool.
10027
10102
  :param scopes: A list of scopes. Each scope is a map with keys ``ScopeName`` and ``ScopeDescription`` .
@@ -10065,7 +10140,9 @@ class CfnUserPoolResourceServerProps:
10065
10140
  def identifier(self) -> builtins.str:
10066
10141
  '''A unique resource server identifier for the resource server.
10067
10142
 
10068
- This could be an HTTPS endpoint where the resource server is located. For example: ``https://my-weather-api.example.com`` .
10143
+ The identifier can be an API friendly name like ``solar-system-data`` . You can also set an API URL like ``https://solar-system-data-api.example.com`` as your identifier.
10144
+
10145
+ Amazon Cognito represents scopes in the access token in the format ``$resource-server-identifier/$scope`` . Longer scope-identifier strings increase the size of your access tokens.
10069
10146
 
10070
10147
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-identifier
10071
10148
  '''
@@ -10218,7 +10295,7 @@ class CfnUserPoolRiskConfigurationAttachment(
10218
10295
  '''
10219
10296
  :param scope: Scope in which this resource is defined.
10220
10297
  :param id: Construct identifier for this resource (unique in its scope).
10221
- :param client_id: The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to ``ALL`` ).
10298
+ :param client_id: The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings.
10222
10299
  :param user_pool_id: The ID of the user pool that has the risk configuration applied.
10223
10300
  :param account_takeover_risk_configuration: The settings for automated responses and notification templates for adaptive authentication with advanced security features.
10224
10301
  :param compromised_credentials_risk_configuration: Settings for compromised-credentials actions and authentication types with advanced security features in full-function ``ENFORCED`` mode.
@@ -10276,7 +10353,7 @@ class CfnUserPoolRiskConfigurationAttachment(
10276
10353
  @builtins.property
10277
10354
  @jsii.member(jsii_name="clientId")
10278
10355
  def client_id(self) -> builtins.str:
10279
- '''The app client ID.'''
10356
+ '''The app client where this configuration is applied.'''
10280
10357
  return typing.cast(builtins.str, jsii.get(self, "clientId"))
10281
10358
 
10282
10359
  @client_id.setter
@@ -11171,7 +11248,7 @@ class CfnUserPoolRiskConfigurationAttachmentProps:
11171
11248
  ) -> None:
11172
11249
  '''Properties for defining a ``CfnUserPoolRiskConfigurationAttachment``.
11173
11250
 
11174
- :param client_id: The app client ID. You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to ``ALL`` ).
11251
+ :param client_id: The app client where this configuration is applied. When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings.
11175
11252
  :param user_pool_id: The ID of the user pool that has the risk configuration applied.
11176
11253
  :param account_takeover_risk_configuration: The settings for automated responses and notification templates for adaptive authentication with advanced security features.
11177
11254
  :param compromised_credentials_risk_configuration: Settings for compromised-credentials actions and authentication types with advanced security features in full-function ``ENFORCED`` mode.
@@ -11271,9 +11348,9 @@ class CfnUserPoolRiskConfigurationAttachmentProps:
11271
11348
 
11272
11349
  @builtins.property
11273
11350
  def client_id(self) -> builtins.str:
11274
- '''The app client ID.
11351
+ '''The app client where this configuration is applied.
11275
11352
 
11276
- You can specify the risk configuration for a single client (with a specific ClientId) or for all clients (by setting the ClientId to ``ALL`` ).
11353
+ When this parameter isn't present, the risk configuration applies to all user pool app clients that don't have client-level settings.
11277
11354
 
11278
11355
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-clientid
11279
11356
  '''
@@ -11342,14 +11419,9 @@ class CfnUserPoolUICustomizationAttachment(
11342
11419
  metaclass=jsii.JSIIMeta,
11343
11420
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPoolUICustomizationAttachment",
11344
11421
  ):
11345
- '''The ``AWS::Cognito::UserPoolUICustomizationAttachment`` resource sets the UI customization information for a user pool's built-in app UI.
11346
-
11347
- You can specify app UI customization settings for a single client (with a specific ``clientId`` ) or for all clients (by setting the ``clientId`` to ``ALL`` ). If you specify ``ALL`` , the default configuration is used for every client that has had no UI customization set previously. If you specify UI customization settings for a particular client, it no longer falls back to the ``ALL`` configuration.
11348
- .. epigraph::
11349
-
11350
- Before you create this resource, your user pool must have a domain associated with it. You can create an ``AWS::Cognito::UserPoolDomain`` resource first in this user pool.
11422
+ '''A container for the UI customization information for the hosted UI in a user pool.
11351
11423
 
11352
- Setting a logo image isn't supported from AWS CloudFormation . Use the Amazon Cognito `SetUICustomization <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUICustomization.html#API_SetUICustomization_RequestSyntax>`_ API operation to set the image.
11424
+ This data type is a response parameter of `GetUICustomization <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPoolClient.html>`_ .
11353
11425
 
11354
11426
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html
11355
11427
  :cloudformationResource: AWS::Cognito::UserPoolUICustomizationAttachment
@@ -11382,7 +11454,7 @@ class CfnUserPoolUICustomizationAttachment(
11382
11454
  '''
11383
11455
  :param scope: Scope in which this resource is defined.
11384
11456
  :param id: Construct identifier for this resource (unique in its scope).
11385
- :param client_id: The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to ``ALL`` ).
11457
+ :param client_id: The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings..
11386
11458
  :param user_pool_id: The user pool ID for the user pool.
11387
11459
  :param css: The CSS values in the UI customization.
11388
11460
  '''
@@ -11434,7 +11506,7 @@ class CfnUserPoolUICustomizationAttachment(
11434
11506
  @builtins.property
11435
11507
  @jsii.member(jsii_name="clientId")
11436
11508
  def client_id(self) -> builtins.str:
11437
- '''The client ID for the client app.'''
11509
+ '''The app client ID for your UI customization.'''
11438
11510
  return typing.cast(builtins.str, jsii.get(self, "clientId"))
11439
11511
 
11440
11512
  @client_id.setter
@@ -11486,7 +11558,7 @@ class CfnUserPoolUICustomizationAttachmentProps:
11486
11558
  ) -> None:
11487
11559
  '''Properties for defining a ``CfnUserPoolUICustomizationAttachment``.
11488
11560
 
11489
- :param client_id: The client ID for the client app. You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to ``ALL`` ).
11561
+ :param client_id: The app client ID for your UI customization. When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings..
11490
11562
  :param user_pool_id: The user pool ID for the user pool.
11491
11563
  :param css: The CSS values in the UI customization.
11492
11564
 
@@ -11521,9 +11593,9 @@ class CfnUserPoolUICustomizationAttachmentProps:
11521
11593
 
11522
11594
  @builtins.property
11523
11595
  def client_id(self) -> builtins.str:
11524
- '''The client ID for the client app.
11596
+ '''The app client ID for your UI customization.
11525
11597
 
11526
- You can specify the UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId to ``ALL`` ).
11598
+ When this value isn't present, the customization applies to all user pool app clients that don't have client-level settings..
11527
11599
 
11528
11600
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-clientid
11529
11601
  '''
@@ -11624,7 +11696,7 @@ class CfnUserPoolUser(
11624
11696
  :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.
11625
11697
  :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`` .
11626
11698
  :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.
11627
- :param user_attributes: An array of name-value pairs that contain user attributes and attribute values.
11699
+ :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.
11628
11700
  :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>`_ .
11629
11701
  :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>`_ .
11630
11702
  '''
@@ -11763,7 +11835,7 @@ class CfnUserPoolUser(
11763
11835
  def user_attributes(
11764
11836
  self,
11765
11837
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnUserPoolUser.AttributeTypeProperty"]]]]:
11766
- '''An array of name-value pairs that contain user attributes and attribute values.'''
11838
+ '''An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created.'''
11767
11839
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnUserPoolUser.AttributeTypeProperty"]]]], jsii.get(self, "userAttributes"))
11768
11840
 
11769
11841
  @user_attributes.setter
@@ -11914,7 +11986,7 @@ class CfnUserPoolUserProps:
11914
11986
  :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.
11915
11987
  :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`` .
11916
11988
  :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.
11917
- :param user_attributes: An array of name-value pairs that contain user attributes and attribute values.
11989
+ :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.
11918
11990
  :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>`_ .
11919
11991
  :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>`_ .
11920
11992
 
@@ -12051,7 +12123,18 @@ class CfnUserPoolUserProps:
12051
12123
  def user_attributes(
12052
12124
  self,
12053
12125
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnUserPoolUser.AttributeTypeProperty]]]]:
12054
- '''An array of name-value pairs that contain user attributes and attribute values.
12126
+ '''An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created.
12127
+
12128
+ 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).
12129
+
12130
+ For custom attributes, you must prepend the ``custom:`` prefix to the attribute name.
12131
+
12132
+ 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.
12133
+
12134
+ 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>`_ .
12135
+
12136
+ - *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.
12137
+ - *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.
12055
12138
 
12056
12139
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-userattributes
12057
12140
  '''
@@ -12108,7 +12191,16 @@ class CfnUserPoolUserToGroupAttachment(
12108
12191
  metaclass=jsii.JSIIMeta,
12109
12192
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPoolUserToGroupAttachment",
12110
12193
  ):
12111
- '''Adds the specified user to the specified group.
12194
+ '''Adds a user to a group.
12195
+
12196
+ A user who is in a group can present a preferred-role claim to an identity pool, and populates a ``cognito:groups`` claim to their access and identity tokens.
12197
+ .. epigraph::
12198
+
12199
+ 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.
12200
+
12201
+ **Learn more** - `Signing AWS API Requests <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html>`_
12202
+
12203
+ - `Using the Amazon Cognito user pools API and user pool endpoints <https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html>`_
12112
12204
 
12113
12205
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html
12114
12206
  :cloudformationResource: AWS::Cognito::UserPoolUserToGroupAttachment
@@ -12140,7 +12232,7 @@ class CfnUserPoolUserToGroupAttachment(
12140
12232
  :param scope: Scope in which this resource is defined.
12141
12233
  :param id: Construct identifier for this resource (unique in its scope).
12142
12234
  :param group_name: The name of the group that you want to add your user to.
12143
- :param username:
12235
+ :param username: The user's username.
12144
12236
  :param user_pool_id: The user pool ID for the user pool.
12145
12237
  '''
12146
12238
  if __debug__:
@@ -12204,6 +12296,7 @@ class CfnUserPoolUserToGroupAttachment(
12204
12296
  @builtins.property
12205
12297
  @jsii.member(jsii_name="username")
12206
12298
  def username(self) -> builtins.str:
12299
+ '''The user's username.'''
12207
12300
  return typing.cast(builtins.str, jsii.get(self, "username"))
12208
12301
 
12209
12302
  @username.setter
@@ -12247,7 +12340,7 @@ class CfnUserPoolUserToGroupAttachmentProps:
12247
12340
  '''Properties for defining a ``CfnUserPoolUserToGroupAttachment``.
12248
12341
 
12249
12342
  :param group_name: The name of the group that you want to add your user to.
12250
- :param username:
12343
+ :param username: The user's username.
12251
12344
  :param user_pool_id: The user pool ID for the user pool.
12252
12345
 
12253
12346
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html
@@ -12288,7 +12381,8 @@ class CfnUserPoolUserToGroupAttachmentProps:
12288
12381
 
12289
12382
  @builtins.property
12290
12383
  def username(self) -> builtins.str:
12291
- '''
12384
+ '''The user's username.
12385
+
12292
12386
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-username
12293
12387
  '''
12294
12388
  result = self._values.get("username")
@@ -14527,6 +14621,12 @@ class ProviderAttribute(
14527
14621
  '''The email attribute provided by Apple.'''
14528
14622
  return typing.cast("ProviderAttribute", jsii.sget(cls, "APPLE_EMAIL"))
14529
14623
 
14624
+ @jsii.python.classproperty
14625
+ @jsii.member(jsii_name="APPLE_EMAIL_VERIFIED")
14626
+ def APPLE_EMAIL_VERIFIED(cls) -> "ProviderAttribute":
14627
+ '''The email verified atribute provided by Apple.'''
14628
+ return typing.cast("ProviderAttribute", jsii.sget(cls, "APPLE_EMAIL_VERIFIED"))
14629
+
14530
14630
  @jsii.python.classproperty
14531
14631
  @jsii.member(jsii_name="APPLE_FIRST_NAME")
14532
14632
  def APPLE_FIRST_NAME(cls) -> "ProviderAttribute":
@@ -14611,6 +14711,12 @@ class ProviderAttribute(
14611
14711
  '''The email attribute provided by Google.'''
14612
14712
  return typing.cast("ProviderAttribute", jsii.sget(cls, "GOOGLE_EMAIL"))
14613
14713
 
14714
+ @jsii.python.classproperty
14715
+ @jsii.member(jsii_name="GOOGLE_EMAIL_VERIFIED")
14716
+ def GOOGLE_EMAIL_VERIFIED(cls) -> "ProviderAttribute":
14717
+ '''The email verified attribute provided by Google.'''
14718
+ return typing.cast("ProviderAttribute", jsii.sget(cls, "GOOGLE_EMAIL_VERIFIED"))
14719
+
14614
14720
  @jsii.python.classproperty
14615
14721
  @jsii.member(jsii_name="GOOGLE_FAMILY_NAME")
14616
14722
  def GOOGLE_FAMILY_NAME(cls) -> "ProviderAttribute":
@@ -17917,6 +18023,7 @@ class UserPoolIdentityProviderApple(
17917
18023
  "custom_key": provider_attribute
17918
18024
  },
17919
18025
  email=provider_attribute,
18026
+ email_verified=provider_attribute,
17920
18027
  family_name=provider_attribute,
17921
18028
  fullname=provider_attribute,
17922
18029
  gender=provider_attribute,
@@ -18026,6 +18133,7 @@ class UserPoolIdentityProviderFacebook(
18026
18133
  "custom_key": provider_attribute
18027
18134
  },
18028
18135
  email=provider_attribute,
18136
+ email_verified=provider_attribute,
18029
18137
  family_name=provider_attribute,
18030
18138
  fullname=provider_attribute,
18031
18139
  gender=provider_attribute,
@@ -18200,6 +18308,7 @@ class UserPoolIdentityProviderOidc(
18200
18308
  "custom_key": provider_attribute
18201
18309
  },
18202
18310
  email=provider_attribute,
18311
+ email_verified=provider_attribute,
18203
18312
  family_name=provider_attribute,
18204
18313
  fullname=provider_attribute,
18205
18314
  gender=provider_attribute,
@@ -18327,6 +18436,7 @@ class UserPoolIdentityProviderProps:
18327
18436
  "custom_key": provider_attribute
18328
18437
  },
18329
18438
  email=provider_attribute,
18439
+ email_verified=provider_attribute,
18330
18440
  family_name=provider_attribute,
18331
18441
  fullname=provider_attribute,
18332
18442
  gender=provider_attribute,
@@ -20558,6 +20668,7 @@ class UserPoolIdentityProviderAppleProps(UserPoolIdentityProviderProps):
20558
20668
  "custom_key": provider_attribute
20559
20669
  },
20560
20670
  email=provider_attribute,
20671
+ email_verified=provider_attribute,
20561
20672
  family_name=provider_attribute,
20562
20673
  fullname=provider_attribute,
20563
20674
  gender=provider_attribute,
@@ -20747,6 +20858,7 @@ class UserPoolIdentityProviderFacebookProps(UserPoolIdentityProviderProps):
20747
20858
  "custom_key": provider_attribute
20748
20859
  },
20749
20860
  email=provider_attribute,
20861
+ email_verified=provider_attribute,
20750
20862
  family_name=provider_attribute,
20751
20863
  fullname=provider_attribute,
20752
20864
  gender=provider_attribute,
@@ -21065,6 +21177,7 @@ class UserPoolIdentityProviderOidcProps(UserPoolIdentityProviderProps):
21065
21177
  "custom_key": provider_attribute
21066
21178
  },
21067
21179
  email=provider_attribute,
21180
+ email_verified=provider_attribute,
21068
21181
  family_name=provider_attribute,
21069
21182
  fullname=provider_attribute,
21070
21183
  gender=provider_attribute,
@@ -21343,6 +21456,7 @@ def _typecheckingstub__1994c9f3057f350dfde37c21bef42d2ad1a87ae2900a0e48fd7c2506d
21343
21456
  birthdate: typing.Optional[ProviderAttribute] = None,
21344
21457
  custom: typing.Optional[typing.Mapping[builtins.str, ProviderAttribute]] = None,
21345
21458
  email: typing.Optional[ProviderAttribute] = None,
21459
+ email_verified: typing.Optional[ProviderAttribute] = None,
21346
21460
  family_name: typing.Optional[ProviderAttribute] = None,
21347
21461
  fullname: typing.Optional[ProviderAttribute] = None,
21348
21462
  gender: typing.Optional[ProviderAttribute] = None,