aws-cdk-lib 2.212.0__py3-none-any.whl → 2.214.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 (65) hide show
  1. aws_cdk/__init__.py +23 -3
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.212.0.jsii.tgz → aws-cdk-lib@2.214.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_appconfig/__init__.py +18 -6
  5. aws_cdk/aws_appintegrations/__init__.py +4 -4
  6. aws_cdk/aws_apprunner/__init__.py +5 -8
  7. aws_cdk/aws_aps/__init__.py +243 -10
  8. aws_cdk/aws_b2bi/__init__.py +1015 -128
  9. aws_cdk/aws_batch/__init__.py +33 -11
  10. aws_cdk/aws_bedrock/__init__.py +22 -216
  11. aws_cdk/aws_budgets/__init__.py +18 -0
  12. aws_cdk/aws_certificatemanager/__init__.py +96 -15
  13. aws_cdk/aws_cloudformation/__init__.py +3 -3
  14. aws_cdk/aws_cloudwatch/__init__.py +80 -49
  15. aws_cdk/aws_cognito/__init__.py +76 -5
  16. aws_cdk/aws_connect/__init__.py +188 -2
  17. aws_cdk/aws_datazone/__init__.py +2267 -0
  18. aws_cdk/aws_deadline/__init__.py +6 -5
  19. aws_cdk/aws_dynamodb/__init__.py +418 -56
  20. aws_cdk/aws_ec2/__init__.py +51 -10
  21. aws_cdk/aws_ecs/__init__.py +288 -25
  22. aws_cdk/aws_ecs_patterns/__init__.py +2 -0
  23. aws_cdk/aws_eks/__init__.py +124 -0
  24. aws_cdk/aws_elasticloadbalancingv2/__init__.py +6 -2
  25. aws_cdk/aws_entityresolution/__init__.py +107 -0
  26. aws_cdk/aws_events/__init__.py +153 -55
  27. aws_cdk/aws_events_targets/__init__.py +87 -36
  28. aws_cdk/aws_fsx/__init__.py +62 -0
  29. aws_cdk/aws_gameliftstreams/__init__.py +1 -1
  30. aws_cdk/aws_glue/__init__.py +205 -23
  31. aws_cdk/aws_guardduty/__init__.py +205 -100
  32. aws_cdk/aws_iam/__init__.py +18 -0
  33. aws_cdk/aws_inspectorv2/__init__.py +125 -80
  34. aws_cdk/aws_iot/__init__.py +37 -19
  35. aws_cdk/aws_iotsitewise/__init__.py +111 -75
  36. aws_cdk/aws_ivs/__init__.py +17 -17
  37. aws_cdk/aws_kinesisanalytics/__init__.py +122 -3
  38. aws_cdk/aws_kinesisanalyticsv2/__init__.py +122 -3
  39. aws_cdk/aws_lambda/__init__.py +23 -2
  40. aws_cdk/aws_logs/__init__.py +20 -15
  41. aws_cdk/aws_mediapackagev2/__init__.py +2 -2
  42. aws_cdk/aws_networkfirewall/__init__.py +6 -6
  43. aws_cdk/aws_omics/__init__.py +477 -2
  44. aws_cdk/aws_qbusiness/__init__.py +4 -2
  45. aws_cdk/aws_rds/__init__.py +132 -4
  46. aws_cdk/aws_route53/__init__.py +18 -11
  47. aws_cdk/aws_s3/__init__.py +4 -4
  48. aws_cdk/aws_s3_deployment/__init__.py +45 -0
  49. aws_cdk/aws_sagemaker/__init__.py +653 -0
  50. aws_cdk/aws_servicediscovery/__init__.py +22 -37
  51. aws_cdk/aws_sns/__init__.py +12 -2
  52. aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
  53. aws_cdk/aws_sqs/__init__.py +5 -5
  54. aws_cdk/aws_ssm/__init__.py +8 -3
  55. aws_cdk/aws_ssmquicksetup/__init__.py +2 -2
  56. aws_cdk/aws_synthetics/__init__.py +222 -12
  57. aws_cdk/aws_transfer/__init__.py +15 -2
  58. aws_cdk/aws_vpclattice/__init__.py +41 -0
  59. aws_cdk/aws_workspacesweb/__init__.py +71 -41
  60. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/METADATA +2 -2
  61. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/RECORD +65 -65
  62. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/LICENSE +0 -0
  63. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/NOTICE +0 -0
  64. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/WHEEL +0 -0
  65. {aws_cdk_lib-2.212.0.dist-info → aws_cdk_lib-2.214.0.dist-info}/top_level.txt +0 -0
@@ -609,6 +609,20 @@ dashboard.add_widgets(cloudwatch.GraphWidget(
609
609
  ))
