aws-cdk-lib 2.171.0__py3-none-any.whl → 2.172.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 (47) hide show
  1. aws_cdk/__init__.py +471 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.0.jsii.tgz → aws-cdk-lib@2.172.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +1314 -124
  5. aws_cdk/aws_appsync/__init__.py +159 -136
  6. aws_cdk/aws_autoscaling/__init__.py +81 -24
  7. aws_cdk/aws_bedrock/__init__.py +48 -0
  8. aws_cdk/aws_chatbot/__init__.py +775 -0
  9. aws_cdk/aws_cloudformation/__init__.py +240 -159
  10. aws_cdk/aws_cloudfront/__init__.py +11 -5
  11. aws_cdk/aws_cloudtrail/__init__.py +753 -0
  12. aws_cdk/aws_cognito/__init__.py +825 -4
  13. aws_cdk/aws_connect/__init__.py +429 -0
  14. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  15. aws_cdk/aws_ec2/__init__.py +872 -5
  16. aws_cdk/aws_ecs/__init__.py +12 -7
  17. aws_cdk/aws_eks/__init__.py +709 -0
  18. aws_cdk/aws_elasticloadbalancingv2/__init__.py +309 -55
  19. aws_cdk/aws_events/__init__.py +515 -8
  20. aws_cdk/aws_iot/__init__.py +42 -4
  21. aws_cdk/aws_iotfleetwise/__init__.py +510 -0
  22. aws_cdk/aws_iotsitewise/__init__.py +156 -0
  23. aws_cdk/aws_lambda/__init__.py +14 -8
  24. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  25. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  26. aws_cdk/aws_m2/__init__.py +289 -0
  27. aws_cdk/aws_mwaa/__init__.py +6 -6
  28. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  29. aws_cdk/aws_pipes/__init__.py +14 -30
  30. aws_cdk/aws_qbusiness/__init__.py +3 -1
  31. aws_cdk/aws_quicksight/__init__.py +8270 -10
  32. aws_cdk/aws_rbin/__init__.py +53 -34
  33. aws_cdk/aws_rds/__init__.py +140 -8
  34. aws_cdk/aws_resourcegroups/__init__.py +349 -0
  35. aws_cdk/aws_route53_targets/__init__.py +82 -0
  36. aws_cdk/aws_route53resolver/__init__.py +15 -6
  37. aws_cdk/aws_s3express/__init__.py +403 -2
  38. aws_cdk/aws_sagemaker/__init__.py +124 -112
  39. aws_cdk/aws_ses/__init__.py +79 -41
  40. aws_cdk/aws_wisdom/__init__.py +4713 -172
  41. aws_cdk/aws_workspacesweb/__init__.py +1024 -0
  42. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/METADATA +1 -1
  43. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/RECORD +47 -47
  44. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/LICENSE +0 -0
  45. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/NOTICE +0 -0
  46. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/WHEEL +0 -0
  47. {aws_cdk_lib-2.171.0.dist-info → aws_cdk_lib-2.172.0.dist-info}/top_level.txt +0 -0
