aws-cdk-lib 2.125.0__py3-none-any.whl → 2.127.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 (69) hide show
  1. aws_cdk/__init__.py +0 -2
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.125.0.jsii.tgz → aws-cdk-lib@2.127.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +18 -6
  5. aws_cdk/aws_amazonmq/__init__.py +3 -2
  6. aws_cdk/aws_amplifyuibuilder/__init__.py +1212 -666
  7. aws_cdk/aws_apigateway/__init__.py +7 -3
  8. aws_cdk/aws_appconfig/__init__.py +108 -19
  9. aws_cdk/aws_appsync/__init__.py +43 -0
  10. aws_cdk/aws_autoscaling/__init__.py +37 -14
  11. aws_cdk/aws_cassandra/__init__.py +810 -4
  12. aws_cdk/aws_cloudfront/__init__.py +35 -37
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +21 -0
  14. aws_cdk/aws_codebuild/__init__.py +43 -3
  15. aws_cdk/aws_codecommit/__init__.py +1 -0
  16. aws_cdk/aws_codepipeline/__init__.py +7 -3
  17. aws_cdk/aws_codepipeline_actions/__init__.py +11 -1
  18. aws_cdk/aws_codestarnotifications/__init__.py +24 -15
  19. aws_cdk/aws_cognito/__init__.py +180 -116
  20. aws_cdk/aws_datasync/__init__.py +8 -4
  21. aws_cdk/aws_dynamodb/__init__.py +80 -11
  22. aws_cdk/aws_ec2/__init__.py +207 -45
  23. aws_cdk/aws_ecs/__init__.py +171 -78
  24. aws_cdk/aws_ecs_patterns/__init__.py +24 -0
  25. aws_cdk/aws_efs/__init__.py +64 -8
  26. aws_cdk/aws_eks/__init__.py +52 -41
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +12 -9
  28. aws_cdk/aws_fis/__init__.py +32 -12
  29. aws_cdk/aws_fsx/__init__.py +61 -43
  30. aws_cdk/aws_glue/__init__.py +449 -0
  31. aws_cdk/aws_guardduty/__init__.py +0 -8
  32. aws_cdk/aws_iam/__init__.py +3 -3
  33. aws_cdk/aws_inspectorv2/__init__.py +989 -0
  34. aws_cdk/aws_internetmonitor/__init__.py +10 -12
  35. aws_cdk/aws_iot/__init__.py +112 -0
  36. aws_cdk/aws_iotwireless/__init__.py +32 -19
  37. aws_cdk/aws_lambda/__init__.py +129 -32
  38. aws_cdk/aws_lambda_event_sources/__init__.py +95 -4
  39. aws_cdk/aws_lambda_nodejs/__init__.py +21 -0
  40. aws_cdk/aws_location/__init__.py +8 -2
  41. aws_cdk/aws_logs/__init__.py +7 -3
  42. aws_cdk/aws_networkmanager/__init__.py +1 -1
  43. aws_cdk/aws_opensearchserverless/__init__.py +4 -4
  44. aws_cdk/aws_osis/__init__.py +13 -13
  45. aws_cdk/aws_personalize/__init__.py +1 -1
  46. aws_cdk/aws_pinpoint/__init__.py +5 -5
  47. aws_cdk/aws_pipes/__init__.py +7 -10
  48. aws_cdk/aws_rds/__init__.py +449 -8
  49. aws_cdk/aws_redshiftserverless/__init__.py +282 -0
  50. aws_cdk/aws_rolesanywhere/__init__.py +53 -41
  51. aws_cdk/aws_route53/__init__.py +282 -0
  52. aws_cdk/aws_s3/__init__.py +11 -6
  53. aws_cdk/aws_sagemaker/__init__.py +1398 -39
  54. aws_cdk/aws_sns/__init__.py +56 -13
  55. aws_cdk/aws_sqs/__init__.py +13 -10
  56. aws_cdk/aws_stepfunctions/__init__.py +3612 -1395
  57. aws_cdk/aws_stepfunctions_tasks/__init__.py +267 -181
  58. aws_cdk/aws_transfer/__init__.py +1 -1
  59. aws_cdk/aws_verifiedpermissions/__init__.py +55 -55
  60. aws_cdk/aws_workspacesweb/__init__.py +6 -3
  61. aws_cdk/cx_api/__init__.py +17 -0
  62. aws_cdk/triggers/__init__.py +21 -0
  63. {aws_cdk_lib-2.125.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/METADATA +1 -1
  64. {aws_cdk_lib-2.125.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/RECORD +68 -69
  65. aws_cdk/aws_ssmguiconnect/__init__.py +0 -540
  66. {aws_cdk_lib-2.125.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/LICENSE +0 -0
  67. {aws_cdk_lib-2.125.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/NOTICE +0 -0
  68. {aws_cdk_lib-2.125.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/WHEEL +0 -0
  69. {aws_cdk_lib-2.125.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/top_level.txt +0 -0
@@ -492,6 +492,16 @@ userpool.add_trigger(cognito.UserPoolOperation.USER_MIGRATION, lambda_.Function(
492
492
  ))
493
493
  ```
494
494
 
495
+ Additionally, only the pre token generation Lambda trigger supports trigger events with lambda version V2.0:
496
+
497
+ ```python
498
+ # userpool: cognito.UserPool
499
+ # pre_token_generation_fn: lambda.Function
500
+
501
+
502
+ userpool.add_trigger(cognito.UserPoolOperation.PRE_TOKEN_GENERATION_CONFIG, pre_token_generation_fn, cognito.LambdaVersion.V2_0)
503
+ ```
504
+
495
505
  The following table lists the set of triggers available, and their corresponding method to add it to the user pool.
496
506
  For more information on the function of these triggers and how to configure them, read [User Pool Workflows with
497
507
  Triggers](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html).
@@ -1678,8 +1688,7 @@ class CfnIdentityPool(
1678
1688
  @builtins.property
1679
1689
  @jsii.member(jsii_name="attrId")
1680
1690
  def attr_id(self) -> builtins.str:
1681
- '''An identity pool ID in the format REGION:GUID.
1682
-
1691
+ '''
1683
1692
  :cloudformationAttribute: Id
1684
1693
  '''
1685
1694
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -2934,10 +2943,10 @@ class CfnIdentityPoolRoleAttachment(
2934
2943
  identity_provider: typing.Optional[builtins.str] = None,
2935
2944
  rules_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdentityPoolRoleAttachment.RulesConfigurationTypeProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
2936
2945
  ) -> None:
2937
- '''``RoleMapping`` is a property of the `AWS::Cognito::IdentityPoolRoleAttachment <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html>`_ resource that defines the role-mapping attributes of an Amazon Cognito identity pool.
2946
+ '''One of a set of ``RoleMappings`` , a property of the `AWS::Cognito::IdentityPoolRoleAttachment <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html>`_ resource that defines the role-mapping attributes of an Amazon Cognito identity pool.
2938
2947
 
2939
- :param type: The role-mapping type. ``Token`` uses ``cognito:roles`` and ``cognito:preferred_role`` claims from the Amazon Cognito identity provider token to map groups to roles. ``Rules`` attempts to match claims from the token to map to a role. Valid values are ``Token`` or ``Rules`` .
2940
- :param ambiguous_role_resolution: Specifies the action to be taken if either no rules match the claim value for the Rules type, or there is no ``cognito:preferred_role`` claim and there are multiple ``cognito:roles`` matches for the Token type. If you specify Token or Rules as the Type, AmbiguousRoleResolution is required. Valid values are ``AuthenticatedRole`` or ``Deny`` .
2948
+ :param type: The role mapping type. Token will use ``cognito:roles`` and ``cognito:preferred_role`` claims from the Cognito identity provider token to map groups to roles. Rules will attempt to match claims from the token to map to a role.
2949
+ :param ambiguous_role_resolution: If you specify Token or Rules as the ``Type`` , ``AmbiguousRoleResolution`` is required. Specifies the action to be taken if either no rules match the claim value for the ``Rules`` type, or there is no ``cognito:preferred_role`` claim and there are multiple ``cognito:roles`` matches for the ``Token`` type.
2941
2950
  :param identity_provider: Identifier for the identity provider for which the role is mapped. For example: ``graph.facebook.com`` or ``cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id (http://cognito-idp.us-east-1.amazonaws.com/us-east-1_abcdefghi:app_client_id)`` . This is the identity provider that is used by the user for authentication. If the identity provider property isn't provided, the key of the entry in the ``RoleMappings`` map is used as the identity provider.
2942
2951
  :param rules_configuration: The rules to be used for mapping users to roles. If you specify "Rules" as the role-mapping type, RulesConfiguration is required.
2943
2952
 
@@ -2984,11 +2993,9 @@ class CfnIdentityPoolRoleAttachment(
2984
2993
 
2985
2994
  @builtins.property
2986
2995
  def type(self) -> builtins.str:
2987
- '''The role-mapping type.
2988
-
2989
- ``Token`` uses ``cognito:roles`` and ``cognito:preferred_role`` claims from the Amazon Cognito identity provider token to map groups to roles. ``Rules`` attempts to match claims from the token to map to a role.
2996
+ '''The role mapping type.
2990
2997
 
2991
- Valid values are ``Token`` or ``Rules`` .
2998
+ Token will use ``cognito:roles`` and ``cognito:preferred_role`` claims from the Cognito identity provider token to map groups to roles. Rules will attempt to match claims from the token to map to a role.
2992
2999
 
2993
3000
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-type
2994
3001
  '''
@@ -2998,11 +3005,9 @@ class CfnIdentityPoolRoleAttachment(
2998
3005
 
2999
3006
  @builtins.property
3000
3007
  def ambiguous_role_resolution(self) -> typing.Optional[builtins.str]:
3001
- '''Specifies the action to be taken if either no rules match the claim value for the Rules type, or there is no ``cognito:preferred_role`` claim and there are multiple ``cognito:roles`` matches for the Token type.
3008
+ '''If you specify Token or Rules as the ``Type`` , ``AmbiguousRoleResolution`` is required.
3002
3009
 
3003
- If you specify Token or Rules as the Type, AmbiguousRoleResolution is required.
3004
-
3005
- Valid values are ``AuthenticatedRole`` or ``Deny`` .
3010
+ Specifies the action to be taken if either no rules match the claim value for the ``Rules`` type, or there is no ``cognito:preferred_role`` claim and there are multiple ``cognito:roles`` matches for the ``Token`` type.
3006
3011
 
3007
3012
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-ambiguousroleresolution
3008
3013
  '''
@@ -4999,7 +5004,7 @@ class CfnUserPool(
4999
5004
  :param pre_authentication: A pre-authentication AWS Lambda trigger.
5000
5005
  :param pre_sign_up: A pre-registration AWS Lambda trigger.
5001
5006
  :param pre_token_generation: The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. Set this parameter for legacy purposes. If you also set an ARN in ``PreTokenGenerationConfig`` , its value must be identical to ``PreTokenGeneration`` . For new instances of pre token generation triggers, set the ``LambdaArn`` of ``PreTokenGenerationConfig`` . You can set ``
5002
- :param pre_token_generation_config:
5007
+ :param pre_token_generation_config: The detailed configuration of a pre token generation trigger. If you also set an ARN in ``PreTokenGeneration`` , its value must be identical to ``PreTokenGenerationConfig`` .
5003
5008
  :param user_migration: The user migration Lambda config type.
5004
5009
  :param verify_auth_challenge_response: Verifies the authentication challenge response.
5005
5010
 
@@ -5197,7 +5202,10 @@ class CfnUserPool(
5197
5202
  def pre_token_generation_config(
5198
5203
  self,
5199
5204
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnUserPool.PreTokenGenerationConfigProperty"]]:
5200
- '''
5205
+ '''The detailed configuration of a pre token generation trigger.
5206
+
5207
+ If you also set an ARN in ``PreTokenGeneration`` , its value must be identical to ``PreTokenGenerationConfig`` .
5208
+
5201
5209
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-pretokengenerationconfig
5202
5210
  '''
5203
5211
  result = self._values.get("pre_token_generation_config")
@@ -5530,9 +5538,10 @@ class CfnUserPool(
5530
5538
  lambda_arn: typing.Optional[builtins.str] = None,
5531
5539
  lambda_version: typing.Optional[builtins.str] = None,
5532
5540
  ) -> None:
5533
- '''
5534
- :param lambda_arn:
5535
- :param lambda_version:
5541
+ '''The properties of a pre token generation Lambda trigger.
5542
+
5543
+ :param lambda_arn: The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger. This parameter and the ``PreTokenGeneration`` property of ``LambdaConfig`` have the same value. For new instances of pre token generation triggers, set ``LambdaArn`` .
5544
+ :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.
5536
5545
 
5537
5546
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-pretokengenerationconfig.html
5538
5547
  :exampleMetadata: fixture=_generated
@@ -5560,7 +5569,10 @@ class CfnUserPool(
5560
5569
 
5561
5570
  @builtins.property
5562
5571
  def lambda_arn(self) -> typing.Optional[builtins.str]:
5563
- '''
5572
+ '''The Amazon Resource Name (ARN) of the function that you want to assign to your Lambda trigger.
5573
+
5574
+ This parameter and the ``PreTokenGeneration`` property of ``LambdaConfig`` have the same value. For new instances of pre token generation triggers, set ``LambdaArn`` .
5575
+
5564
5576
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-pretokengenerationconfig.html#cfn-cognito-userpool-pretokengenerationconfig-lambdaarn
5565
5577
  '''
5566
5578
  result = self._values.get("lambda_arn")
@@ -5568,7 +5580,10 @@ class CfnUserPool(
5568
5580
 
5569
5581
  @builtins.property
5570
5582
  def lambda_version(self) -> typing.Optional[builtins.str]:
5571
- '''
5583
+ '''The user pool trigger version of the request that Amazon Cognito sends to your Lambda function.
5584
+
5585
+ Higher-numbered versions add fields that support new features.
5586
+
5572
5587
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-pretokengenerationconfig.html#cfn-cognito-userpool-pretokengenerationconfig-lambdaversion
5573
5588
  '''
5574
5589
  result = self._values.get("lambda_version")
@@ -6545,7 +6560,8 @@ class CfnUserPoolClient(
6545
6560
  @builtins.property
6546
6561
  @jsii.member(jsii_name="attrClientId")
6547
6562
  def attr_client_id(self) -> builtins.str:
6548
- '''
6563
+ '''The ID of the app client, for example ``1example23456789`` .
6564
+
6549
6565
  :cloudformationAttribute: ClientId
6550
6566
  '''
6551
6567
  return typing.cast(builtins.str, jsii.get(self, "attrClientId"))
@@ -7764,7 +7780,8 @@ class CfnUserPoolDomain(
7764
7780
  @builtins.property
7765
7781
  @jsii.member(jsii_name="attrId")
7766
7782
  def attr_id(self) -> builtins.str:
7767
- '''
7783
+ '''The resource ID.
7784
+
7768
7785
  :cloudformationAttribute: Id
7769
7786
  '''
7770
7787
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -8298,14 +8315,14 @@ class CfnUserPoolIdentityProvider(
8298
8315
  # provider_details: Any
8299
8316
 
8300
8317
  cfn_user_pool_identity_provider = cognito.CfnUserPoolIdentityProvider(self, "MyCfnUserPoolIdentityProvider",
8301
- provider_details=provider_details,
8302
8318
  provider_name="providerName",
8303
8319
  provider_type="providerType",
8304
8320
  user_pool_id="userPoolId",
8305
8321
 
8306
8322
  # the properties below are optional
8307
8323
  attribute_mapping=attribute_mapping,
8308
- idp_identifiers=["idpIdentifiers"]
8324
+ idp_identifiers=["idpIdentifiers"],
8325
+ provider_details=provider_details
8309
8326
  )
8310
8327
  '''
8311
8328
 
@@ -8314,34 +8331,34 @@ class CfnUserPoolIdentityProvider(
8314
8331
  scope: _constructs_77d1e7e8.Construct,
8315
8332
  id: builtins.str,
8316
8333
  *,
8317
- provider_details: typing.Any,
8318
8334
  provider_name: builtins.str,
8319
8335
  provider_type: builtins.str,
8320
8336
  user_pool_id: builtins.str,
8321
8337
  attribute_mapping: typing.Any = None,
8322
8338
  idp_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
8339
+ provider_details: typing.Any = None,
8323
8340
  ) -> None:
8324
8341
  '''
8325
8342
  :param scope: Scope in which this resource is defined.
8326
8343
  :param id: Construct identifier for this resource (unique in its scope).
8327
- :param provider_details: The IdP details. The following list describes the provider detail keys for each IdP type. - For Google and Login with Amazon: - client_id - client_secret - authorize_scopes - For Facebook: - client_id - client_secret - authorize_scopes - api_version - For Sign in with Apple: - client_id - team_id - key_id - private_key - authorize_scopes - For OpenID Connect (OIDC) providers: - client_id - client_secret - attributes_request_method - oidc_issuer - authorize_scopes - The following keys are only present if Amazon Cognito didn't discover them at the ``oidc_issuer`` URL. - authorize_url - token_url - attributes_url - jwks_uri - Amazon Cognito sets the value of the following keys automatically. They are read-only. - attributes_url_add_attributes - For SAML providers: - MetadataFile or MetadataURL - IDPSignout *optional*
8328
8344
  :param provider_name: The IdP name.
8329
8345
  :param provider_type: The IdP type.
8330
8346
  :param user_pool_id: The user pool ID.
8331
8347
  :param attribute_mapping: A mapping of IdP attributes to standard and custom user pool attributes.
8332
8348
  :param idp_identifiers: A list of IdP identifiers.
8349
+ :param provider_details: The scopes, URLs, and identifiers for your external identity provider. The following examples describe the provider detail keys for each IdP type. These values and their schema are subject to change. Social IdP ``authorize_scopes`` values must match the values listed here. - **OpenID Connect (OIDC)** - Amazon Cognito accepts the following elements when it can't discover endpoint URLs from ``oidc_issuer`` : ``attributes_url`` , ``authorize_url`` , ``jwks_uri`` , ``token_url`` . Create or update request: ``"ProviderDetails": { "attributes_request_method": "GET", "attributes_url": "https://auth.example.com/userInfo", "authorize_scopes": "openid profile email", "authorize_url": "https://auth.example.com/authorize", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "jwks_uri": "https://auth.example.com/.well-known/jwks.json", "oidc_issuer": "https://auth.example.com", "token_url": "https://example.com/token" }`` Describe response: ``"ProviderDetails": { "attributes_request_method": "GET", "attributes_url": "https://auth.example.com/userInfo", "attributes_url_add_attributes": "false", "authorize_scopes": "openid profile email", "authorize_url": "https://auth.example.com/authorize", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "jwks_uri": "https://auth.example.com/.well-known/jwks.json", "oidc_issuer": "https://auth.example.com", "token_url": "https://example.com/token" }`` - **SAML** - Create or update request with Metadata URL: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "MetadataURL": "https://auth.example.com/sso/saml/metadata", "RequestSigningAlgorithm": "rsa-sha256" }`` Create or update request with Metadata file: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "MetadataFile": "[metadata XML]", "RequestSigningAlgorithm": "rsa-sha256" }`` The value of ``MetadataFile`` must be the plaintext metadata document with all quote (") characters escaped by backslashes. Describe response: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "ActiveEncryptionCertificate": "[certificate]", "MetadataURL": "https://auth.example.com/sso/saml/metadata", "RequestSigningAlgorithm": "rsa-sha256", "SLORedirectBindingURI": "https://auth.example.com/slo/saml", "SSORedirectBindingURI": "https://auth.example.com/sso/saml" }`` - **LoginWithAmazon** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "profile postal_code", "client_id": "amzn1.application-oa2-client.1example23456789", "client_secret": "provider-app-client-secret"`` Describe response: ``"ProviderDetails": { "attributes_url": "https://api.amazon.com/user/profile", "attributes_url_add_attributes": "false", "authorize_scopes": "profile postal_code", "authorize_url": "https://www.amazon.com/ap/oa", "client_id": "amzn1.application-oa2-client.1example23456789", "client_secret": "provider-app-client-secret", "token_request_method": "POST", "token_url": "https://api.amazon.com/auth/o2/token" }`` - **Google** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "email profile openid", "client_id": "1example23456789.apps.googleusercontent.com", "client_secret": "provider-app-client-secret" }`` Describe response: ``"ProviderDetails": { "attributes_url": "https://people.googleapis.com/v1/people/me?personFields=", "attributes_url_add_attributes": "true", "authorize_scopes": "email profile openid", "authorize_url": "https://accounts.google.com/o/oauth2/v2/auth", "client_id": "1example23456789.apps.googleusercontent.com", "client_secret": "provider-app-client-secret", "oidc_issuer": "https://accounts.google.com", "token_request_method": "POST", "token_url": "https://www.googleapis.com/oauth2/v4/token" }`` - **SignInWithApple** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "email name", "client_id": "com.example.cognito", "private_key": "1EXAMPLE", "key_id": "2EXAMPLE", "team_id": "3EXAMPLE" }`` Describe response: ``"ProviderDetails": { "attributes_url_add_attributes": "false", "authorize_scopes": "email name", "authorize_url": "https://appleid.apple.com/auth/authorize", "client_id": "com.example.cognito", "key_id": "1EXAMPLE", "oidc_issuer": "https://appleid.apple.com", "team_id": "2EXAMPLE", "token_request_method": "POST", "token_url": "https://appleid.apple.com/auth/token" }`` - **Facebook** - Create or update request: ``"ProviderDetails": { "api_version": "v17.0", "authorize_scopes": "public_profile, email", "client_id": "1example23456789", "client_secret": "provider-app-client-secret" }`` Describe response: ``"ProviderDetails": { "api_version": "v17.0", "attributes_url": "https://graph.facebook.com/v17.0/me?fields=", "attributes_url_add_attributes": "true", "authorize_scopes": "public_profile, email", "authorize_url": "https://www.facebook.com/v17.0/dialog/oauth", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "token_request_method": "GET", "token_url": "https://graph.facebook.com/v17.0/oauth/access_token" }``
8333
8350
  '''
8334
8351
  if __debug__:
8335
8352
  type_hints = typing.get_type_hints(_typecheckingstub__759e90505ceb64aa7002be11d4da4a87090102263927799f662a83f606483634)
8336
8353
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
8337
8354
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
8338
8355
  props = CfnUserPoolIdentityProviderProps(
8339
- provider_details=provider_details,
8340
8356
  provider_name=provider_name,
8341
8357
  provider_type=provider_type,
8342
8358
  user_pool_id=user_pool_id,
8343
8359
  attribute_mapping=attribute_mapping,
8344
8360
  idp_identifiers=idp_identifiers,
8361
+ provider_details=provider_details,
8345
8362
  )
8346
8363
 
8347
8364
  jsii.create(self.__class__, self, [scope, id, props])
@@ -8379,7 +8396,8 @@ class CfnUserPoolIdentityProvider(
8379
8396
  @builtins.property
8380
8397
  @jsii.member(jsii_name="attrId")
8381
8398
  def attr_id(self) -> builtins.str:
8382
- '''
8399
+ '''The resource ID.
8400
+
8383
8401
  :cloudformationAttribute: Id
8384
8402
  '''
8385
8403
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -8389,22 +8407,6 @@ class CfnUserPoolIdentityProvider(
8389
8407
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
8390
8408
  return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
8391
8409
 
8392
- @builtins.property
8393
- @jsii.member(jsii_name="providerDetails")
8394
- def provider_details(self) -> typing.Any:
8395
- '''The IdP details.
8396
-
8397
- The following list describes the provider detail keys for each IdP type.
8398
- '''
8399
- return typing.cast(typing.Any, jsii.get(self, "providerDetails"))
8400
-
8401
- @provider_details.setter
8402
- def provider_details(self, value: typing.Any) -> None:
8403
- if __debug__:
8404
- type_hints = typing.get_type_hints(_typecheckingstub__dd9b80463fd736be9b8b32bf8d2368b0c44578e3b056d45e068ca1e5fdfdb299)
8405
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8406
- jsii.set(self, "providerDetails", value)
8407
-
8408
8410
  @builtins.property
8409
8411
  @jsii.member(jsii_name="providerName")
8410
8412
  def provider_name(self) -> builtins.str:
@@ -8473,38 +8475,51 @@ class CfnUserPoolIdentityProvider(
8473
8475
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8474
8476
  jsii.set(self, "idpIdentifiers", value)
8475
8477
 
8478
+ @builtins.property
8479
+ @jsii.member(jsii_name="providerDetails")
8480
+ def provider_details(self) -> typing.Any:
8481
+ '''The scopes, URLs, and identifiers for your external identity provider.'''
8482
+ return typing.cast(typing.Any, jsii.get(self, "providerDetails"))
8483
+
8484
+ @provider_details.setter
8485
+ def provider_details(self, value: typing.Any) -> None:
8486
+ if __debug__:
8487
+ type_hints = typing.get_type_hints(_typecheckingstub__dd9b80463fd736be9b8b32bf8d2368b0c44578e3b056d45e068ca1e5fdfdb299)
8488
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8489
+ jsii.set(self, "providerDetails", value)
8490
+
8476
8491
 
8477
8492
  @jsii.data_type(
8478
8493
  jsii_type="aws-cdk-lib.aws_cognito.CfnUserPoolIdentityProviderProps",
8479
8494
  jsii_struct_bases=[],
8480
8495
  name_mapping={
8481
- "provider_details": "providerDetails",
8482
8496
  "provider_name": "providerName",
8483
8497
  "provider_type": "providerType",
8484
8498
  "user_pool_id": "userPoolId",
8485
8499
  "attribute_mapping": "attributeMapping",
8486
8500
  "idp_identifiers": "idpIdentifiers",
8501
+ "provider_details": "providerDetails",
8487
8502
  },
8488
8503
  )
8489
8504
  class CfnUserPoolIdentityProviderProps:
8490
8505
  def __init__(
8491
8506
  self,
8492
8507
  *,
8493
- provider_details: typing.Any,
8494
8508
  provider_name: builtins.str,
8495
8509
  provider_type: builtins.str,
8496
8510
  user_pool_id: builtins.str,
8497
8511
  attribute_mapping: typing.Any = None,
8498
8512
  idp_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
8513
+ provider_details: typing.Any = None,
8499
8514
  ) -> None:
8500
8515
  '''Properties for defining a ``CfnUserPoolIdentityProvider``.
8501
8516
 
8502
- :param provider_details: The IdP details. The following list describes the provider detail keys for each IdP type. - For Google and Login with Amazon: - client_id - client_secret - authorize_scopes - For Facebook: - client_id - client_secret - authorize_scopes - api_version - For Sign in with Apple: - client_id - team_id - key_id - private_key - authorize_scopes - For OpenID Connect (OIDC) providers: - client_id - client_secret - attributes_request_method - oidc_issuer - authorize_scopes - The following keys are only present if Amazon Cognito didn't discover them at the ``oidc_issuer`` URL. - authorize_url - token_url - attributes_url - jwks_uri - Amazon Cognito sets the value of the following keys automatically. They are read-only. - attributes_url_add_attributes - For SAML providers: - MetadataFile or MetadataURL - IDPSignout *optional*
8503
8517
  :param provider_name: The IdP name.
8504
8518
  :param provider_type: The IdP type.
8505
8519
  :param user_pool_id: The user pool ID.
8506
8520
  :param attribute_mapping: A mapping of IdP attributes to standard and custom user pool attributes.
8507
8521
  :param idp_identifiers: A list of IdP identifiers.
8522
+ :param provider_details: The scopes, URLs, and identifiers for your external identity provider. The following examples describe the provider detail keys for each IdP type. These values and their schema are subject to change. Social IdP ``authorize_scopes`` values must match the values listed here. - **OpenID Connect (OIDC)** - Amazon Cognito accepts the following elements when it can't discover endpoint URLs from ``oidc_issuer`` : ``attributes_url`` , ``authorize_url`` , ``jwks_uri`` , ``token_url`` . Create or update request: ``"ProviderDetails": { "attributes_request_method": "GET", "attributes_url": "https://auth.example.com/userInfo", "authorize_scopes": "openid profile email", "authorize_url": "https://auth.example.com/authorize", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "jwks_uri": "https://auth.example.com/.well-known/jwks.json", "oidc_issuer": "https://auth.example.com", "token_url": "https://example.com/token" }`` Describe response: ``"ProviderDetails": { "attributes_request_method": "GET", "attributes_url": "https://auth.example.com/userInfo", "attributes_url_add_attributes": "false", "authorize_scopes": "openid profile email", "authorize_url": "https://auth.example.com/authorize", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "jwks_uri": "https://auth.example.com/.well-known/jwks.json", "oidc_issuer": "https://auth.example.com", "token_url": "https://example.com/token" }`` - **SAML** - Create or update request with Metadata URL: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "MetadataURL": "https://auth.example.com/sso/saml/metadata", "RequestSigningAlgorithm": "rsa-sha256" }`` Create or update request with Metadata file: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "MetadataFile": "[metadata XML]", "RequestSigningAlgorithm": "rsa-sha256" }`` The value of ``MetadataFile`` must be the plaintext metadata document with all quote (") characters escaped by backslashes. Describe response: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "ActiveEncryptionCertificate": "[certificate]", "MetadataURL": "https://auth.example.com/sso/saml/metadata", "RequestSigningAlgorithm": "rsa-sha256", "SLORedirectBindingURI": "https://auth.example.com/slo/saml", "SSORedirectBindingURI": "https://auth.example.com/sso/saml" }`` - **LoginWithAmazon** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "profile postal_code", "client_id": "amzn1.application-oa2-client.1example23456789", "client_secret": "provider-app-client-secret"`` Describe response: ``"ProviderDetails": { "attributes_url": "https://api.amazon.com/user/profile", "attributes_url_add_attributes": "false", "authorize_scopes": "profile postal_code", "authorize_url": "https://www.amazon.com/ap/oa", "client_id": "amzn1.application-oa2-client.1example23456789", "client_secret": "provider-app-client-secret", "token_request_method": "POST", "token_url": "https://api.amazon.com/auth/o2/token" }`` - **Google** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "email profile openid", "client_id": "1example23456789.apps.googleusercontent.com", "client_secret": "provider-app-client-secret" }`` Describe response: ``"ProviderDetails": { "attributes_url": "https://people.googleapis.com/v1/people/me?personFields=", "attributes_url_add_attributes": "true", "authorize_scopes": "email profile openid", "authorize_url": "https://accounts.google.com/o/oauth2/v2/auth", "client_id": "1example23456789.apps.googleusercontent.com", "client_secret": "provider-app-client-secret", "oidc_issuer": "https://accounts.google.com", "token_request_method": "POST", "token_url": "https://www.googleapis.com/oauth2/v4/token" }`` - **SignInWithApple** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "email name", "client_id": "com.example.cognito", "private_key": "1EXAMPLE", "key_id": "2EXAMPLE", "team_id": "3EXAMPLE" }`` Describe response: ``"ProviderDetails": { "attributes_url_add_attributes": "false", "authorize_scopes": "email name", "authorize_url": "https://appleid.apple.com/auth/authorize", "client_id": "com.example.cognito", "key_id": "1EXAMPLE", "oidc_issuer": "https://appleid.apple.com", "team_id": "2EXAMPLE", "token_request_method": "POST", "token_url": "https://appleid.apple.com/auth/token" }`` - **Facebook** - Create or update request: ``"ProviderDetails": { "api_version": "v17.0", "authorize_scopes": "public_profile, email", "client_id": "1example23456789", "client_secret": "provider-app-client-secret" }`` Describe response: ``"ProviderDetails": { "api_version": "v17.0", "attributes_url": "https://graph.facebook.com/v17.0/me?fields=", "attributes_url_add_attributes": "true", "authorize_scopes": "public_profile, email", "authorize_url": "https://www.facebook.com/v17.0/dialog/oauth", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "token_request_method": "GET", "token_url": "https://graph.facebook.com/v17.0/oauth/access_token" }``
8508
8523
 
8509
8524
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html
8510
8525
  :exampleMetadata: fixture=_generated
@@ -8519,26 +8534,25 @@ class CfnUserPoolIdentityProviderProps:
8519
8534
  # provider_details: Any
8520
8535
 
8521
8536
  cfn_user_pool_identity_provider_props = cognito.CfnUserPoolIdentityProviderProps(
8522
- provider_details=provider_details,
8523
8537
  provider_name="providerName",
8524
8538
  provider_type="providerType",
8525
8539
  user_pool_id="userPoolId",
8526
8540
 
8527
8541
  # the properties below are optional
8528
8542
  attribute_mapping=attribute_mapping,
8529
- idp_identifiers=["idpIdentifiers"]
8543
+ idp_identifiers=["idpIdentifiers"],
8544
+ provider_details=provider_details
8530
8545
  )
8531
8546
  '''
8532
8547
  if __debug__:
8533
8548
  type_hints = typing.get_type_hints(_typecheckingstub__41106943fcdd509be0174e1e1c8a8c320bd77587c77e22cfc1c1b7378dfb42ec)
8534
- check_type(argname="argument provider_details", value=provider_details, expected_type=type_hints["provider_details"])
8535
8549
  check_type(argname="argument provider_name", value=provider_name, expected_type=type_hints["provider_name"])
8536
8550
  check_type(argname="argument provider_type", value=provider_type, expected_type=type_hints["provider_type"])
8537
8551
  check_type(argname="argument user_pool_id", value=user_pool_id, expected_type=type_hints["user_pool_id"])
8538
8552
  check_type(argname="argument attribute_mapping", value=attribute_mapping, expected_type=type_hints["attribute_mapping"])
8539
8553
  check_type(argname="argument idp_identifiers", value=idp_identifiers, expected_type=type_hints["idp_identifiers"])
8554
+ check_type(argname="argument provider_details", value=provider_details, expected_type=type_hints["provider_details"])
8540
8555
  self._values: typing.Dict[builtins.str, typing.Any] = {
8541
- "provider_details": provider_details,
8542
8556
  "provider_name": provider_name,
8543
8557
  "provider_type": provider_type,
8544
8558
  "user_pool_id": user_pool_id,
@@ -8547,48 +8561,8 @@ class CfnUserPoolIdentityProviderProps:
8547
8561
  self._values["attribute_mapping"] = attribute_mapping
8548
8562
  if idp_identifiers is not None:
8549
8563
  self._values["idp_identifiers"] = idp_identifiers
8550
-
8551
- @builtins.property
8552
- def provider_details(self) -> typing.Any:
8553
- '''The IdP details. The following list describes the provider detail keys for each IdP type.
8554
-
8555
- - For Google and Login with Amazon:
8556
- - client_id
8557
- - client_secret
8558
- - authorize_scopes
8559
- - For Facebook:
8560
- - client_id
8561
- - client_secret
8562
- - authorize_scopes
8563
- - api_version
8564
- - For Sign in with Apple:
8565
- - client_id
8566
- - team_id
8567
- - key_id
8568
- - private_key
8569
- - authorize_scopes
8570
- - For OpenID Connect (OIDC) providers:
8571
- - client_id
8572
- - client_secret
8573
- - attributes_request_method
8574
- - oidc_issuer
8575
- - authorize_scopes
8576
- - The following keys are only present if Amazon Cognito didn't discover them at the ``oidc_issuer`` URL.
8577
- - authorize_url
8578
- - token_url
8579
- - attributes_url
8580
- - jwks_uri
8581
- - Amazon Cognito sets the value of the following keys automatically. They are read-only.
8582
- - attributes_url_add_attributes
8583
- - For SAML providers:
8584
- - MetadataFile or MetadataURL
8585
- - IDPSignout *optional*
8586
-
8587
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providerdetails
8588
- '''
8589
- result = self._values.get("provider_details")
8590
- assert result is not None, "Required property 'provider_details' is missing"
8591
- return typing.cast(typing.Any, result)
8564
+ if provider_details is not None:
8565
+ self._values["provider_details"] = provider_details
8592
8566
 
8593
8567
  @builtins.property
8594
8568
  def provider_name(self) -> builtins.str:
@@ -8638,6 +8612,50 @@ class CfnUserPoolIdentityProviderProps:
8638
8612
  result = self._values.get("idp_identifiers")
8639
8613
  return typing.cast(typing.Optional[typing.List[builtins.str]], result)
8640
8614
 
8615
+ @builtins.property
8616
+ def provider_details(self) -> typing.Any:
8617
+ '''The scopes, URLs, and identifiers for your external identity provider.
8618
+
8619
+ The following
8620
+ examples describe the provider detail keys for each IdP type. These values and their
8621
+ schema are subject to change. Social IdP ``authorize_scopes`` values must match
8622
+ the values listed here.
8623
+
8624
+ - **OpenID Connect (OIDC)** - Amazon Cognito accepts the following elements when it can't discover endpoint URLs from ``oidc_issuer`` : ``attributes_url`` , ``authorize_url`` , ``jwks_uri`` , ``token_url`` .
8625
+
8626
+ Create or update request: ``"ProviderDetails": { "attributes_request_method": "GET", "attributes_url": "https://auth.example.com/userInfo", "authorize_scopes": "openid profile email", "authorize_url": "https://auth.example.com/authorize", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "jwks_uri": "https://auth.example.com/.well-known/jwks.json", "oidc_issuer": "https://auth.example.com", "token_url": "https://example.com/token" }``
8627
+
8628
+ Describe response: ``"ProviderDetails": { "attributes_request_method": "GET", "attributes_url": "https://auth.example.com/userInfo", "attributes_url_add_attributes": "false", "authorize_scopes": "openid profile email", "authorize_url": "https://auth.example.com/authorize", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "jwks_uri": "https://auth.example.com/.well-known/jwks.json", "oidc_issuer": "https://auth.example.com", "token_url": "https://example.com/token" }``
8629
+
8630
+ - **SAML** - Create or update request with Metadata URL: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "MetadataURL": "https://auth.example.com/sso/saml/metadata", "RequestSigningAlgorithm": "rsa-sha256" }``
8631
+
8632
+ Create or update request with Metadata file: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "MetadataFile": "[metadata XML]", "RequestSigningAlgorithm": "rsa-sha256" }``
8633
+
8634
+ The value of ``MetadataFile`` must be the plaintext metadata document with all quote (") characters escaped by backslashes.
8635
+
8636
+ Describe response: ``"ProviderDetails": { "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" : "true", "ActiveEncryptionCertificate": "[certificate]", "MetadataURL": "https://auth.example.com/sso/saml/metadata", "RequestSigningAlgorithm": "rsa-sha256", "SLORedirectBindingURI": "https://auth.example.com/slo/saml", "SSORedirectBindingURI": "https://auth.example.com/sso/saml" }``
8637
+
8638
+ - **LoginWithAmazon** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "profile postal_code", "client_id": "amzn1.application-oa2-client.1example23456789", "client_secret": "provider-app-client-secret"``
8639
+
8640
+ Describe response: ``"ProviderDetails": { "attributes_url": "https://api.amazon.com/user/profile", "attributes_url_add_attributes": "false", "authorize_scopes": "profile postal_code", "authorize_url": "https://www.amazon.com/ap/oa", "client_id": "amzn1.application-oa2-client.1example23456789", "client_secret": "provider-app-client-secret", "token_request_method": "POST", "token_url": "https://api.amazon.com/auth/o2/token" }``
8641
+
8642
+ - **Google** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "email profile openid", "client_id": "1example23456789.apps.googleusercontent.com", "client_secret": "provider-app-client-secret" }``
8643
+
8644
+ Describe response: ``"ProviderDetails": { "attributes_url": "https://people.googleapis.com/v1/people/me?personFields=", "attributes_url_add_attributes": "true", "authorize_scopes": "email profile openid", "authorize_url": "https://accounts.google.com/o/oauth2/v2/auth", "client_id": "1example23456789.apps.googleusercontent.com", "client_secret": "provider-app-client-secret", "oidc_issuer": "https://accounts.google.com", "token_request_method": "POST", "token_url": "https://www.googleapis.com/oauth2/v4/token" }``
8645
+
8646
+ - **SignInWithApple** - Create or update request: ``"ProviderDetails": { "authorize_scopes": "email name", "client_id": "com.example.cognito", "private_key": "1EXAMPLE", "key_id": "2EXAMPLE", "team_id": "3EXAMPLE" }``
8647
+
8648
+ Describe response: ``"ProviderDetails": { "attributes_url_add_attributes": "false", "authorize_scopes": "email name", "authorize_url": "https://appleid.apple.com/auth/authorize", "client_id": "com.example.cognito", "key_id": "1EXAMPLE", "oidc_issuer": "https://appleid.apple.com", "team_id": "2EXAMPLE", "token_request_method": "POST", "token_url": "https://appleid.apple.com/auth/token" }``
8649
+
8650
+ - **Facebook** - Create or update request: ``"ProviderDetails": { "api_version": "v17.0", "authorize_scopes": "public_profile, email", "client_id": "1example23456789", "client_secret": "provider-app-client-secret" }``
8651
+
8652
+ Describe response: ``"ProviderDetails": { "api_version": "v17.0", "attributes_url": "https://graph.facebook.com/v17.0/me?fields=", "attributes_url_add_attributes": "true", "authorize_scopes": "public_profile, email", "authorize_url": "https://www.facebook.com/v17.0/dialog/oauth", "client_id": "1example23456789", "client_secret": "provider-app-client-secret", "token_request_method": "GET", "token_url": "https://graph.facebook.com/v17.0/oauth/access_token" }``
8653
+
8654
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providerdetails
8655
+ '''
8656
+ result = self._values.get("provider_details")
8657
+ return typing.cast(typing.Any, result)
8658
+
8641
8659
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
8642
8660
  return isinstance(rhs, self.__class__) and rhs._values == self._values
8643
8661
 
@@ -8988,7 +9006,8 @@ class CfnUserPoolProps:
8988
9006
  def deletion_protection(self) -> typing.Optional[builtins.str]:
8989
9007
  '''When active, ``DeletionProtection`` prevents accidental deletion of your user pool.
8990
9008
 
8991
- Before you can delete a user pool that you have protected against deletion, you must deactivate this feature.
9009
+ Before you can delete a user pool that you have protected against deletion, you
9010
+ must deactivate this feature.
8992
9011
 
8993
9012
  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.
8994
9013
 
@@ -9350,7 +9369,8 @@ class CfnUserPoolResourceServer(
9350
9369
  @builtins.property
9351
9370
  @jsii.member(jsii_name="attrId")
9352
9371
  def attr_id(self) -> builtins.str:
9353
- '''
9372
+ '''The resource ID.
9373
+
9354
9374
  :cloudformationAttribute: Id
9355
9375
  '''
9356
9376
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -9763,7 +9783,8 @@ class CfnUserPoolRiskConfigurationAttachment(
9763
9783
  @builtins.property
9764
9784
  @jsii.member(jsii_name="attrId")
9765
9785
  def attr_id(self) -> builtins.str:
9766
- '''
9786
+ '''The resource ID.
9787
+
9767
9788
  :cloudformationAttribute: Id
9768
9789
  '''
9769
9790
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -10903,7 +10924,8 @@ class CfnUserPoolUICustomizationAttachment(
10903
10924
  @builtins.property
10904
10925
  @jsii.member(jsii_name="attrId")
10905
10926
  def attr_id(self) -> builtins.str:
10906
- '''
10927
+ '''The resource ID.
10928
+
10907
10929
  :cloudformationAttribute: Id
10908
10930
  '''
10909
10931
  return typing.cast(builtins.str, jsii.get(self, "attrId"))
@@ -11102,7 +11124,7 @@ class CfnUserPoolUser(
11102
11124
  :param scope: Scope in which this resource is defined.
11103
11125
  :param id: Construct identifier for this resource (unique in its scope).
11104
11126
  :param user_pool_id: The user pool ID for the user pool where the user will be created.
11105
- :param client_metadata: A map of custom key-value pairs that you can provide as input for the custom workflow that is invoked by the *pre sign-up* trigger. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you create a ``UserPoolUser`` resource and include the ``ClientMetadata`` property, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a ``clientMetadata`` attribute, which provides the data that you assigned to the ClientMetadata property. In your function code in AWS Lambda , you can process the ``clientMetadata`` value to enhance your workflow for your specific needs. For more information, see `Customizing User Pool Workflows with Lambda Triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html>`_ in the *Amazon Cognito Developer Guide* . .. epigraph:: Take the following limitations into consideration when you use the ClientMetadata parameter: - Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. - Amazon Cognito does not validate the ClientMetadata value. - Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.
11127
+ :param client_metadata: A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a ``clientMetadata`` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the ``clientMetadata`` value to enhance your workflow for your specific needs. For more information, see `Customizing user pool Workflows with Lambda Triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html>`_ in the *Amazon Cognito Developer Guide* . .. epigraph:: When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following: - Store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the ClientMetadata parameter serves no purpose. - Validate the ClientMetadata value. - Encrypt the ClientMetadata value. Don't use Amazon Cognito to provide sensitive information.
11106
11128
  :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.
11107
11129
  :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`` .
11108
11130
  :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.
@@ -11180,7 +11202,7 @@ class CfnUserPoolUser(
11180
11202
  def client_metadata(
11181
11203
  self,
11182
11204
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
11183
- '''A map of custom key-value pairs that you can provide as input for the custom workflow that is invoked by the *pre sign-up* trigger.'''
11205
+ '''A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.'''
11184
11206
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]], jsii.get(self, "clientMetadata"))
11185
11207
 
11186
11208
  @client_metadata.setter
@@ -11390,7 +11412,7 @@ class CfnUserPoolUserProps:
11390
11412
  '''Properties for defining a ``CfnUserPoolUser``.
11391
11413
 
11392
11414
  :param user_pool_id: The user pool ID for the user pool where the user will be created.
11393
- :param client_metadata: A map of custom key-value pairs that you can provide as input for the custom workflow that is invoked by the *pre sign-up* trigger. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you create a ``UserPoolUser`` resource and include the ``ClientMetadata`` property, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a ``clientMetadata`` attribute, which provides the data that you assigned to the ClientMetadata property. In your function code in AWS Lambda , you can process the ``clientMetadata`` value to enhance your workflow for your specific needs. For more information, see `Customizing User Pool Workflows with Lambda Triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html>`_ in the *Amazon Cognito Developer Guide* . .. epigraph:: Take the following limitations into consideration when you use the ClientMetadata parameter: - Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose. - Amazon Cognito does not validate the ClientMetadata value. - Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.
11415
+ :param client_metadata: A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers. You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a ``clientMetadata`` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the ``clientMetadata`` value to enhance your workflow for your specific needs. For more information, see `Customizing user pool Workflows with Lambda Triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html>`_ in the *Amazon Cognito Developer Guide* . .. epigraph:: When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following: - Store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the ClientMetadata parameter serves no purpose. - Validate the ClientMetadata value. - Encrypt the ClientMetadata value. Don't use Amazon Cognito to provide sensitive information.
11394
11416
  :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.
11395
11417
  :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`` .
11396
11418
  :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.
@@ -11470,18 +11492,18 @@ class CfnUserPoolUserProps:
11470
11492
  def client_metadata(
11471
11493
  self,
11472
11494
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
11473
- '''A map of custom key-value pairs that you can provide as input for the custom workflow that is invoked by the *pre sign-up* trigger.
11495
+ '''A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.
11474
11496
 
11475
- You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you create a ``UserPoolUser`` resource and include the ``ClientMetadata`` property, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a ``clientMetadata`` attribute, which provides the data that you assigned to the ClientMetadata property. In your function code in AWS Lambda , you can process the ``clientMetadata`` value to enhance your workflow for your specific needs.
11497
+ You create custom workflows by assigning AWS Lambda functions to user pool triggers. When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is assigned to the *pre sign-up* trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives as input. This payload contains a ``clientMetadata`` attribute, which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code in AWS Lambda , you can process the ``clientMetadata`` value to enhance your workflow for your specific needs.
11476
11498
 
11477
- For more information, see `Customizing User Pool Workflows with Lambda Triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html>`_ in the *Amazon Cognito Developer Guide* .
11499
+ For more information, see `Customizing user pool Workflows with Lambda Triggers <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html>`_ in the *Amazon Cognito Developer Guide* .
11478
11500
  .. epigraph::
11479
11501
 
11480
- Take the following limitations into consideration when you use the ClientMetadata parameter:
11502
+ When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:
11481
11503
 
11482
- - Amazon Cognito does not store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration does not include triggers, the ClientMetadata parameter serves no purpose.
11483
- - Amazon Cognito does not validate the ClientMetadata value.
11484
- - Amazon Cognito does not encrypt the the ClientMetadata value, so don't use it to provide sensitive information.
11504
+ - Store the ClientMetadata value. This data is available only to AWS Lambda triggers that are assigned to a user pool to support custom workflows. If your user pool configuration doesn't include triggers, the ClientMetadata parameter serves no purpose.
11505
+ - Validate the ClientMetadata value.
11506
+ - Encrypt the ClientMetadata value. Don't use Amazon Cognito to provide sensitive information.
11485
11507
 
11486
11508
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-clientmetadata
11487
11509
  '''
@@ -12958,6 +12980,30 @@ class KeepOriginalAttrs:
12958
12980
  )
12959
12981
 
12960
12982
 
12983
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_cognito.LambdaVersion")
12984
+ class LambdaVersion(enum.Enum):
12985
+ '''The user pool trigger version of the request that Amazon Cognito sends to your Lambda function.
12986
+
12987
+ :exampleMetadata: infused
12988
+
12989
+ Example::
12990
+
12991
+ # userpool: cognito.UserPool
12992
+ # pre_token_generation_fn: lambda.Function
12993
+
12994
+
12995
+ userpool.add_trigger(cognito.UserPoolOperation.PRE_TOKEN_GENERATION_CONFIG, pre_token_generation_fn, cognito.LambdaVersion.V2_0)
12996
+ '''
12997
+
12998
+ V1_0 = "V1_0"
12999
+ '''V1_0 trigger.'''
13000
+ V2_0 = "V2_0"
13001
+ '''V2_0 trigger.
13002
+
13003
+ This is supported only for PRE_TOKEN_GENERATION trigger.
13004
+ '''
13005
+
13006
+
12961
13007
  @jsii.enum(jsii_type="aws-cdk-lib.aws_cognito.Mfa")
12962
13008
  class Mfa(enum.Enum):
12963
13009
  '''The different ways in which a user pool's MFA enforcement can be configured.
@@ -15761,11 +15807,13 @@ class UserPool(
15761
15807
  self,
15762
15808
  operation: "UserPoolOperation",
15763
15809
  fn: _IFunction_6adb0ab8,
15810
+ lambda_version: typing.Optional[LambdaVersion] = None,
15764
15811
  ) -> None:
15765
15812
  '''Add a lambda trigger to a user pool operation.
15766
15813
 
15767
15814
  :param operation: -
15768
15815
  :param fn: -
15816
+ :param lambda_version: -
15769
15817
 
15770
15818
  :see: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html
15771
15819
  '''
@@ -15773,7 +15821,8 @@ class UserPool(
15773
15821
  type_hints = typing.get_type_hints(_typecheckingstub__dfd8cf59863da2ffc97b2db24d9948006aacfebdfb5beb2d1ae6fcabb21a90b7)
15774
15822
  check_type(argname="argument operation", value=operation, expected_type=type_hints["operation"])
15775
15823
  check_type(argname="argument fn", value=fn, expected_type=type_hints["fn"])
15776
- return typing.cast(None, jsii.invoke(self, "addTrigger", [operation, fn]))
15824
+ check_type(argname="argument lambda_version", value=lambda_version, expected_type=type_hints["lambda_version"])
15825
+ return typing.cast(None, jsii.invoke(self, "addTrigger", [operation, fn, lambda_version]))
15777
15826
 
15778
15827
  @jsii.member(jsii_name="grant")
15779
15828
  def grant(
@@ -18159,10 +18208,23 @@ class UserPoolOperation(
18159
18208
  def PRE_TOKEN_GENERATION(cls) -> "UserPoolOperation":
18160
18209
  '''Add or remove attributes in Id tokens.
18161
18210
 
18211
+ Set this parameter for legacy purposes.
18212
+ If you also set an ARN in PreTokenGenerationConfig, its value must be identical to PreTokenGeneration.
18213
+ For new instances of pre token generation triggers, set the LambdaArn of PreTokenGenerationConfig.
18214
+
18162
18215
  :see: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html
18163
18216
  '''
18164
18217
  return typing.cast("UserPoolOperation", jsii.sget(cls, "PRE_TOKEN_GENERATION"))
18165
18218
 
18219
+ @jsii.python.classproperty
18220
+ @jsii.member(jsii_name="PRE_TOKEN_GENERATION_CONFIG")
18221
+ def PRE_TOKEN_GENERATION_CONFIG(cls) -> "UserPoolOperation":
18222
+ '''Add or remove attributes in Id tokens.
18223
+
18224
+ :see: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html
18225
+ '''
18226
+ return typing.cast("UserPoolOperation", jsii.sget(cls, "PRE_TOKEN_GENERATION_CONFIG"))
18227
+
18166
18228
  @jsii.python.classproperty
18167
18229
  @jsii.member(jsii_name="USER_MIGRATION")
18168
18230
  def USER_MIGRATION(cls) -> "UserPoolOperation":
@@ -20518,6 +20580,7 @@ __all__ = [
20518
20580
  "IUserPoolIdentityProvider",
20519
20581
  "IUserPoolResourceServer",
20520
20582
  "KeepOriginalAttrs",
20583
+ "LambdaVersion",
20521
20584
  "Mfa",
20522
20585
  "MfaSecondFactor",
20523
20586
  "NumberAttribute",
@@ -21684,12 +21747,12 @@ def _typecheckingstub__759e90505ceb64aa7002be11d4da4a87090102263927799f662a83f60
21684
21747
  scope: _constructs_77d1e7e8.Construct,
21685
21748
  id: builtins.str,
21686
21749
  *,
21687
- provider_details: typing.Any,
21688
21750
  provider_name: builtins.str,
21689
21751
  provider_type: builtins.str,
21690
21752
  user_pool_id: builtins.str,
21691
21753
  attribute_mapping: typing.Any = None,
21692
21754
  idp_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
21755
+ provider_details: typing.Any = None,
21693
21756
  ) -> None:
21694
21757
  """Type checking stubs"""
21695
21758
  pass
@@ -21706,12 +21769,6 @@ def _typecheckingstub__7ff11acc316d5d73192edfeab5a5d7fb2aa7891c069fce7ccaa876300
21706
21769
  """Type checking stubs"""
21707
21770
  pass
21708
21771
 
21709
- def _typecheckingstub__dd9b80463fd736be9b8b32bf8d2368b0c44578e3b056d45e068ca1e5fdfdb299(
21710
- value: typing.Any,
21711
- ) -> None:
21712
- """Type checking stubs"""
21713
- pass
21714
-
21715
21772
  def _typecheckingstub__03fef1ca3436f487bdb2ac4c72e914ca702f01a40d12470aaa64c77a0f7e15a2(
21716
21773
  value: builtins.str,
21717
21774
  ) -> None:
@@ -21742,14 +21799,20 @@ def _typecheckingstub__7662247fd2cd01f6776c3a84fedff308a45861e95cabe426cb256482a
21742
21799
  """Type checking stubs"""
21743
21800
  pass
21744
21801
 
21802
+ def _typecheckingstub__dd9b80463fd736be9b8b32bf8d2368b0c44578e3b056d45e068ca1e5fdfdb299(
21803
+ value: typing.Any,
21804
+ ) -> None:
21805
+ """Type checking stubs"""
21806
+ pass
21807
+
21745
21808
  def _typecheckingstub__41106943fcdd509be0174e1e1c8a8c320bd77587c77e22cfc1c1b7378dfb42ec(
21746
21809
  *,
21747
- provider_details: typing.Any,
21748
21810
  provider_name: builtins.str,
21749
21811
  provider_type: builtins.str,
21750
21812
  user_pool_id: builtins.str,
21751
21813
  attribute_mapping: typing.Any = None,
21752
21814
  idp_identifiers: typing.Optional[typing.Sequence[builtins.str]] = None,
21815
+ provider_details: typing.Any = None,
21753
21816
  ) -> None:
21754
21817
  """Type checking stubs"""
21755
21818
  pass
@@ -22585,6 +22648,7 @@ def _typecheckingstub__15a655e8061891a027a61815d064f6a0d9d429f80e33f0c0c98213485
22585
22648
  def _typecheckingstub__dfd8cf59863da2ffc97b2db24d9948006aacfebdfb5beb2d1ae6fcabb21a90b7(
22586
22649
  operation: UserPoolOperation,
22587
22650
  fn: _IFunction_6adb0ab8,
22651
+ lambda_version: typing.Optional[LambdaVersion] = None,
22588
22652
  ) -> None:
22589
22653
  """Type checking stubs"""
22590
22654
  pass