610
610
  ```
611
611
 
612
+ The `displayLabelsOnChart` property can be set to `true` to show labels on the chart. Note that this only has an effect when the `view` property is set to `cloudwatch.GraphWidgetView.PIE`.
613
+
614
+ ```python
615
+ # dashboard: cloudwatch.Dashboard
616
+
617
+
618
+ dashboard.add_widgets(cloudwatch.GraphWidget(
619
+ # ...
620
+
621
+ view=cloudwatch.GraphWidgetView.PIE,
622
+ display_labels_on_chart=True
623
+ ))
624
+ ```
625
+
612
626
  The `start` and `end` properties can be used to specify the time range for each graph widget independently from those of the dashboard.
613
627
  The parameters can be specified at `GraphWidget`, `GaugeWidget`, and `SingleValueWidget`.
614
628
 
@@ -13755,8 +13769,8 @@ class YAxisProps:
13755
13769
  '''Properties for a Y-Axis.
13756
13770
 
13757
13771
  :param label: The label. Default: - No label
13758
- :param max: The max value. Default: - No maximum value
13759
- :param min: The min value. Default: 0
13772
+ :param max: The max value. Default: - Auto
13773
+ :param min: The min value. Default: - Auto
13760
13774
  :param show_units: Whether to show units. Default: true
13761
13775
 
13762
13776
  :exampleMetadata: infused
@@ -13805,7 +13819,7 @@ class YAxisProps:
13805
13819
  def max(self) -> typing.Optional[jsii.Number]:
13806
13820
  '''The max value.
13807
13821
 
13808
- :default: - No maximum value
13822
+ :default: - Auto
13809
13823
  '''
13810
13824
  result = self._values.get("max")
13811
13825
  return typing.cast(typing.Optional[jsii.Number], result)
@@ -13814,7 +13828,7 @@ class YAxisProps:
13814
13828
  def min(self) -> typing.Optional[jsii.Number]:
13815
13829
  '''The min value.
13816
13830
 
13817
- :default: 0
13831
+ :default: - Auto
13818
13832
  '''
13819
13833
  result = self._values.get("min")
13820
13834
  return typing.cast(typing.Optional[jsii.Number], result)
@@ -13888,31 +13902,29 @@ class AlarmProps(CreateAlarmOptions):
13888
13902
 
13889
13903
  Example::
13890
13904
 
13891
- import aws_cdk.aws_cloudwatch as cloudwatch
13905
+ # log_group: logs.LogGroup
13892
13906
 
13893
- # alias: lambda.Alias
13907
+ mf = logs.MetricFilter(self, "MetricFilter",
13908
+ log_group=log_group,
13909
+ metric_namespace="MyApp",
13910
+ metric_name="Latency",
13911
+ filter_pattern=logs.FilterPattern.exists("$.latency"),
13912
+ metric_value="$.latency",
13913
+ dimensions={
13914
+ "ErrorCode": "$.errorCode"
13915
+ },
13916
+ unit=cloudwatch.Unit.MILLISECONDS
13917
+ )
13894
13918
 
13895
- # or add alarms to an existing group
13896
- # blue_green_alias: lambda.Alias
13919
+ # expose a metric from the metric filter
13920
+ metric = mf.metric()
13897
13921
 
13898
- alarm = cloudwatch.Alarm(self, "Errors",
13899
- comparison_operator=cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,
13900
- threshold=1,
13901
- evaluation_periods=1,
13902
- metric=alias.metric_errors()
13903
- )
13904
- deployment_group = codedeploy.LambdaDeploymentGroup(self, "BlueGreenDeployment",
13905
- alias=alias,
13906
- deployment_config=codedeploy.LambdaDeploymentConfig.LINEAR_10PERCENT_EVERY_1MINUTE,
13907
- alarms=[alarm
13908
- ]
13922
+ # you can use the metric to create a new alarm
13923
+ cloudwatch.Alarm(self, "alarm from metric filter",
13924
+ metric=metric,
13925
+ threshold=100,
13926
+ evaluation_periods=2
13909
13927
  )
13910
- deployment_group.add_alarm(cloudwatch.Alarm(self, "BlueGreenErrors",
13911
- comparison_operator=cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,
13912
- threshold=1,
13913
- evaluation_periods=1,
13914
- metric=blue_green_alias.metric_errors()
13915
- ))
13916
13928
  '''
13917
13929
  if __debug__:
13918
13930
  type_hints = typing.get_type_hints(_typecheckingstub__b2e7c873c118fbc1f6cf26e1bb5bd3d8549040c626a6450f2d686bb07b87266b)
@@ -14778,7 +14790,7 @@ class GaugeWidget(
14778
14790
  '''
14779
14791
  :param annotations: Annotations for the left Y axis. Default: - No annotations
14780
14792
  :param end: The end of the time range to use for each widget independently from those of the dashboard. If you specify a value for end, you must also specify a value for start. Specify an absolute time in the ISO 8601 format. For example, 2018-12-17T06:00:00.000Z. Default: When the dashboard loads, the end date will be the current time.
14781
- :param left_y_axis: Left Y axis. Default: - None
14793
+ :param left_y_axis: Left Y axis. Default: {min:0,max:100}
14782
14794
  :param legend_position: Position of the legend. Default: - bottom
14783
14795
  :param live_data: Whether the graph should show live data. Default: false
14784
14796
  :param metrics: Metrics to display on left Y axis. Default: - No metrics
@@ -14879,7 +14891,7 @@ class GaugeWidgetProps(MetricWidgetProps):
14879
14891
  :param width: Width of the widget, in a grid of 24 units wide. Default: 6
14880
14892
  :param annotations: Annotations for the left Y axis. Default: - No annotations
14881
14893
  :param end: The end of the time range to use for each widget independently from those of the dashboard. If you specify a value for end, you must also specify a value for start. Specify an absolute time in the ISO 8601 format. For example, 2018-12-17T06:00:00.000Z. Default: When the dashboard loads, the end date will be the current time.
14882
- :param left_y_axis: Left Y axis. Default: - None
14894
+ :param left_y_axis: Left Y axis. Default: {min:0,max:100}
14883
14895
  :param legend_position: Position of the legend. Default: - bottom
14884
14896
  :param live_data: Whether the graph should show live data. Default: false
14885
14897
  :param metrics: Metrics to display on left Y axis. Default: - No metrics
@@ -15036,7 +15048,7 @@ class GaugeWidgetProps(MetricWidgetProps):
15036
15048
  def left_y_axis(self) -> typing.Optional[YAxisProps]:
15037
15049
  '''Left Y axis.
15038
15050
 
15039
- :default: - None
15051
+ :default: {min:0,max:100}
15040
15052
  '''
15041
15053
  result = self._values.get("left_y_axis")
15042
15054
  return typing.cast(typing.Optional[YAxisProps], result)
@@ -15161,6 +15173,7 @@ class GraphWidget(
15161
15173
  def __init__(
15162
15174
  self,
15163
15175
  *,
15176
+ display_labels_on_chart: typing.Optional[builtins.bool] = None,
15164
15177
  end: typing.Optional[builtins.str] = None,
15165
15178
  left: typing.Optional[typing.Sequence[IMetric]] = None,
15166
15179
  left_annotations: typing.Optional[typing.Sequence[typing.Union[HorizontalAnnotation, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -15184,6 +15197,7 @@ class GraphWidget(
15184
15197
  width: typing.Optional[jsii.Number] = None,
15185
15198
  ) -> None:
15186
15199
  '''
15200
+ :param display_labels_on_chart: Whether the graph should show labels on the chart. Currently only applicable for Pie charts. Default: false
15187
15201
  :param end: The end of the time range to use for each widget independently from those of the dashboard. If you specify a value for end, you must also specify a value for start. Specify an absolute time in the ISO 8601 format. For example, 2018-12-17T06:00:00.000Z. Default: When the dashboard loads, the end date will be the current time.
15188
15202
  :param left: Metrics to display on left Y axis. Default: - No metrics
15189
15203
  :param left_annotations: Annotations for the left Y axis. Default: - No annotations
@@ -15207,6 +15221,7 @@ class GraphWidget(
15207
15221
  :param width: Width of the widget, in a grid of 24 units wide. Default: 6
15208
15222
  '''
15209
15223
  props = GraphWidgetProps(
15224
+ display_labels_on_chart=display_labels_on_chart,
15210
15225
  end=end,
15211
15226
  left=left,
15212
15227
  left_annotations=left_annotations,
@@ -15269,6 +15284,7 @@ class GraphWidget(
15269
15284
  "region": "region",
15270
15285
  "title": "title",
15271
15286
  "width": "width",
15287
+ "display_labels_on_chart": "displayLabelsOnChart",
15272
15288
  "end": "end",
15273
15289
  "left": "left",
15274
15290
  "left_annotations": "leftAnnotations",
@@ -15296,6 +15312,7 @@ class GraphWidgetProps(MetricWidgetProps):
15296
15312
  region: typing.Optional[builtins.str] = None,
15297
15313
  title: typing.Optional[builtins.str] = None,
15298
15314
  width: typing.Optional[jsii.Number] = None,
15315
+ display_labels_on_chart: typing.Optional[builtins.bool] = None,
15299
15316
  end: typing.Optional[builtins.str] = None,
15300
15317
  left: typing.Optional[typing.Sequence[IMetric]] = None,
15301
15318
  left_annotations: typing.Optional[typing.Sequence[typing.Union[HorizontalAnnotation, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -15320,6 +15337,7 @@ class GraphWidgetProps(MetricWidgetProps):
15320
15337
  :param region: The region the metrics of this graph should be taken from. Default: - Current region
15321
15338
  :param title: Title for the graph. Default: - None
15322
15339
  :param width: Width of the widget, in a grid of 24 units wide. Default: 6
15340
+ :param display_labels_on_chart: Whether the graph should show labels on the chart. Currently only applicable for Pie charts. Default: false
15323
15341
  :param end: The end of the time range to use for each widget independently from those of the dashboard. If you specify a value for end, you must also specify a value for start. Specify an absolute time in the ISO 8601 format. For example, 2018-12-17T06:00:00.000Z. Default: When the dashboard loads, the end date will be the current time.
15324
15342
  :param left: Metrics to display on left Y axis. Default: - No metrics
15325
15343
  :param left_annotations: Annotations for the left Y axis. Default: - No annotations
@@ -15368,6 +15386,7 @@ class GraphWidgetProps(MetricWidgetProps):
15368
15386
  check_type(argname="argument region", value=region, expected_type=type_hints["region"])
15369
15387
  check_type(argname="argument title", value=title, expected_type=type_hints["title"])
15370
15388
  check_type(argname="argument width", value=width, expected_type=type_hints["width"])
15389
+ check_type(argname="argument display_labels_on_chart", value=display_labels_on_chart, expected_type=type_hints["display_labels_on_chart"])
15371
15390
  check_type(argname="argument end", value=end, expected_type=type_hints["end"])
15372
15391
  check_type(argname="argument left", value=left, expected_type=type_hints["left"])
15373
15392
  check_type(argname="argument left_annotations", value=left_annotations, expected_type=type_hints["left_annotations"])
@@ -15395,6 +15414,8 @@ class GraphWidgetProps(MetricWidgetProps):
15395
15414
  self._values["title"] = title
15396
15415
  if width is not None:
15397
15416
  self._values["width"] = width
15417
+ if display_labels_on_chart is not None:
15418
+ self._values["display_labels_on_chart"] = display_labels_on_chart
15398
15419
  if end is not None:
15399
15420
  self._values["end"] = end
15400
15421
  if left is not None:
@@ -15483,6 +15504,17 @@ class GraphWidgetProps(MetricWidgetProps):
15483
15504
  result = self._values.get("width")
15484
15505
  return typing.cast(typing.Optional[jsii.Number], result)
15485
15506
 
15507
+ @builtins.property
15508
+ def display_labels_on_chart(self) -> typing.Optional[builtins.bool]:
15509
+ '''Whether the graph should show labels on the chart.
15510
+
15511
+ Currently only applicable for Pie charts.
15512
+
15513
+ :default: false
15514
+ '''
15515
+ result = self._values.get("display_labels_on_chart")
15516
+ return typing.cast(typing.Optional[builtins.bool], result)
15517
+
15486
15518
  @builtins.property
15487
15519
  def end(self) -> typing.Optional[builtins.str]:
15488
15520
  '''The end of the time range to use for each widget independently from those of the dashboard.
@@ -16457,31 +16489,29 @@ class Alarm(
16457
16489
 
16458
16490
  Example::
16459
16491
 
16460
- import aws_cdk.aws_cloudwatch as cloudwatch
16492
+ # log_group: logs.LogGroup
16461
16493
 
16462
- # alias: lambda.Alias
16494
+ mf = logs.MetricFilter(self, "MetricFilter",
16495
+ log_group=log_group,
16496
+ metric_namespace="MyApp",
16497
+ metric_name="Latency",
16498
+ filter_pattern=logs.FilterPattern.exists("$.latency"),
16499
+ metric_value="$.latency",
16500
+ dimensions={
16501
+ "ErrorCode": "$.errorCode"
16502
+ },
16503
+ unit=cloudwatch.Unit.MILLISECONDS
16504
+ )
16463
16505
 
16464
- # or add alarms to an existing group
16465
- # blue_green_alias: lambda.Alias
16506
+ # expose a metric from the metric filter
16507
+ metric = mf.metric()
16466
16508
 
16467
- alarm = cloudwatch.Alarm(self, "Errors",
16468
- comparison_operator=cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,
16469
- threshold=1,
16470
- evaluation_periods=1,
16471
- metric=alias.metric_errors()
16472
- )
16473
- deployment_group = codedeploy.LambdaDeploymentGroup(self, "BlueGreenDeployment",
16474
- alias=alias,
16475
- deployment_config=codedeploy.LambdaDeploymentConfig.LINEAR_10PERCENT_EVERY_1MINUTE,
16476
- alarms=[alarm
16477
- ]
16509
+ # you can use the metric to create a new alarm
16510
+ cloudwatch.Alarm(self, "alarm from metric filter",
16511
+ metric=metric,
16512
+ threshold=100,
16513
+ evaluation_periods=2
16478
16514
  )
16479
- deployment_group.add_alarm(cloudwatch.Alarm(self, "BlueGreenErrors",
16480
- comparison_operator=cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD,
16481
- threshold=1,
16482
- evaluation_periods=1,
16483
- metric=blue_green_alias.metric_errors()
16484
- ))
16485
16515
  '''
16486
16516
 
16487
16517
  def __init__(
@@ -18422,6 +18452,7 @@ def _typecheckingstub__3471ad100c9e34a517506d76368276ef9b137a3c7b33aecc91910b5dc
18422
18452
  region: typing.Optional[builtins.str] = None,
18423
18453
  title: typing.Optional[builtins.str] = None,
18424
18454
  width: typing.Optional[jsii.Number] = None,
18455
+ display_labels_on_chart: typing.Optional[builtins.bool] = None,
18425
18456
  end: typing.Optional[builtins.str] = None,
18426
18457
  left: typing.Optional[typing.Sequence[IMetric]] = None,
18427
18458
  left_annotations: typing.Optional[typing.Sequence[typing.Union[HorizontalAnnotation, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -1002,6 +1002,17 @@ user_pool_client = cognito.UserPoolClient(self, "UserPoolClient",
1002
1002
  )
1003
1003
  ```