@@ -21,6 +21,9 @@ This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aw
21
21
  * [User Pools](#user-pools)
22
22
 
23
23
  * [Sign Up](#sign-up)
24
+
25
+ * [Code Verification](#code-verification)
26
+ * [Link Verification](#link-verification)
24
27
  * [Sign In](#sign-in)
25
28
  * [Attributes](#attributes)
26
29
  * [Attribute verification](#attribute-verification)
@@ -698,6 +701,9 @@ Custom authentication protocols can be configured by setting the `custom` proper
698
701
  functions for the corresponding user pool [triggers](#lambda-triggers). Learn more at [Custom Authentication
699
702
  Flow](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html#amazon-cognito-user-pools-custom-authentication-flow).
700
703
 
704
+ Choice-based authentication can be configured by setting the `user` property under `authFlow`. This enables the
705
+ `USER_AUTH` authentication flow. Learn more at [Choice-based authentication](https://docs.aws.amazon.com/cognito/latest/developerguide/authentication-flows-selection-sdk.html#authentication-flows-selection-choice).
706
+
701
707
  In addition to these authentication mechanisms, Cognito user pools also support using OAuth 2.0 framework for
702
708
  authenticating users. User pool clients can be configured with OAuth 2.0 authorization flows and scopes. Learn more
703
709
  about the [OAuth 2.0 authorization framework](https://tools.ietf.org/html/rfc6749) and [Cognito user pool's
@@ -982,6 +988,21 @@ Existing domains can be imported into CDK apps using `UserPoolDomain.fromDomainN
982
988
  my_user_pool_domain = cognito.UserPoolDomain.from_domain_name(self, "my-user-pool-domain", "domain-name")
983
989
  ```
984
990
 
991
+ To get the domain name of the CloudFront distribution associated with the user pool domain, use `cloudFrontEndpoint` method.
992
+
993
+ ```python
994
+ userpool = cognito.UserPool(self, "UserPool")
995
+ domain = userpool.add_domain("Domain",
996
+ cognito_domain=cognito.CognitoDomainOptions(
997
+ domain_prefix="my-awesome-app"
998
+ )
999
+ )
1000
+
1001
+ CfnOutput(self, "CloudFrontEndpoint",
1002
+ value=domain.cloud_front_endpoint
1003
+ )
1004
+ ```
1005
+
985
1006
  ### Deletion protection
986
1007
 
987
1008
  Deletion protection can be enabled on a user pool to prevent accidental deletion:
@@ -1499,6 +1520,7 @@ class AttributeMapping:
1499
1520
  name_mapping={
1500
1521
  "admin_user_password": "adminUserPassword",
1501
1522
  "custom": "custom",
1523
+ "user": "user",
1502
1524
  "user_password": "userPassword",
1503
1525
  "user_srp": "userSrp",
1504
1526
  },
@@ -1509,6 +1531,7 @@ class AuthFlow:
1509
1531
  *,
1510
1532
  admin_user_password: typing.Optional[builtins.bool] = None,
1511
1533
  custom: typing.Optional[builtins.bool] = None,
1534
+ user: typing.Optional[builtins.bool] = None,
1512
1535
  user_password: typing.Optional[builtins.bool] = None,
1513
1536
  user_srp: typing.Optional[builtins.bool] = None,
1514
1537
  ) -> None:
@@ -1516,6 +1539,7 @@ class AuthFlow:
1516
1539
 
1517
1540
  :param admin_user_password: Enable admin based user password authentication flow. Default: false
1518
1541
  :param custom: Enable custom authentication flow. Default: false
1542
+ :param user: Enable Choice-based authentication. Default: false
1519
1543
  :param user_password: Enable auth using username & password. Default: false
1520
1544
  :param user_srp: Enable SRP based authentication. Default: false
1521
1545
 
@@ -1536,6 +1560,7 @@ class AuthFlow:
1536
1560
  type_hints = typing.get_type_hints(_typecheckingstub__3dd38e6e4617deee919f37d20a9ae635331043b4cf42c8d31fdbb0d3c29baeda)
1537
1561
  check_type(argname="argument admin_user_password", value=admin_user_password, expected_type=type_hints["admin_user_password"])
1538
1562
  check_type(argname="argument custom", value=custom, expected_type=type_hints["custom"])
1563
+ check_type(argname="argument user", value=user, expected_type=type_hints["user"])
1539
1564
  check_type(argname="argument user_password", value=user_password, expected_type=type_hints["user_password"])
1540
1565
  check_type(argname="argument user_srp", value=user_srp, expected_type=type_hints["user_srp"])
1541
1566
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -1543,6 +1568,8 @@ class AuthFlow:
1543
1568
  self._values["admin_user_password"] = admin_user_password
1544
1569
  if custom is not None:
1545
1570
  self._values["custom"] = custom
1571
+ if user is not None:
1572
+ self._values["user"] = user
1546
1573
  if user_password is not None:
1547
1574
  self._values["user_password"] = user_password
1548
1575
  if user_srp is not None:
@@ -1566,6 +1593,15 @@ class AuthFlow:
1566
1593
  result = self._values.get("custom")
1567
1594
  return typing.cast(typing.Optional[builtins.bool], result)
1568
1595
 
1596
+ @builtins.property
1597
+ def user(self) -> typing.Optional[builtins.bool]:
1598
+ '''Enable Choice-based authentication.
1599
+
1600
+ :default: false
1601
+ '''
1602
+ result = self._values.get("user")
1603
+ return typing.cast(typing.Optional[builtins.bool], result)
1604
+
1569
1605
  @builtins.property
1570
1606
  def user_password(self) -> typing.Optional[builtins.bool]:
1571
1607
  '''Enable auth using username & password.
@@ -3957,6 +3993,483 @@ class CfnLogDeliveryConfigurationProps:
3957
3993
  )
3958
3994
 
3959
3995
 
3996
+ @jsii.implements(_IInspectable_c2943556)
3997
+ class CfnManagedLoginBranding(
3998
+ _CfnResource_9df397a6,
3999
+ metaclass=jsii.JSIIMeta,
4000
+ jsii_type="aws-cdk-lib.aws_cognito.CfnManagedLoginBranding",
4001
+ ):
4002
+ '''Resource Type definition for AWS::Cognito::ManagedLoginBranding.
4003
+
4004
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html
4005
+ :cloudformationResource: AWS::Cognito::ManagedLoginBranding
4006
+ :exampleMetadata: fixture=_generated
4007
+
4008
+ Example::
4009
+
4010
+ # The code below shows an example of how to instantiate this type.
4011
+ # The values are placeholders you should change.
4012
+ from aws_cdk import aws_cognito as cognito
4013
+
4014
+ # settings: Any
4015
+
4016
+ cfn_managed_login_branding = cognito.CfnManagedLoginBranding(self, "MyCfnManagedLoginBranding",
4017
+ user_pool_id="userPoolId",
4018
+
4019
+ # the properties below are optional
4020
+ assets=[cognito.CfnManagedLoginBranding.AssetTypeProperty(
4021
+ category="category",
4022
+ color_mode="colorMode",
4023
+ extension="extension",
4024
+
4025
+ # the properties below are optional
4026
+ bytes="bytes",
4027
+ resource_id="resourceId"
4028
+ )],
4029
+ client_id="clientId",
4030
+ return_merged_resources=False,
4031
+ settings=settings,
4032
+ use_cognito_provided_values=False
4033
+ )
4034
+ '''
4035
+
4036
+ def __init__(
4037
+ self,
4038
+ scope: _constructs_77d1e7e8.Construct,
4039
+ id: builtins.str,
4040
+ *,
4041
+ user_pool_id: builtins.str,
4042
+ assets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnManagedLoginBranding.AssetTypeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
4043
+ client_id: typing.Optional[builtins.str] = None,
4044
+ return_merged_resources: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4045
+ settings: typing.Any = None,
4046
+ use_cognito_provided_values: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4047
+ ) -> None:
4048
+ '''
4049
+ :param scope: Scope in which this resource is defined.
4050
+ :param id: Construct identifier for this resource (unique in its scope).
4051
+ :param user_pool_id:
4052
+ :param assets:
4053
+ :param client_id:
4054
+ :param return_merged_resources:
4055
+ :param settings:
4056
+ :param use_cognito_provided_values:
4057
+ '''
4058
+ if __debug__:
4059
+ type_hints = typing.get_type_hints(_typecheckingstub__478f8899894ffccc3f20b06ae18c36beb41bf5c5c9aa65a99dbdbf95ce00be03)
4060
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4061
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4062
+ props = CfnManagedLoginBrandingProps(
4063
+ user_pool_id=user_pool_id,
4064
+ assets=assets,
4065
+ client_id=client_id,
4066
+ return_merged_resources=return_merged_resources,
4067
+ settings=settings,
4068
+ use_cognito_provided_values=use_cognito_provided_values,
4069
+ )
4070
+
4071
+ jsii.create(self.__class__, self, [scope, id, props])
4072
+
4073
+ @jsii.member(jsii_name="inspect")
4074
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4075
+ '''Examines the CloudFormation resource and discloses attributes.
4076
+
4077
+ :param inspector: tree inspector to collect and process attributes.
4078
+ '''
4079
+ if __debug__:
4080
+ type_hints = typing.get_type_hints(_typecheckingstub__a0d347f9b2c0101529861e949ebe0a802ebc429100648b4c870711c733b50faa)
4081
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4082
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4083
+
4084
+ @jsii.member(jsii_name="renderProperties")
4085
+ def _render_properties(
4086
+ self,
4087
+ props: typing.Mapping[builtins.str, typing.Any],
4088
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4089
+ '''
4090
+ :param props: -
4091
+ '''
4092
+ if __debug__:
4093
+ type_hints = typing.get_type_hints(_typecheckingstub__1112e058064e524fbe515ff8791467e6949341c6ddd8deb9c33af3658b16d447)
4094
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4095
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4096
+
4097
+ @jsii.python.classproperty
4098
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4099
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4100
+ '''The CloudFormation resource type name for this resource class.'''
4101
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4102
+
4103
+ @builtins.property
4104
+ @jsii.member(jsii_name="attrManagedLoginBrandingId")
4105
+ def attr_managed_login_branding_id(self) -> builtins.str:
4106
+ '''
4107
+ :cloudformationAttribute: ManagedLoginBrandingId
4108
+ '''
4109
+ return typing.cast(builtins.str, jsii.get(self, "attrManagedLoginBrandingId"))
4110
+
4111
+ @builtins.property
4112
+ @jsii.member(jsii_name="cfnProperties")
4113
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4114
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4115
+
4116
+ @builtins.property
4117
+ @jsii.member(jsii_name="userPoolId")
4118
+ def user_pool_id(self) -> builtins.str:
4119
+ return typing.cast(builtins.str, jsii.get(self, "userPoolId"))
4120
+
4121
+ @user_pool_id.setter
4122
+ def user_pool_id(self, value: builtins.str) -> None:
4123
+ if __debug__:
4124
+ type_hints = typing.get_type_hints(_typecheckingstub__73b2532ea6e2300654d7fcc90b2b1fd38f772128b765556475cff8c1be577731)
4125
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4126
+ jsii.set(self, "userPoolId", value) # pyright: ignore[reportArgumentType]
4127
+
4128
+ @builtins.property
4129
+ @jsii.member(jsii_name="assets")
4130
+ def assets(
4131
+ self,
4132
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnManagedLoginBranding.AssetTypeProperty"]]]]:
4133
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnManagedLoginBranding.AssetTypeProperty"]]]], jsii.get(self, "assets"))
4134
+
4135
+ @assets.setter
4136
+ def assets(
4137
+ self,
4138
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnManagedLoginBranding.AssetTypeProperty"]]]],
4139
+ ) -> None:
4140
+ if __debug__:
4141
+ type_hints = typing.get_type_hints(_typecheckingstub__fc790275f28767420e82246bd64663082d888a2c93af667d6c769ece2924f786)
4142
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4143
+ jsii.set(self, "assets", value) # pyright: ignore[reportArgumentType]
4144
+
4145
+ @builtins.property
4146
+ @jsii.member(jsii_name="clientId")
4147
+ def client_id(self) -> typing.Optional[builtins.str]:
4148
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "clientId"))
4149
+
4150
+ @client_id.setter
4151
+ def client_id(self, value: typing.Optional[builtins.str]) -> None:
4152
+ if __debug__:
4153
+ type_hints = typing.get_type_hints(_typecheckingstub__a668420e0b3cbceec0ade65febad3505a8186912fb1310c4ecdfbbcd6bac7dc2)
4154
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4155
+ jsii.set(self, "clientId", value) # pyright: ignore[reportArgumentType]
4156
+
4157
+ @builtins.property
4158
+ @jsii.member(jsii_name="returnMergedResources")
4159
+ def return_merged_resources(
4160
+ self,
4161
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4162
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "returnMergedResources"))
4163
+
4164
+ @return_merged_resources.setter
4165
+ def return_merged_resources(
4166
+ self,
4167
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
4168
+ ) -> None:
4169
+ if __debug__:
4170
+ type_hints = typing.get_type_hints(_typecheckingstub__ea8e49ce2efc2678bcbf1fdf919c5bbeac64755b39b20ef47a3f76532c424dfc)
4171
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4172
+ jsii.set(self, "returnMergedResources", value) # pyright: ignore[reportArgumentType]
4173
+
4174
+ @builtins.property
4175
+ @jsii.member(jsii_name="settings")
4176
+ def settings(self) -> typing.Any:
4177
+ return typing.cast(typing.Any, jsii.get(self, "settings"))
4178
+
4179
+ @settings.setter
4180
+ def settings(self, value: typing.Any) -> None:
4181
+ if __debug__:
4182
+ type_hints = typing.get_type_hints(_typecheckingstub__f22fe695e1f64d8a038409355220b2e920e04882727bafb532a5728f1ffe677c)
4183
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4184
+ jsii.set(self, "settings", value) # pyright: ignore[reportArgumentType]
4185
+
4186
+ @builtins.property
4187
+ @jsii.member(jsii_name="useCognitoProvidedValues")
4188
+ def use_cognito_provided_values(
4189
+ self,
4190
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4191
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "useCognitoProvidedValues"))
4192
+
4193
+ @use_cognito_provided_values.setter
4194
+ def use_cognito_provided_values(
4195
+ self,
4196
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
4197
+ ) -> None:
4198
+ if __debug__:
4199
+ type_hints = typing.get_type_hints(_typecheckingstub__4b61f0689e78fea36c23c402c48085be3f2c198b922507818947333d59445895)
4200
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4201
+ jsii.set(self, "useCognitoProvidedValues", value) # pyright: ignore[reportArgumentType]
4202
+
4203
+ @jsii.data_type(
4204
+ jsii_type="aws-cdk-lib.aws_cognito.CfnManagedLoginBranding.AssetTypeProperty",
4205
+ jsii_struct_bases=[],
4206
+ name_mapping={
4207
+ "category": "category",
4208
+ "color_mode": "colorMode",
4209
+ "extension": "extension",
4210
+ "bytes": "bytes",
4211
+ "resource_id": "resourceId",
4212
+ },
4213
+ )
4214
+ class AssetTypeProperty:
4215
+ def __init__(
4216
+ self,
4217
+ *,
4218
+ category: builtins.str,
4219
+ color_mode: builtins.str,
4220
+ extension: builtins.str,
4221
+ bytes: typing.Optional[builtins.str] = None,
4222
+ resource_id: typing.Optional[builtins.str] = None,
4223
+ ) -> None:
4224
+ '''
4225
+ :param category:
4226
+ :param color_mode:
4227
+ :param extension:
4228
+ :param bytes:
4229
+ :param resource_id:
4230
+
4231
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html
4232
+ :exampleMetadata: fixture=_generated
4233
+
4234
+ Example::
4235
+
4236
+ # The code below shows an example of how to instantiate this type.
4237
+ # The values are placeholders you should change.
4238
+ from aws_cdk import aws_cognito as cognito
4239
+
4240
+ asset_type_property = cognito.CfnManagedLoginBranding.AssetTypeProperty(
4241
+ category="category",
4242
+ color_mode="colorMode",
4243
+ extension="extension",
4244
+
4245
+ # the properties below are optional
4246
+ bytes="bytes",
4247
+ resource_id="resourceId"
4248
+ )
4249
+ '''
4250
+ if __debug__:
4251
+ type_hints = typing.get_type_hints(_typecheckingstub__a8c0b7bdabc4393d484227225be1727f821e164eec56517d614639ac2059509c)
4252
+ check_type(argname="argument category", value=category, expected_type=type_hints["category"])
4253
+ check_type(argname="argument color_mode", value=color_mode, expected_type=type_hints["color_mode"])
4254
+ check_type(argname="argument extension", value=extension, expected_type=type_hints["extension"])
4255
+ check_type(argname="argument bytes", value=bytes, expected_type=type_hints["bytes"])
4256
+ check_type(argname="argument resource_id", value=resource_id, expected_type=type_hints["resource_id"])
4257
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4258
+ "category": category,
4259
+ "color_mode": color_mode,
4260
+ "extension": extension,
4261
+ }
4262
+ if bytes is not None:
4263
+ self._values["bytes"] = bytes
4264
+ if resource_id is not None:
4265
+ self._values["resource_id"] = resource_id
4266
+
4267
+ @builtins.property
4268
+ def category(self) -> builtins.str:
4269
+ '''
4270
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html#cfn-cognito-managedloginbranding-assettype-category
4271
+ '''
4272
+ result = self._values.get("category")
4273
+ assert result is not None, "Required property 'category' is missing"
4274
+ return typing.cast(builtins.str, result)
4275
+
4276
+ @builtins.property
4277
+ def color_mode(self) -> builtins.str:
4278
+ '''
4279
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html#cfn-cognito-managedloginbranding-assettype-colormode
4280
+ '''
4281
+ result = self._values.get("color_mode")
4282
+ assert result is not None, "Required property 'color_mode' is missing"
4283
+ return typing.cast(builtins.str, result)
4284
+
4285
+ @builtins.property
4286
+ def extension(self) -> builtins.str:
4287
+ '''
4288
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html#cfn-cognito-managedloginbranding-assettype-extension
4289
+ '''
4290
+ result = self._values.get("extension")
4291
+ assert result is not None, "Required property 'extension' is missing"
4292
+ return typing.cast(builtins.str, result)
4293
+
4294
+ @builtins.property
4295
+ def bytes(self) -> typing.Optional[builtins.str]:
4296
+ '''
4297
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html#cfn-cognito-managedloginbranding-assettype-bytes
4298
+ '''
4299
+ result = self._values.get("bytes")
4300
+ return typing.cast(typing.Optional[builtins.str], result)
4301
+
4302
+ @builtins.property
4303
+ def resource_id(self) -> typing.Optional[builtins.str]:
4304
+ '''
4305
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-managedloginbranding-assettype.html#cfn-cognito-managedloginbranding-assettype-resourceid
4306
+ '''
4307
+ result = self._values.get("resource_id")
4308
+ return typing.cast(typing.Optional[builtins.str], result)
4309
+
4310
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4311
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4312
+
4313
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4314
+ return not (rhs == self)
4315
+
4316
+ def __repr__(self) -> str:
4317
+ return "AssetTypeProperty(%s)" % ", ".join(
4318
+ k + "=" + repr(v) for k, v in self._values.items()
4319
+ )
4320
+
4321
+
4322
+ @jsii.data_type(
4323
+ jsii_type="aws-cdk-lib.aws_cognito.CfnManagedLoginBrandingProps",
4324
+ jsii_struct_bases=[],
4325
+ name_mapping={
4326
+ "user_pool_id": "userPoolId",
4327
+ "assets": "assets",
4328
+ "client_id": "clientId",
4329
+ "return_merged_resources": "returnMergedResources",
4330
+ "settings": "settings",
4331
+ "use_cognito_provided_values": "useCognitoProvidedValues",
4332
+ },
4333
+ )
4334
+ class CfnManagedLoginBrandingProps:
4335
+ def __init__(
4336
+ self,
4337
+ *,
4338
+ user_pool_id: builtins.str,
4339
+ assets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnManagedLoginBranding.AssetTypeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
4340
+ client_id: typing.Optional[builtins.str] = None,
4341
+ return_merged_resources: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4342
+ settings: typing.Any = None,
4343
+ use_cognito_provided_values: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
4344
+ ) -> None:
4345
+ '''Properties for defining a ``CfnManagedLoginBranding``.
4346
+
4347
+ :param user_pool_id:
4348
+ :param assets:
4349
+ :param client_id:
4350
+ :param return_merged_resources:
4351
+ :param settings:
4352
+ :param use_cognito_provided_values:
4353
+
4354
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html
4355
+ :exampleMetadata: fixture=_generated
4356
+
4357
+ Example::
4358
+
4359
+ # The code below shows an example of how to instantiate this type.
4360
+ # The values are placeholders you should change.
4361
+ from aws_cdk import aws_cognito as cognito
4362
+
4363
+ # settings: Any
4364
+
4365
+ cfn_managed_login_branding_props = cognito.CfnManagedLoginBrandingProps(
4366
+ user_pool_id="userPoolId",
4367
+
4368
+ # the properties below are optional
4369
+ assets=[cognito.CfnManagedLoginBranding.AssetTypeProperty(
4370
+ category="category",
4371
+ color_mode="colorMode",
4372
+ extension="extension",
4373
+
4374
+ # the properties below are optional
4375
+ bytes="bytes",
4376
+ resource_id="resourceId"
4377
+ )],
4378
+ client_id="clientId",
4379
+ return_merged_resources=False,
4380
+ settings=settings,
4381
+ use_cognito_provided_values=False
4382
+ )
4383
+ '''
4384
+ if __debug__:
4385
+ type_hints = typing.get_type_hints(_typecheckingstub__60e207e1aa2ab8ae23b36c3e1ae73765c6f328b13bf0c7b205865e93adc260df)
4386
+ check_type(argname="argument user_pool_id", value=user_pool_id, expected_type=type_hints["user_pool_id"])
4387
+ check_type(argname="argument assets", value=assets, expected_type=type_hints["assets"])
4388
+ check_type(argname="argument client_id", value=client_id, expected_type=type_hints["client_id"])
4389
+ check_type(argname="argument return_merged_resources", value=return_merged_resources, expected_type=type_hints["return_merged_resources"])
4390
+ check_type(argname="argument settings", value=settings, expected_type=type_hints["settings"])
4391
+ check_type(argname="argument use_cognito_provided_values", value=use_cognito_provided_values, expected_type=type_hints["use_cognito_provided_values"])
4392
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4393
+ "user_pool_id": user_pool_id,
4394
+ }
4395
+ if assets is not None:
4396
+ self._values["assets"] = assets
4397
+ if client_id is not None:
4398
+ self._values["client_id"] = client_id
4399
+ if return_merged_resources is not None:
4400
+ self._values["return_merged_resources"] = return_merged_resources
4401
+ if settings is not None:
4402
+ self._values["settings"] = settings
4403
+ if use_cognito_provided_values is not None:
4404
+ self._values["use_cognito_provided_values"] = use_cognito_provided_values
4405
+
4406
+ @builtins.property
4407
+ def user_pool_id(self) -> builtins.str:
4408
+ '''
4409
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-userpoolid
4410
+ '''
4411
+ result = self._values.get("user_pool_id")
4412
+ assert result is not None, "Required property 'user_pool_id' is missing"
4413
+ return typing.cast(builtins.str, result)
4414
+
4415
+ @builtins.property
4416
+ def assets(
4417
+ self,
4418
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnManagedLoginBranding.AssetTypeProperty]]]]:
4419
+ '''
4420
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-assets
4421
+ '''
4422
+ result = self._values.get("assets")
4423
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnManagedLoginBranding.AssetTypeProperty]]]], result)
4424
+
4425
+ @builtins.property
4426
+ def client_id(self) -> typing.Optional[builtins.str]:
4427
+ '''
4428
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-clientid
4429
+ '''
4430
+ result = self._values.get("client_id")
4431
+ return typing.cast(typing.Optional[builtins.str], result)
4432
+
4433
+ @builtins.property
4434
+ def return_merged_resources(
4435
+ self,
4436
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4437
+ '''
4438
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-returnmergedresources
4439
+ '''
4440
+ result = self._values.get("return_merged_resources")
4441
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
4442
+
4443
+ @builtins.property
4444
+ def settings(self) -> typing.Any:
4445
+ '''
4446
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-settings
4447
+ '''
4448
+ result = self._values.get("settings")
4449
+ return typing.cast(typing.Any, result)
4450
+
4451
+ @builtins.property
4452
+ def use_cognito_provided_values(
4453
+ self,
4454
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
4455
+ '''
4456
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-managedloginbranding.html#cfn-cognito-managedloginbranding-usecognitoprovidedvalues
4457
+ '''
4458
+ result = self._values.get("use_cognito_provided_values")
4459
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
4460
+
4461
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4462
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4463
+
4464
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4465
+ return not (rhs == self)
4466
+
4467
+ def __repr__(self) -> str:
4468
+ return "CfnManagedLoginBrandingProps(%s)" % ", ".join(
4469
+ k + "=" + repr(v) for k, v in self._values.items()
4470
+ )
4471
+
4472
+
3960
4473
  @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
3961
4474
  class CfnUserPool(
3962
4475
  _CfnResource_9df397a6,
@@ -4052,6 +4565,9 @@ class CfnUserPool(
4052
4565
  require_symbols=False,
4053
4566
  require_uppercase=False,
4054
4567
  temporary_password_validity_days=123
4568
+ ),
4569
+ sign_in_policy=cognito.CfnUserPool.SignInPolicyProperty(
4570
+ allowed_first_auth_factors=["allowedFirstAuthFactors"]
4055
4571
  )
4056
4572
  ),
4057
4573
  schema=[cognito.CfnUserPool.SchemaAttributeProperty(
@@ -4091,6 +4607,7 @@ class CfnUserPool(
4091
4607
  ),
4092
4608
  user_pool_name="userPoolName",
4093
4609
  user_pool_tags=user_pool_tags,
4610
+ user_pool_tier="userPoolTier",
4094
4611
  verification_message_template=cognito.CfnUserPool.VerificationMessageTemplateProperty(
4095
4612
  default_email_option="defaultEmailOption",
4096
4613
  email_message="emailMessage",
@@ -4098,7 +4615,9 @@ class CfnUserPool(
4098
4615
  email_subject="emailSubject",
4099
4616
  email_subject_by_link="emailSubjectByLink",
4100
4617
  sms_message="smsMessage"
4101
- )
4618
+ ),
4619
+ web_authn_relying_party_id="webAuthnRelyingPartyId",
4620
+ web_authn_user_verification="webAuthnUserVerification"
4102
4621
  )
4103
4622
  '''
4104
4623
 
@@ -4132,7 +4651,10 @@ class CfnUserPool(
4132
4651
  user_pool_add_ons: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPool.UserPoolAddOnsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4133
4652
  user_pool_name: typing.Optional[builtins.str] = None,
4134
4653
  user_pool_tags: typing.Any = None,
4654
+ user_pool_tier: typing.Optional[builtins.str] = None,
4135
4655
  verification_message_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPool.VerificationMessageTemplateProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4656
+ web_authn_relying_party_id: typing.Optional[builtins.str] = None,
4657
+ web_authn_user_verification: typing.Optional[builtins.str] = None,
4136
4658
  ) -> None:
4137
4659
  '''
4138
4660
  :param scope: Scope in which this resource is defined.
@@ -4162,7 +4684,10 @@ class CfnUserPool(
4162
4684
  :param user_pool_add_ons: User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to ``AUDIT`` . To configure automatic security responses to risky traffic to your user pool, set to ``ENFORCED`` . For more information, see `Adding advanced security to a user pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html>`_ .
4163
4685
  :param user_pool_name: A string used to name the user pool.
4164
4686
  :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.
4687
+ :param user_pool_tier:
4165
4688
  :param verification_message_template: The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. Set the email message type that corresponds to your ``DefaultEmailOption`` selection. For ``CONFIRM_WITH_LINK`` , specify an ``EmailMessageByLink`` and leave ``EmailMessage`` blank. For ``CONFIRM_WITH_CODE`` , specify an ``EmailMessage`` and leave ``EmailMessageByLink`` blank. When you supply both parameters with either choice, Amazon Cognito returns an error.
4689
+ :param web_authn_relying_party_id:
4690
+ :param web_authn_user_verification:
4166
4691
  '''
4167
4692
  if __debug__:
4168
4693
  type_hints = typing.get_type_hints(_typecheckingstub__32d20f28e2758f9a461380e2ed5d06233baf0f45541047ba837f26ebc37ee551)
@@ -4194,7 +4719,10 @@ class CfnUserPool(
4194
4719
  user_pool_add_ons=user_pool_add_ons,
4195
4720
  user_pool_name=user_pool_name,
4196
4721
  user_pool_tags=user_pool_tags,
4722
+ user_pool_tier=user_pool_tier,
4197
4723
  verification_message_template=verification_message_template,
4724
+ web_authn_relying_party_id=web_authn_relying_party_id,
4725
+ web_authn_user_verification=web_authn_user_verification,
4198
4726
  )
4199
4727
 
4200
4728
  jsii.create(self.__class__, self, [scope, id, props])
@@ -4675,6 +5203,18 @@ class CfnUserPool(
4675
5203
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4676
5204
  jsii.set(self, "userPoolTagsRaw", value) # pyright: ignore[reportArgumentType]
4677
5205
 
5206
+ @builtins.property
5207
+ @jsii.member(jsii_name="userPoolTier")
5208
+ def user_pool_tier(self) -> typing.Optional[builtins.str]:
5209
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "userPoolTier"))
5210
+
5211
+ @user_pool_tier.setter
5212
+ def user_pool_tier(self, value: typing.Optional[builtins.str]) -> None:
5213
+ if __debug__:
5214
+ type_hints = typing.get_type_hints(_typecheckingstub__7b34a7e631952732eaf3564630f968b4a1066c2249e1bd77fa5894ac20d552db)
5215
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5216
+ jsii.set(self, "userPoolTier", value) # pyright: ignore[reportArgumentType]
5217
+
4678
5218
  @builtins.property
4679
5219
  @jsii.member(jsii_name="verificationMessageTemplate")
4680
5220
  def verification_message_template(
@@ -4693,6 +5233,30 @@ class CfnUserPool(
4693
5233
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4694
5234
  jsii.set(self, "verificationMessageTemplate", value) # pyright: ignore[reportArgumentType]
4695
5235
 
5236
+ @builtins.property
5237
+ @jsii.member(jsii_name="webAuthnRelyingPartyId")
5238
+ def web_authn_relying_party_id(self) -> typing.Optional[builtins.str]:
5239
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "webAuthnRelyingPartyId"))
5240
+
5241
+ @web_authn_relying_party_id.setter
5242
+ def web_authn_relying_party_id(self, value: typing.Optional[builtins.str]) -> None:
5243
+ if __debug__:
5244
+ type_hints = typing.get_type_hints(_typecheckingstub__2a2852b3b820fa8903c8ee86e4c615c763dbc2f40270d7dddb4851a596a4b629)
5245
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5246
+ jsii.set(self, "webAuthnRelyingPartyId", value) # pyright: ignore[reportArgumentType]
5247
+
5248
+ @builtins.property
5249
+ @jsii.member(jsii_name="webAuthnUserVerification")
5250
+ def web_authn_user_verification(self) -> typing.Optional[builtins.str]:
5251
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "webAuthnUserVerification"))
5252
+
5253
+ @web_authn_user_verification.setter
5254
+ def web_authn_user_verification(self, value: typing.Optional[builtins.str]) -> None:
5255
+ if __debug__:
5256
+ type_hints = typing.get_type_hints(_typecheckingstub__39e1b7a43a4375c7269c036061949915e9a6e4528f8341df4df0a6b046ac6a11)
5257
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5258
+ jsii.set(self, "webAuthnUserVerification", value) # pyright: ignore[reportArgumentType]
5259
+
4696
5260
  @jsii.data_type(
4697
5261
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.AccountRecoverySettingProperty",
4698
5262
  jsii_struct_bases=[],
@@ -5954,19 +6518,24 @@ class CfnUserPool(
5954
6518
  @jsii.data_type(
5955
6519
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.PoliciesProperty",
5956
6520
  jsii_struct_bases=[],
5957
- name_mapping={"password_policy": "passwordPolicy"},
6521
+ name_mapping={
6522
+ "password_policy": "passwordPolicy",
6523
+ "sign_in_policy": "signInPolicy",
6524
+ },
5958
6525
  )
5959
6526
  class PoliciesProperty:
5960
6527
  def __init__(
5961
6528
  self,
5962
6529
  *,
5963
6530
  password_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPool.PasswordPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6531
+ sign_in_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnUserPool.SignInPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5964
6532
  ) -> None:
5965
6533
  '''A list of user pool policies. Contains the policy that sets password-complexity requirements.
5966
6534
 
5967
6535
  This data type is a request and response parameter of `CreateUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html>`_ and `UpdateUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html>`_ , and a response parameter of `DescribeUserPool <https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html>`_ .
5968
6536
 
5969
6537
  :param password_policy: The password policy settings for a user pool, including complexity, history, and length requirements.
6538
+ :param sign_in_policy:
5970
6539
 
5971
6540
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html
5972
6541
  :exampleMetadata: fixture=_generated
@@ -5986,15 +6555,21 @@ class CfnUserPool(
5986
6555
  require_symbols=False,
5987
6556
  require_uppercase=False,
5988
6557
  temporary_password_validity_days=123
6558
+ ),
6559
+ sign_in_policy=cognito.CfnUserPool.SignInPolicyProperty(
6560
+ allowed_first_auth_factors=["allowedFirstAuthFactors"]
5989
6561
  )
5990
6562
  )
5991
6563
  '''
5992
6564
  if __debug__:
5993
6565
  type_hints = typing.get_type_hints(_typecheckingstub__9a9937f0b75c9ab1976e5dbd8fe12631390f6d478c894cb0164171b2f9dc39c5)
5994
6566
  check_type(argname="argument password_policy", value=password_policy, expected_type=type_hints["password_policy"])
6567
+ check_type(argname="argument sign_in_policy", value=sign_in_policy, expected_type=type_hints["sign_in_policy"])
5995
6568
  self._values: typing.Dict[builtins.str, typing.Any] = {}
5996
6569
  if password_policy is not None:
5997
6570
  self._values["password_policy"] = password_policy
6571
+ if sign_in_policy is not None:
6572
+ self._values["sign_in_policy"] = sign_in_policy
5998
6573
 
5999
6574
  @builtins.property
6000
6575
  def password_policy(
@@ -6007,6 +6582,16 @@ class CfnUserPool(
6007
6582
  result = self._values.get("password_policy")
6008
6583
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.PasswordPolicyProperty"]], result)
6009
6584
 
6585
+ @builtins.property
6586
+ def sign_in_policy(
6587
+ self,
6588
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.SignInPolicyProperty"]]:
6589
+ '''
6590
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html#cfn-cognito-userpool-policies-signinpolicy
6591
+ '''
6592
+ result = self._values.get("sign_in_policy")
6593
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.SignInPolicyProperty"]], result)
6594
+
6010
6595
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
6011
6596
  return isinstance(rhs, self.__class__) and rhs._values == self._values
6012
6597
 
@@ -6359,6 +6944,61 @@ class CfnUserPool(
6359
6944
  k + "=" + repr(v) for k, v in self._values.items()
6360
6945
  )
6361
6946
 
6947
+ @jsii.data_type(
6948
+ jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.SignInPolicyProperty",
6949
+ jsii_struct_bases=[],
6950
+ name_mapping={"allowed_first_auth_factors": "allowedFirstAuthFactors"},
6951
+ )
6952
+ class SignInPolicyProperty:
6953
+ def __init__(
6954
+ self,
6955
+ *,
6956
+ allowed_first_auth_factors: typing.Optional[typing.Sequence[builtins.str]] = None,
6957
+ ) -> None:
6958
+ '''
6959
+ :param allowed_first_auth_factors:
6960
+
6961
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-signinpolicy.html
6962
+ :exampleMetadata: fixture=_generated
6963
+
6964
+ Example::
6965
+
6966
+ # The code below shows an example of how to instantiate this type.
6967
+ # The values are placeholders you should change.
6968
+ from aws_cdk import aws_cognito as cognito
6969
+
6970
+ sign_in_policy_property = cognito.CfnUserPool.SignInPolicyProperty(
6971
+ allowed_first_auth_factors=["allowedFirstAuthFactors"]
6972
+ )
6973
+ '''
6974
+ if __debug__:
6975
+ type_hints = typing.get_type_hints(_typecheckingstub__71f41ee8011d666621169ad6aeb915855a76a5e105809ce7914229f99c53dd8d)
6976
+ check_type(argname="argument allowed_first_auth_factors", value=allowed_first_auth_factors, expected_type=type_hints["allowed_first_auth_factors"])
6977
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6978
+ if allowed_first_auth_factors is not None:
6979
+ self._values["allowed_first_auth_factors"] = allowed_first_auth_factors
6980
+
6981
+ @builtins.property
6982
+ def allowed_first_auth_factors(
6983
+ self,
6984
+ ) -> typing.Optional[typing.List[builtins.str]]:
6985
+ '''
6986
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-signinpolicy.html#cfn-cognito-userpool-signinpolicy-allowedfirstauthfactors
6987
+ '''
6988
+ result = self._values.get("allowed_first_auth_factors")
6989
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
6990
+
6991
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6992
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6993
+
6994
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6995
+ return not (rhs == self)
6996
+
6997
+ def __repr__(self) -> str:
6998
+ return "SignInPolicyProperty(%s)" % ", ".join(
6999
+ k + "=" + repr(v) for k, v in self._values.items()
7000
+ )
7001
+
6362
7002
  @jsii.data_type(
6363
7003
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPool.SmsConfigurationProperty",
6364
7004
  jsii_struct_bases=[],
@@ -9254,7 +9894,10 @@ class CfnUserPoolIdentityProviderProps:
9254
9894
  "user_pool_add_ons": "userPoolAddOns",
9255
9895
  "user_pool_name": "userPoolName",
9256
9896
  "user_pool_tags": "userPoolTags",
9897
+ "user_pool_tier": "userPoolTier",
9257
9898
  "verification_message_template": "verificationMessageTemplate",
9899
+ "web_authn_relying_party_id": "webAuthnRelyingPartyId",
9900
+ "web_authn_user_verification": "webAuthnUserVerification",
9258
9901
  },
9259
9902
  )
9260
9903
  class CfnUserPoolProps:
@@ -9286,7 +9929,10 @@ class CfnUserPoolProps:
9286
9929
  user_pool_add_ons: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.UserPoolAddOnsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9287
9930
  user_pool_name: typing.Optional[builtins.str] = None,
9288
9931
  user_pool_tags: typing.Any = None,
9932
+ user_pool_tier: typing.Optional[builtins.str] = None,
9289
9933
  verification_message_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.VerificationMessageTemplateProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
9934
+ web_authn_relying_party_id: typing.Optional[builtins.str] = None,
9935
+ web_authn_user_verification: typing.Optional[builtins.str] = None,
9290
9936
  ) -> None:
9291
9937
  '''Properties for defining a ``CfnUserPool``.
9292
9938
 
@@ -9315,7 +9961,10 @@ class CfnUserPoolProps:
9315
9961
  :param user_pool_add_ons: User pool add-ons. Contains settings for activation of advanced security features. To log user security information but take no action, set to ``AUDIT`` . To configure automatic security responses to risky traffic to your user pool, set to ``ENFORCED`` . For more information, see `Adding advanced security to a user pool <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html>`_ .
9316
9962
  :param user_pool_name: A string used to name the user pool.
9317
9963
  :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.
9964
+ :param user_pool_tier:
9318
9965
  :param verification_message_template: The template for the verification message that your user pool delivers to users who set an email address or phone number attribute. Set the email message type that corresponds to your ``DefaultEmailOption`` selection. For ``CONFIRM_WITH_LINK`` , specify an ``EmailMessageByLink`` and leave ``EmailMessage`` blank. For ``CONFIRM_WITH_CODE`` , specify an ``EmailMessage`` and leave ``EmailMessageByLink`` blank. When you supply both parameters with either choice, Amazon Cognito returns an error.
9966
+ :param web_authn_relying_party_id:
9967
+ :param web_authn_user_verification:
9319
9968
 
9320
9969
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html
9321
9970
  :exampleMetadata: fixture=_generated
@@ -9398,6 +10047,9 @@ class CfnUserPoolProps:
9398
10047
  require_symbols=False,
9399
10048
  require_uppercase=False,
9400
10049
  temporary_password_validity_days=123
10050
+ ),
10051
+ sign_in_policy=cognito.CfnUserPool.SignInPolicyProperty(
10052
+ allowed_first_auth_factors=["allowedFirstAuthFactors"]
9401
10053
  )
9402
10054
  ),
9403
10055
  schema=[cognito.CfnUserPool.SchemaAttributeProperty(
@@ -9437,6 +10089,7 @@ class CfnUserPoolProps:
9437
10089
  ),
9438
10090
  user_pool_name="userPoolName",
9439
10091
  user_pool_tags=user_pool_tags,
10092
+ user_pool_tier="userPoolTier",
9440
10093
  verification_message_template=cognito.CfnUserPool.VerificationMessageTemplateProperty(
9441
10094
  default_email_option="defaultEmailOption",
9442
10095
  email_message="emailMessage",
@@ -9444,7 +10097,9 @@ class CfnUserPoolProps:
9444
10097
  email_subject="emailSubject",
9445
10098
  email_subject_by_link="emailSubjectByLink",
9446
10099
  sms_message="smsMessage"
9447
- )
10100
+ ),
10101
+ web_authn_relying_party_id="webAuthnRelyingPartyId",
10102
+ web_authn_user_verification="webAuthnUserVerification"
9448
10103
  )
9449
10104
  '''
9450
10105
  if __debug__:
@@ -9474,7 +10129,10 @@ class CfnUserPoolProps:
9474
10129
  check_type(argname="argument user_pool_add_ons", value=user_pool_add_ons, expected_type=type_hints["user_pool_add_ons"])
9475
10130
  check_type(argname="argument user_pool_name", value=user_pool_name, expected_type=type_hints["user_pool_name"])
9476
10131
  check_type(argname="argument user_pool_tags", value=user_pool_tags, expected_type=type_hints["user_pool_tags"])
10132
+ check_type(argname="argument user_pool_tier", value=user_pool_tier, expected_type=type_hints["user_pool_tier"])
9477
10133
  check_type(argname="argument verification_message_template", value=verification_message_template, expected_type=type_hints["verification_message_template"])
10134
+ check_type(argname="argument web_authn_relying_party_id", value=web_authn_relying_party_id, expected_type=type_hints["web_authn_relying_party_id"])
10135
+ check_type(argname="argument web_authn_user_verification", value=web_authn_user_verification, expected_type=type_hints["web_authn_user_verification"])
9478
10136
  self._values: typing.Dict[builtins.str, typing.Any] = {}
9479
10137
  if account_recovery_setting is not None:
9480
10138
  self._values["account_recovery_setting"] = account_recovery_setting
@@ -9526,8 +10184,14 @@ class CfnUserPoolProps:
9526
10184
  self._values["user_pool_name"] = user_pool_name
9527
10185
  if user_pool_tags is not None:
9528
10186
  self._values["user_pool_tags"] = user_pool_tags
10187
+ if user_pool_tier is not None:
10188
+ self._values["user_pool_tier"] = user_pool_tier
9529
10189
  if verification_message_template is not None:
9530
10190
  self._values["verification_message_template"] = verification_message_template
10191
+ if web_authn_relying_party_id is not None:
10192
+ self._values["web_authn_relying_party_id"] = web_authn_relying_party_id
10193
+ if web_authn_user_verification is not None:
10194
+ self._values["web_authn_user_verification"] = web_authn_user_verification
9531
10195
 
9532
10196
  @builtins.property
9533
10197
  def account_recovery_setting(
@@ -9836,6 +10500,14 @@ class CfnUserPoolProps:
9836
10500
  result = self._values.get("user_pool_tags")
9837
10501
  return typing.cast(typing.Any, result)
9838
10502
 
10503
+ @builtins.property
10504
+ def user_pool_tier(self) -> typing.Optional[builtins.str]:
10505
+ '''
10506
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooltier
10507
+ '''
10508
+ result = self._values.get("user_pool_tier")
10509
+ return typing.cast(typing.Optional[builtins.str], result)
10510
+
9839
10511
  @builtins.property
9840
10512
  def verification_message_template(
9841
10513
  self,
@@ -9849,6 +10521,22 @@ class CfnUserPoolProps:
9849
10521
  result = self._values.get("verification_message_template")
9850
10522
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnUserPool.VerificationMessageTemplateProperty]], result)
9851
10523
 
10524
+ @builtins.property
10525
+ def web_authn_relying_party_id(self) -> typing.Optional[builtins.str]:
10526
+ '''
10527
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-webauthnrelyingpartyid
10528
+ '''
10529
+ result = self._values.get("web_authn_relying_party_id")
10530
+ return typing.cast(typing.Optional[builtins.str], result)
10531
+
10532
+ @builtins.property
10533
+ def web_authn_user_verification(self) -> typing.Optional[builtins.str]:
10534
+ '''
10535
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-webauthnuserverification
10536
+ '''
10537
+ result = self._values.get("web_authn_user_verification")
10538
+ return typing.cast(typing.Optional[builtins.str], result)
10539
+
9852
10540
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
9853
10541
  return isinstance(rhs, self.__class__) and rhs._values == self._values
9854
10542
 
@@ -17730,9 +18418,22 @@ class UserPoolDomain(
17730
18418
  @builtins.property
17731
18419
  @jsii.member(jsii_name="cloudFrontDomainName")
17732
18420
  def cloud_front_domain_name(self) -> builtins.str:
17733
- '''The domain name of the CloudFront distribution associated with the user pool domain.'''
18421
+ '''(deprecated) The domain name of the CloudFront distribution associated with the user pool domain.
18422
+
18423
+ This method creates a custom resource internally to get the CloudFront domain name.
18424
+
18425
+ :deprecated: use ``cloudFrontEndpoint`` method instead.
18426
+
18427
+ :stability: deprecated
18428
+ '''
17734
18429
  return typing.cast(builtins.str, jsii.get(self, "cloudFrontDomainName"))
17735
18430
 
18431
+ @builtins.property
18432
+ @jsii.member(jsii_name="cloudFrontEndpoint")
18433
+ def cloud_front_endpoint(self) -> builtins.str:
18434
+ '''The domain name of the CloudFront distribution associated with the user pool domain.'''
18435
+ return typing.cast(builtins.str, jsii.get(self, "cloudFrontEndpoint"))
18436
+
17736
18437
  @builtins.property
17737
18438
  @jsii.member(jsii_name="domainName")
17738
18439
  def domain_name(self) -> builtins.str:
@@ -21994,6 +22695,8 @@ __all__ = [
21994
22695
  "CfnIdentityPoolRoleAttachmentProps",
21995
22696
  "CfnLogDeliveryConfiguration",
21996
22697
  "CfnLogDeliveryConfigurationProps",
22698
+ "CfnManagedLoginBranding",
22699
+ "CfnManagedLoginBrandingProps",
21997
22700
  "CfnUserPool",
21998
22701
  "CfnUserPoolClient",
21999
22702
  "CfnUserPoolClientProps",
@@ -22126,6 +22829,7 @@ def _typecheckingstub__3dd38e6e4617deee919f37d20a9ae635331043b4cf42c8d31fdbb0d3c
22126
22829
  *,
22127
22830
  admin_user_password: typing.Optional[builtins.bool] = None,
22128
22831
  custom: typing.Optional[builtins.bool] = None,
22832
+ user: typing.Optional[builtins.bool] = None,
22129
22833
  user_password: typing.Optional[builtins.bool] = None,
22130
22834
  user_srp: typing.Optional[builtins.bool] = None,
22131
22835
  ) -> None:
@@ -22504,6 +23208,91 @@ def _typecheckingstub__585789fa8816c3e4ed9b3aa9967435c1474787f750de3db35983f11ef
22504
23208
  """Type checking stubs"""
22505
23209
  pass
22506
23210
 
23211
+ def _typecheckingstub__478f8899894ffccc3f20b06ae18c36beb41bf5c5c9aa65a99dbdbf95ce00be03(
23212
+ scope: _constructs_77d1e7e8.Construct,
23213
+ id: builtins.str,
23214
+ *,
23215
+ user_pool_id: builtins.str,
23216
+ assets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnManagedLoginBranding.AssetTypeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
23217
+ client_id: typing.Optional[builtins.str] = None,
23218
+ return_merged_resources: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
23219
+ settings: typing.Any = None,
23220
+ use_cognito_provided_values: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
23221
+ ) -> None:
23222
+ """Type checking stubs"""
23223
+ pass
23224
+
23225
+ def _typecheckingstub__a0d347f9b2c0101529861e949ebe0a802ebc429100648b4c870711c733b50faa(
23226
+ inspector: _TreeInspector_488e0dd5,
23227
+ ) -> None:
23228
+ """Type checking stubs"""
23229
+ pass
23230
+
23231
+ def _typecheckingstub__1112e058064e524fbe515ff8791467e6949341c6ddd8deb9c33af3658b16d447(
23232
+ props: typing.Mapping[builtins.str, typing.Any],
23233
+ ) -> None:
23234
+ """Type checking stubs"""
23235
+ pass
23236
+
23237
+ def _typecheckingstub__73b2532ea6e2300654d7fcc90b2b1fd38f772128b765556475cff8c1be577731(
23238
+ value: builtins.str,
23239
+ ) -> None:
23240
+ """Type checking stubs"""
23241
+ pass
23242
+
23243
+ def _typecheckingstub__fc790275f28767420e82246bd64663082d888a2c93af667d6c769ece2924f786(
23244
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnManagedLoginBranding.AssetTypeProperty]]]],
23245
+ ) -> None:
23246
+ """Type checking stubs"""
23247
+ pass
23248
+
23249
+ def _typecheckingstub__a668420e0b3cbceec0ade65febad3505a8186912fb1310c4ecdfbbcd6bac7dc2(
23250
+ value: typing.Optional[builtins.str],
23251
+ ) -> None:
23252
+ """Type checking stubs"""
23253
+ pass
23254
+
23255
+ def _typecheckingstub__ea8e49ce2efc2678bcbf1fdf919c5bbeac64755b39b20ef47a3f76532c424dfc(
23256
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
23257
+ ) -> None:
23258
+ """Type checking stubs"""
23259
+ pass
23260
+
23261
+ def _typecheckingstub__f22fe695e1f64d8a038409355220b2e920e04882727bafb532a5728f1ffe677c(
23262
+ value: typing.Any,
23263
+ ) -> None:
23264
+ """Type checking stubs"""
23265
+ pass
23266
+
23267
+ def _typecheckingstub__4b61f0689e78fea36c23c402c48085be3f2c198b922507818947333d59445895(
23268
+ value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
23269
+ ) -> None:
23270
+ """Type checking stubs"""
23271
+ pass
23272
+
23273
+ def _typecheckingstub__a8c0b7bdabc4393d484227225be1727f821e164eec56517d614639ac2059509c(
23274
+ *,
23275
+ category: builtins.str,
23276
+ color_mode: builtins.str,
23277
+ extension: builtins.str,
23278
+ bytes: typing.Optional[builtins.str] = None,
23279
+ resource_id: typing.Optional[builtins.str] = None,
23280
+ ) -> None:
23281
+ """Type checking stubs"""
23282
+ pass
23283
+
23284
+ def _typecheckingstub__60e207e1aa2ab8ae23b36c3e1ae73765c6f328b13bf0c7b205865e93adc260df(
23285
+ *,
23286
+ user_pool_id: builtins.str,
23287
+ assets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnManagedLoginBranding.AssetTypeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
23288
+ client_id: typing.Optional[builtins.str] = None,
23289
+ return_merged_resources: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
23290
+ settings: typing.Any = None,
23291
+ use_cognito_provided_values: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
23292
+ ) -> None:
23293
+ """Type checking stubs"""
23294
+ pass
23295
+
22507
23296
  def _typecheckingstub__32d20f28e2758f9a461380e2ed5d06233baf0f45541047ba837f26ebc37ee551(
22508
23297
  scope: _constructs_77d1e7e8.Construct,
22509
23298
  id: builtins.str,
@@ -22533,7 +23322,10 @@ def _typecheckingstub__32d20f28e2758f9a461380e2ed5d06233baf0f45541047ba837f26ebc
22533
23322
  user_pool_add_ons: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.UserPoolAddOnsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22534
23323
  user_pool_name: typing.Optional[builtins.str] = None,
22535
23324
  user_pool_tags: typing.Any = None,
23325
+ user_pool_tier: typing.Optional[builtins.str] = None,
22536
23326
  verification_message_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.VerificationMessageTemplateProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
23327
+ web_authn_relying_party_id: typing.Optional[builtins.str] = None,
23328
+ web_authn_user_verification: typing.Optional[builtins.str] = None,
22537
23329
  ) -> None:
22538
23330
  """Type checking stubs"""
22539
23331
  pass
@@ -22700,12 +23492,30 @@ def _typecheckingstub__c0ac7e31445bc4b1c75709a8cde084565899b188ecd5ed75a434afb3f
22700
23492
  """Type checking stubs"""
22701
23493
  pass
22702
23494
 
23495
+ def _typecheckingstub__7b34a7e631952732eaf3564630f968b4a1066c2249e1bd77fa5894ac20d552db(
23496
+ value: typing.Optional[builtins.str],
23497
+ ) -> None:
23498
+ """Type checking stubs"""
23499
+ pass
23500
+
22703
23501
  def _typecheckingstub__9163d1ccc0cf294430031f1b8b5289192a6e048b52e8181e9ca8707780aac888(
22704
23502
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnUserPool.VerificationMessageTemplateProperty]],
22705
23503
  ) -> None:
22706
23504
  """Type checking stubs"""
22707
23505
  pass
22708
23506
 
23507
+ def _typecheckingstub__2a2852b3b820fa8903c8ee86e4c615c763dbc2f40270d7dddb4851a596a4b629(
23508
+ value: typing.Optional[builtins.str],
23509
+ ) -> None:
23510
+ """Type checking stubs"""
23511
+ pass
23512
+
23513
+ def _typecheckingstub__39e1b7a43a4375c7269c036061949915e9a6e4528f8341df4df0a6b046ac6a11(
23514
+ value: typing.Optional[builtins.str],
23515
+ ) -> None:
23516
+ """Type checking stubs"""
23517
+ pass
23518
+
22709
23519
  def _typecheckingstub__79c7f36a6b9a834beef59493981fd8b3c56dae29d4d3d36bb9b0a65305ebd4ce(
22710
23520
  *,
22711
23521
  recovery_mechanisms: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.RecoveryOptionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
@@ -22817,6 +23627,7 @@ def _typecheckingstub__388245a445a407251a06f0f49f236a6b0a76ff7177f23a1d5cd9d4ffa
22817
23627
  def _typecheckingstub__9a9937f0b75c9ab1976e5dbd8fe12631390f6d478c894cb0164171b2f9dc39c5(
22818
23628
  *,
22819
23629
  password_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.PasswordPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
23630
+ sign_in_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.SignInPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
22820
23631
  ) -> None:
22821
23632
  """Type checking stubs"""
22822
23633
  pass
@@ -22850,6 +23661,13 @@ def _typecheckingstub__9814951786a68c04c05f6bdb7eb01a34fa749e2fb6491b5414b8e8e27
22850
23661
  """Type checking stubs"""
22851
23662
  pass
22852
23663
 
23664
+ def _typecheckingstub__71f41ee8011d666621169ad6aeb915855a76a5e105809ce7914229f99c53dd8d(
23665
+ *,
23666
+ allowed_first_auth_factors: typing.Optional[typing.Sequence[builtins.str]] = None,
23667
+ ) -> None:
23668
+ """Type checking stubs"""
23669
+ pass
23670
+
22853
23671
  def _typecheckingstub__7bdd79abbed6d1c2a56f92beb7e51f5c19f5fdeac49af18d379dda0e31605f6e(
22854
23672
  *,
22855
23673
  external_id: typing.Optional[builtins.str] = None,
@@ -23347,7 +24165,10 @@ def _typecheckingstub__00bbdbd31eb8d7342ce9883d0851b853acf61f6b243c0aa4323c025da
23347
24165
  user_pool_add_ons: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.UserPoolAddOnsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
23348
24166
  user_pool_name: typing.Optional[builtins.str] = None,
23349
24167
  user_pool_tags: typing.Any = None,
24168
+ user_pool_tier: typing.Optional[builtins.str] = None,
23350
24169
  verification_message_template: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnUserPool.VerificationMessageTemplateProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24170
+ web_authn_relying_party_id: typing.Optional[builtins.str] = None,
24171
+ web_authn_user_verification: typing.Optional[builtins.str] = None,
23351
24172
  ) -> None:
23352
24173
  """Type checking stubs"""
23353
24174
  pass