aws-cdk-lib 2.126.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.
- aws_cdk/__init__.py +0 -2
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.126.0.jsii.tgz → aws-cdk-lib@2.127.0.jsii.tgz} +0 -0
- aws_cdk/aws_acmpca/__init__.py +18 -6
- aws_cdk/aws_amazonmq/__init__.py +3 -2
- aws_cdk/aws_amplifyuibuilder/__init__.py +1212 -666
- aws_cdk/aws_apigateway/__init__.py +7 -3
- aws_cdk/aws_appconfig/__init__.py +108 -19
- aws_cdk/aws_appsync/__init__.py +43 -0
- aws_cdk/aws_autoscaling/__init__.py +37 -14
- aws_cdk/aws_cassandra/__init__.py +810 -4
- aws_cdk/aws_cloudfront/__init__.py +35 -37
- aws_cdk/aws_cloudfront/experimental/__init__.py +21 -0
- aws_cdk/aws_codebuild/__init__.py +43 -3
- aws_cdk/aws_codecommit/__init__.py +1 -0
- aws_cdk/aws_codepipeline/__init__.py +7 -3
- aws_cdk/aws_codepipeline_actions/__init__.py +11 -1
- aws_cdk/aws_codestarnotifications/__init__.py +24 -15
- aws_cdk/aws_cognito/__init__.py +180 -116
- aws_cdk/aws_datasync/__init__.py +8 -4
- aws_cdk/aws_dynamodb/__init__.py +80 -11
- aws_cdk/aws_ec2/__init__.py +207 -45
- aws_cdk/aws_ecs/__init__.py +171 -78
- aws_cdk/aws_ecs_patterns/__init__.py +24 -0
- aws_cdk/aws_efs/__init__.py +64 -8
- aws_cdk/aws_eks/__init__.py +52 -41
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +12 -9
- aws_cdk/aws_fis/__init__.py +32 -12
- aws_cdk/aws_fsx/__init__.py +61 -43
- aws_cdk/aws_glue/__init__.py +449 -0
- aws_cdk/aws_guardduty/__init__.py +0 -8
- aws_cdk/aws_iam/__init__.py +3 -3
- aws_cdk/aws_inspectorv2/__init__.py +989 -0
- aws_cdk/aws_internetmonitor/__init__.py +10 -12
- aws_cdk/aws_iot/__init__.py +112 -0
- aws_cdk/aws_iotwireless/__init__.py +32 -19
- aws_cdk/aws_lambda/__init__.py +129 -32
- aws_cdk/aws_lambda_event_sources/__init__.py +95 -4
- aws_cdk/aws_lambda_nodejs/__init__.py +21 -0
- aws_cdk/aws_location/__init__.py +8 -2
- aws_cdk/aws_logs/__init__.py +7 -3
- aws_cdk/aws_networkmanager/__init__.py +1 -1
- aws_cdk/aws_opensearchserverless/__init__.py +4 -4
- aws_cdk/aws_osis/__init__.py +13 -13
- aws_cdk/aws_personalize/__init__.py +1 -1
- aws_cdk/aws_pinpoint/__init__.py +5 -5
- aws_cdk/aws_pipes/__init__.py +7 -10
- aws_cdk/aws_rds/__init__.py +449 -8
- aws_cdk/aws_redshiftserverless/__init__.py +282 -0
- aws_cdk/aws_rolesanywhere/__init__.py +53 -41
- aws_cdk/aws_route53/__init__.py +282 -0
- aws_cdk/aws_s3/__init__.py +11 -6
- aws_cdk/aws_sagemaker/__init__.py +1398 -39
- aws_cdk/aws_sns/__init__.py +56 -13
- aws_cdk/aws_sqs/__init__.py +13 -10
- aws_cdk/aws_stepfunctions/__init__.py +3612 -1395
- aws_cdk/aws_stepfunctions_tasks/__init__.py +267 -181
- aws_cdk/aws_transfer/__init__.py +1 -1
- aws_cdk/aws_verifiedpermissions/__init__.py +55 -55
- aws_cdk/aws_workspacesweb/__init__.py +6 -3
- aws_cdk/cx_api/__init__.py +17 -0
- aws_cdk/triggers/__init__.py +21 -0
- {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/RECORD +68 -69
- aws_cdk/aws_ssmguiconnect/__init__.py +0 -540
- {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.126.0.dist-info → aws_cdk_lib-2.127.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_cognito/__init__.py
CHANGED
|
@@ -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
|
-
'''
|
|
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
|
-
'''``
|
|
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
|
|
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.
|
|
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
|
|
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
|
-
|
|
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
|
-
'''
|
|
3008
|
+
'''If you specify Token or Rules as the ``Type`` , ``AmbiguousRoleResolution`` is required.
|
|
3002
3009
|
|
|
3003
|
-
|
|
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
|
-
|
|
5535
|
-
:param
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
11502
|
+
When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:
|
|
11481
11503
|
|
|
11482
|
-
-
|
|
11483
|
-
-
|
|
11484
|
-
-
|
|
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
|
-
|
|
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
|