1004
1004
 
1005
+ [Refresh token rotation](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html#using-the-refresh-token-rotation)
1006
+ can be configured to enable automatic rotation of refresh tokens. By default, refresh token rotation is disabled. When the refreshTokenRotationGracePeriod is 0, the grace period is disabled and a successful request immediately invalidates the submitted refresh token.
1007
+
1008
+ ```python
1009
+ pool = cognito.UserPool(self, "Pool")
1010
+ pool.add_client("app-client",
1011
+ # ...
1012
+ refresh_token_rotation_grace_period=Duration.seconds(40)
1013
+ )
1014
+ ```
1015
+
1005
1016
  See [Adding user device and session data to API requests](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-adaptive-authentication.html#user-pool-settings-adaptive-authentication-device-fingerprint) for more information.
1006
1017
 
1007
1018
  ### Resource Servers
@@ -8149,7 +8160,7 @@ class CfnUserPoolClient(
8149
8160
  :param allowed_o_auth_scopes: The OAuth, OpenID Connect (OIDC), and custom scopes that you want to permit your app client to authorize access with. Scopes govern access control to user pool self-service API operations, user data from the ``userInfo`` endpoint, and third-party APIs. Scope values include ``phone`` , ``email`` , ``openid`` , and ``profile`` . The ``aws.cognito.signin.user.admin`` scope authorizes user self-service operations. Custom scopes with resource servers authorize access to external APIs.
8150
8161
  :param analytics_configuration: The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign. In AWS Regions where Amazon Pinpoint isn't available, user pools might not have access to analytics or might be configurable with campaigns in the US East (N. Virginia) Region. For more information, see `Using Amazon Pinpoint analytics <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-pinpoint-integration.html>`_ .
8151
8162
  :param auth_session_validity: Amazon Cognito creates a session token for each API request in an authentication flow. ``AuthSessionValidity`` is the duration, in minutes, of that session token. Your user pool native user must respond to each authentication challenge before the session expires.
8152
- :param callback_ur_ls: A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes. A redirect URI must meet the following requirements: - Be an absolute URI. - Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with ``redirect_uri`` values that aren't in the list of ``CallbackURLs`` that you provide in this parameter. - Not include a fragment component. See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ . Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.
8163
+ :param callback_ur_ls: A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes. A redirect URI must meet the following requirements: - Be an absolute URI. - Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with ``redirect_uri`` values that aren't in the list of ``CallbackURLs`` that you provide in this parameter. - Not include a fragment component. See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ . Amazon Cognito requires HTTPS over HTTP except for callback URLs to ``http://localhost`` , ``http://127.0.0.1`` and ``http://[::1]`` . These callback URLs are for testing purposes only. You can specify custom TCP ports for your callback URLs. App callback URLs such as ``myapp://example`` are also supported.
8153
8164
  :param client_name: A friendly name for the app client that you want to create.
8154
8165
  :param default_redirect_uri: The default redirect URI. In app clients with one assigned IdP, replaces ``redirect_uri`` in authentication requests. Must be in the ``CallbackURLs`` list.
8155
8166
  :param enable_propagate_additional_user_context_data: When ``true`` , your application can include additional ``UserContextData`` in authentication requests. This data includes the IP address, and contributes to analysis by threat protection features. For more information about propagation of user context data, see `Adding session data to API requests <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-adaptive-authentication.html#user-pool-settings-adaptive-authentication-device-fingerprint>`_ . If you don’t include this parameter, you can't send the source IP address to Amazon Cognito threat protection features. You can only activate ``EnablePropagateAdditionalUserContextData`` in an app client that has a client secret.
@@ -8985,7 +8996,7 @@ class CfnUserPoolClientProps:
8985
8996
  :param allowed_o_auth_scopes: The OAuth, OpenID Connect (OIDC), and custom scopes that you want to permit your app client to authorize access with. Scopes govern access control to user pool self-service API operations, user data from the ``userInfo`` endpoint, and third-party APIs. Scope values include ``phone`` , ``email`` , ``openid`` , and ``profile`` . The ``aws.cognito.signin.user.admin`` scope authorizes user self-service operations. Custom scopes with resource servers authorize access to external APIs.
8986
8997
  :param analytics_configuration: The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign. In AWS Regions where Amazon Pinpoint isn't available, user pools might not have access to analytics or might be configurable with campaigns in the US East (N. Virginia) Region. For more information, see `Using Amazon Pinpoint analytics <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-pinpoint-integration.html>`_ .
8987
8998
  :param auth_session_validity: Amazon Cognito creates a session token for each API request in an authentication flow. ``AuthSessionValidity`` is the duration, in minutes, of that session token. Your user pool native user must respond to each authentication challenge before the session expires.
8988
- :param callback_ur_ls: A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes. A redirect URI must meet the following requirements: - Be an absolute URI. - Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with ``redirect_uri`` values that aren't in the list of ``CallbackURLs`` that you provide in this parameter. - Not include a fragment component. See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ . Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only. App callback URLs such as myapp://example are also supported.
8999
+ :param callback_ur_ls: A list of allowed redirect, or callback, URLs for managed login authentication. These URLs are the paths where you want to send your users' browsers after they complete authentication with managed login or a third-party IdP. Typically, callback URLs are the home of an application that uses OAuth or OIDC libraries to process authentication outcomes. A redirect URI must meet the following requirements: - Be an absolute URI. - Be registered with the authorization server. Amazon Cognito doesn't accept authorization requests with ``redirect_uri`` values that aren't in the list of ``CallbackURLs`` that you provide in this parameter. - Not include a fragment component. See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ . Amazon Cognito requires HTTPS over HTTP except for callback URLs to ``http://localhost`` , ``http://127.0.0.1`` and ``http://[::1]`` . These callback URLs are for testing purposes only. You can specify custom TCP ports for your callback URLs. App callback URLs such as ``myapp://example`` are also supported.
8989
9000
  :param client_name: A friendly name for the app client that you want to create.
8990
9001
  :param default_redirect_uri: The default redirect URI. In app clients with one assigned IdP, replaces ``redirect_uri`` in authentication requests. Must be in the ``CallbackURLs`` list.
8991
9002
  :param enable_propagate_additional_user_context_data: When ``true`` , your application can include additional ``UserContextData`` in authentication requests. This data includes the IP address, and contributes to analysis by threat protection features. For more information about propagation of user context data, see `Adding session data to API requests <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-adaptive-authentication.html#user-pool-settings-adaptive-authentication-device-fingerprint>`_ . If you don’t include this parameter, you can't send the source IP address to Amazon Cognito threat protection features. You can only activate ``EnablePropagateAdditionalUserContextData`` in an app client that has a client secret.
@@ -9238,9 +9249,9 @@ class CfnUserPoolClientProps:
9238
9249
 
9239
9250
  See `OAuth 2.0 - Redirection Endpoint <https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6749#section-3.1.2>`_ .
9240
9251
 
9241
- Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.
9252
+ Amazon Cognito requires HTTPS over HTTP except for callback URLs to ``http://localhost`` , ``http://127.0.0.1`` and ``http://[::1]`` . These callback URLs are for testing purposes only. You can specify custom TCP ports for your callback URLs.
9242
9253
 
9243
- App callback URLs such as myapp://example are also supported.
9254
+ App callback URLs such as ``myapp://example`` are also supported.
9244
9255
 
9245
9256
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-callbackurls
9246
9257
  '''
@@ -12246,7 +12257,7 @@ class CfnUserPoolRiskConfigurationAttachment(
12246
12257
  :param from_: The email address that sends the email message. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES.
12247
12258
  :param mfa_email: The template for the email message that your user pool sends when MFA is challenged in response to a detected risk.
12248
12259
  :param no_action_email: The template for the email message that your user pool sends when no action is taken in response to a detected risk.
12249
- :param reply_to: The reply-to email address of an email template.
12260
+ :param reply_to: The reply-to email address of an email template. Can be an email address in the format ``admin@example.com`` or ``Administrator <admin@example.com>`` .
12250
12261
 
12251
12262
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html
12252
12263
  :exampleMetadata: fixture=_generated
@@ -12368,6 +12379,8 @@ class CfnUserPoolRiskConfigurationAttachment(
12368
12379
  def reply_to(self) -> typing.Optional[builtins.str]:
12369
12380
  '''The reply-to email address of an email template.
12370
12381
 
12382
+ Can be an email address in the format ``admin@example.com`` or ``Administrator <admin@example.com>`` .
12383
+
12371
12384
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-replyto
12372
12385
  '''
12373
12386
  result = self._values.get("reply_to")
@@ -14455,6 +14468,7 @@ class IUserPool(_IResource_c80c4260, typing_extensions.Protocol):
14455
14468
  o_auth: typing.Optional[typing.Union["OAuthSettings", typing.Dict[builtins.str, typing.Any]]] = None,
14456
14469
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
14457
14470
  read_attributes: typing.Optional[ClientAttributes] = None,
14471
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
14458
14472
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
14459
14473
  supported_identity_providers: typing.Optional[typing.Sequence["UserPoolClientIdentityProvider"]] = None,
14460
14474
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -14475,6 +14489,7 @@ class IUserPool(_IResource_c80c4260, typing_extensions.Protocol):
14475
14489
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
14476
14490
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
14477
14491
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
14492
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
14478
14493
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
14479
14494
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
14480
14495
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -14625,6 +14640,7 @@ class _IUserPoolProxy(
14625
14640
  o_auth: typing.Optional[typing.Union["OAuthSettings", typing.Dict[builtins.str, typing.Any]]] = None,
14626
14641
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
14627
14642
  read_attributes: typing.Optional[ClientAttributes] = None,
14643
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
14628
14644
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
14629
14645
  supported_identity_providers: typing.Optional[typing.Sequence["UserPoolClientIdentityProvider"]] = None,
14630
14646
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -14645,6 +14661,7 @@ class _IUserPoolProxy(
14645
14661
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
14646
14662
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
14647
14663
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
14664
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
14648
14665
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
14649
14666
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
14650
14667
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -14668,6 +14685,7 @@ class _IUserPoolProxy(
14668
14685
  o_auth=o_auth,
14669
14686
  prevent_user_existence_errors=prevent_user_existence_errors,
14670
14687
  read_attributes=read_attributes,
14688
+ refresh_token_rotation_grace_period=refresh_token_rotation_grace_period,
14671
14689
  refresh_token_validity=refresh_token_validity,
14672
14690
  supported_identity_providers=supported_identity_providers,
14673
14691
  user_pool_client_name=user_pool_client_name,
@@ -18069,6 +18087,7 @@ class UserPool(
18069
18087
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
18070
18088
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
18071
18089
  read_attributes: typing.Optional[ClientAttributes] = None,
18090
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
18072
18091
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
18073
18092
  supported_identity_providers: typing.Optional[typing.Sequence["UserPoolClientIdentityProvider"]] = None,
18074
18093
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -18089,6 +18108,7 @@ class UserPool(
18089
18108
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
18090
18109
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
18091
18110
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
18111
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
18092
18112
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
18093
18113
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
18094
18114
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -18110,6 +18130,7 @@ class UserPool(
18110
18130
  o_auth=o_auth,
18111
18131
  prevent_user_existence_errors=prevent_user_existence_errors,
18112
18132
  read_attributes=read_attributes,
18133
+ refresh_token_rotation_grace_period=refresh_token_rotation_grace_period,
18113
18134
  refresh_token_validity=refresh_token_validity,
18114
18135
  supported_identity_providers=supported_identity_providers,
18115
18136
  user_pool_client_name=user_pool_client_name,
@@ -18341,6 +18362,7 @@ class UserPoolClient(
18341
18362
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
18342
18363
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
18343
18364
  read_attributes: typing.Optional[ClientAttributes] = None,
18365
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
18344
18366
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
18345
18367
  supported_identity_providers: typing.Optional[typing.Sequence["UserPoolClientIdentityProvider"]] = None,
18346
18368
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -18362,6 +18384,7 @@ class UserPoolClient(
18362
18384
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
18363
18385
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
18364
18386
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
18387
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
18365
18388
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
18366
18389
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
18367
18390
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -18385,6 +18408,7 @@ class UserPoolClient(
18385
18408
  o_auth=o_auth,
18386
18409
  prevent_user_existence_errors=prevent_user_existence_errors,
18387
18410
  read_attributes=read_attributes,
18411
+ refresh_token_rotation_grace_period=refresh_token_rotation_grace_period,
18388
18412
  refresh_token_validity=refresh_token_validity,
18389
18413
  supported_identity_providers=supported_identity_providers,
18390
18414
  user_pool_client_name=user_pool_client_name,
@@ -18543,6 +18567,7 @@ class UserPoolClientIdentityProvider(
18543
18567
  "o_auth": "oAuth",
18544
18568
  "prevent_user_existence_errors": "preventUserExistenceErrors",
18545
18569
  "read_attributes": "readAttributes",
18570
+ "refresh_token_rotation_grace_period": "refreshTokenRotationGracePeriod",
18546
18571
  "refresh_token_validity": "refreshTokenValidity",
18547
18572
  "supported_identity_providers": "supportedIdentityProviders",
18548
18573
  "user_pool_client_name": "userPoolClientName",
@@ -18565,6 +18590,7 @@ class UserPoolClientOptions:
18565
18590
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
18566
18591
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
18567
18592
  read_attributes: typing.Optional[ClientAttributes] = None,
18593
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
18568
18594
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
18569
18595
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
18570
18596
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -18584,6 +18610,7 @@ class UserPoolClientOptions:
18584
18610
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
18585
18611
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
18586
18612
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
18613
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
18587
18614
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
18588
18615
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
18589
18616
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -18625,6 +18652,7 @@ class UserPoolClientOptions:
18625
18652
  check_type(argname="argument o_auth", value=o_auth, expected_type=type_hints["o_auth"])
18626
18653
  check_type(argname="argument prevent_user_existence_errors", value=prevent_user_existence_errors, expected_type=type_hints["prevent_user_existence_errors"])
18627
18654
  check_type(argname="argument read_attributes", value=read_attributes, expected_type=type_hints["read_attributes"])
18655
+ check_type(argname="argument refresh_token_rotation_grace_period", value=refresh_token_rotation_grace_period, expected_type=type_hints["refresh_token_rotation_grace_period"])
18628
18656
  check_type(argname="argument refresh_token_validity", value=refresh_token_validity, expected_type=type_hints["refresh_token_validity"])
18629
18657
  check_type(argname="argument supported_identity_providers", value=supported_identity_providers, expected_type=type_hints["supported_identity_providers"])
18630
18658
  check_type(argname="argument user_pool_client_name", value=user_pool_client_name, expected_type=type_hints["user_pool_client_name"])
@@ -18654,6 +18682,8 @@ class UserPoolClientOptions:
18654
18682
  self._values["prevent_user_existence_errors"] = prevent_user_existence_errors
18655
18683
  if read_attributes is not None:
18656
18684
  self._values["read_attributes"] = read_attributes
18685
+ if refresh_token_rotation_grace_period is not None:
18686
+ self._values["refresh_token_rotation_grace_period"] = refresh_token_rotation_grace_period
18657
18687
  if refresh_token_validity is not None:
18658
18688
  self._values["refresh_token_validity"] = refresh_token_validity
18659
18689
  if supported_identity_providers is not None:
@@ -18800,6 +18830,21 @@ class UserPoolClientOptions:
18800
18830
  result = self._values.get("read_attributes")
18801
18831
  return typing.cast(typing.Optional[ClientAttributes], result)
18802
18832
 
18833
+ @builtins.property
18834
+ def refresh_token_rotation_grace_period(
18835
+ self,
18836
+ ) -> typing.Optional[_Duration_4839e8c3]:
18837
+ '''Enables refresh token rotation when set.
18838
+
18839
+ Defines the grace period for the original refresh token (0-60 seconds).
18840
+
18841
+ :default: - undefined (refresh token rotation is disabled)
18842
+
18843
+ :see: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html#using-the-refresh-token-rotation
18844
+ '''
18845
+ result = self._values.get("refresh_token_rotation_grace_period")
18846
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
18847
+
18803
18848
  @builtins.property
18804
18849
  def refresh_token_validity(self) -> typing.Optional[_Duration_4839e8c3]:
18805
18850
  '''Validity of the refresh token.
@@ -18876,6 +18921,7 @@ class UserPoolClientOptions:
18876
18921
  "o_auth": "oAuth",
18877
18922
  "prevent_user_existence_errors": "preventUserExistenceErrors",
18878
18923
  "read_attributes": "readAttributes",
18924
+ "refresh_token_rotation_grace_period": "refreshTokenRotationGracePeriod",
18879
18925
  "refresh_token_validity": "refreshTokenValidity",
18880
18926
  "supported_identity_providers": "supportedIdentityProviders",
18881
18927
  "user_pool_client_name": "userPoolClientName",
@@ -18899,6 +18945,7 @@ class UserPoolClientProps(UserPoolClientOptions):
18899
18945
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
18900
18946
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
18901
18947
  read_attributes: typing.Optional[ClientAttributes] = None,
18948
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
18902
18949
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
18903
18950
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
18904
18951
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -18919,6 +18966,7 @@ class UserPoolClientProps(UserPoolClientOptions):
18919
18966
  :param o_auth: OAuth settings for this client to interact with the app. An error is thrown when this is specified and ``disableOAuth`` is set. Default: - see defaults in ``OAuthSettings``. meaningless if ``disableOAuth`` is set.
18920
18967
  :param prevent_user_existence_errors: Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence. Default: false
18921
18968
  :param read_attributes: The set of attributes this client will be able to read. Default: - all standard and custom attributes
18969
+ :param refresh_token_rotation_grace_period: Enables refresh token rotation when set. Defines the grace period for the original refresh token (0-60 seconds). Default: - undefined (refresh token rotation is disabled)
18922
18970
  :param refresh_token_validity: Validity of the refresh token. Values between 60 minutes and 10 years are valid. Default: Duration.days(30)
18923
18971
  :param supported_identity_providers: The list of identity providers that users should be able to use to sign in using this client. Default: - supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the ``UserPool.registerIdentityProvider()`` API.
18924
18972
  :param user_pool_client_name: Name of the application client. Default: - cloudformation generated name
@@ -18973,6 +19021,7 @@ class UserPoolClientProps(UserPoolClientOptions):
18973
19021
  check_type(argname="argument o_auth", value=o_auth, expected_type=type_hints["o_auth"])
18974
19022
  check_type(argname="argument prevent_user_existence_errors", value=prevent_user_existence_errors, expected_type=type_hints["prevent_user_existence_errors"])
18975
19023
  check_type(argname="argument read_attributes", value=read_attributes, expected_type=type_hints["read_attributes"])
19024
+ check_type(argname="argument refresh_token_rotation_grace_period", value=refresh_token_rotation_grace_period, expected_type=type_hints["refresh_token_rotation_grace_period"])
18976
19025
  check_type(argname="argument refresh_token_validity", value=refresh_token_validity, expected_type=type_hints["refresh_token_validity"])
18977
19026
  check_type(argname="argument supported_identity_providers", value=supported_identity_providers, expected_type=type_hints["supported_identity_providers"])
18978
19027
  check_type(argname="argument user_pool_client_name", value=user_pool_client_name, expected_type=type_hints["user_pool_client_name"])
@@ -19005,6 +19054,8 @@ class UserPoolClientProps(UserPoolClientOptions):
19005
19054
  self._values["prevent_user_existence_errors"] = prevent_user_existence_errors
19006
19055
  if read_attributes is not None:
19007
19056
  self._values["read_attributes"] = read_attributes
19057
+ if refresh_token_rotation_grace_period is not None:
19058
+ self._values["refresh_token_rotation_grace_period"] = refresh_token_rotation_grace_period
19008
19059
  if refresh_token_validity is not None:
19009
19060
  self._values["refresh_token_validity"] = refresh_token_validity
19010
19061
  if supported_identity_providers is not None:
@@ -19151,6 +19202,21 @@ class UserPoolClientProps(UserPoolClientOptions):
19151
19202
  result = self._values.get("read_attributes")
19152
19203
  return typing.cast(typing.Optional[ClientAttributes], result)
19153
19204
 
19205
+ @builtins.property
19206
+ def refresh_token_rotation_grace_period(
19207
+ self,
19208
+ ) -> typing.Optional[_Duration_4839e8c3]:
19209
+ '''Enables refresh token rotation when set.
19210
+
19211
+ Defines the grace period for the original refresh token (0-60 seconds).
19212
+
19213
+ :default: - undefined (refresh token rotation is disabled)
19214
+
19215
+ :see: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html#using-the-refresh-token-rotation
19216
+ '''
19217
+ result = self._values.get("refresh_token_rotation_grace_period")
19218
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
19219
+
19154
19220
  @builtins.property
19155
19221
  def refresh_token_validity(self) -> typing.Optional[_Duration_4839e8c3]:
19156
19222
  '''Validity of the refresh token.
@@ -25826,6 +25892,7 @@ def _typecheckingstub__6eaa0ebaf797c6ac4bac11bd73d9ad61c50892a9450e0ff5880903434
25826
25892
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
25827
25893
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
25828
25894
  read_attributes: typing.Optional[ClientAttributes] = None,
25895
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
25829
25896
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
25830
25897
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
25831
25898
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -26161,6 +26228,7 @@ def _typecheckingstub__b4ce1f762a6eeaca3920ca827a1685cfa2b670f96aa13d8cfdded4055
26161
26228
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
26162
26229
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
26163
26230
  read_attributes: typing.Optional[ClientAttributes] = None,
26231
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
26164
26232
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
26165
26233
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
26166
26234
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -26238,6 +26306,7 @@ def _typecheckingstub__e654de9921a676ab8214720f2ab2c7f212d67a62531595c721560e88c
26238
26306
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
26239
26307
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
26240
26308
  read_attributes: typing.Optional[ClientAttributes] = None,
26309
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
26241
26310
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
26242
26311
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
26243
26312
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -26274,6 +26343,7 @@ def _typecheckingstub__80185296586b917ea24ebc48255c627ce95ec5c85ae2ab4e52736240b
26274
26343
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
26275
26344
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
26276
26345
  read_attributes: typing.Optional[ClientAttributes] = None,
26346
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
26277
26347
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
26278
26348
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
26279
26349
  user_pool_client_name: typing.Optional[builtins.str] = None,
@@ -26296,6 +26366,7 @@ def _typecheckingstub__95c8cad8419f2fd5def82ad39281b322b9ec6b2f7d891de939bf1e903
26296
26366
  o_auth: typing.Optional[typing.Union[OAuthSettings, typing.Dict[builtins.str, typing.Any]]] = None,
26297
26367
  prevent_user_existence_errors: typing.Optional[builtins.bool] = None,
26298
26368
  read_attributes: typing.Optional[ClientAttributes] = None,
26369
+ refresh_token_rotation_grace_period: typing.Optional[_Duration_4839e8c3] = None,
26299
26370
  refresh_token_validity: typing.Optional[_Duration_4839e8c3] = None,
26300
26371
  supported_identity_providers: typing.Optional[typing.Sequence[UserPoolClientIdentityProvider]] = None,
26301
26372
  user_pool_client_name: typing.Optional[builtins.str] = None,