aws-cdk-lib 2.150.0__py3-none-any.whl → 2.151.1__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 (34) hide show
  1. aws_cdk/__init__.py +4 -10
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.150.0.jsii.tgz → aws-cdk-lib@2.151.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +94 -21
  5. aws_cdk/aws_appconfig/__init__.py +3 -3
  6. aws_cdk/aws_backup/__init__.py +3 -3
  7. aws_cdk/aws_bedrock/__init__.py +28 -20
  8. aws_cdk/aws_cleanrooms/__init__.py +5 -5
  9. aws_cdk/aws_cloudformation/__init__.py +2 -2
  10. aws_cdk/aws_cloudfront/__init__.py +102 -32
  11. aws_cdk/aws_cloudtrail/__init__.py +6 -2
  12. aws_cdk/aws_ec2/__init__.py +181 -3
  13. aws_cdk/aws_ecs/__init__.py +5 -1
  14. aws_cdk/aws_elasticloadbalancingv2/__init__.py +104 -9
  15. aws_cdk/aws_entityresolution/__init__.py +27 -21
  16. aws_cdk/aws_events/__init__.py +83 -16
  17. aws_cdk/aws_iam/__init__.py +11 -24
  18. aws_cdk/aws_iotsitewise/__init__.py +8 -8
  19. aws_cdk/aws_lambda/__init__.py +2 -0
  20. aws_cdk/aws_mwaa/__init__.py +3 -3
  21. aws_cdk/aws_pipes/__init__.py +2 -2
  22. aws_cdk/aws_rds/__init__.py +237 -197
  23. aws_cdk/aws_s3/__init__.py +8 -2
  24. aws_cdk/aws_ses/__init__.py +3 -3
  25. aws_cdk/aws_sns/__init__.py +5 -2
  26. aws_cdk/aws_stepfunctions/__init__.py +5 -2
  27. aws_cdk/aws_stepfunctions_tasks/__init__.py +17 -0
  28. aws_cdk/aws_synthetics/__init__.py +159 -21
  29. {aws_cdk_lib-2.150.0.dist-info → aws_cdk_lib-2.151.1.dist-info}/METADATA +8 -8
  30. {aws_cdk_lib-2.150.0.dist-info → aws_cdk_lib-2.151.1.dist-info}/RECORD +34 -34
  31. {aws_cdk_lib-2.150.0.dist-info → aws_cdk_lib-2.151.1.dist-info}/WHEEL +1 -1
  32. {aws_cdk_lib-2.150.0.dist-info → aws_cdk_lib-2.151.1.dist-info}/LICENSE +0 -0
  33. {aws_cdk_lib-2.150.0.dist-info → aws_cdk_lib-2.151.1.dist-info}/NOTICE +0 -0
  34. {aws_cdk_lib-2.150.0.dist-info → aws_cdk_lib-2.151.1.dist-info}/top_level.txt +0 -0
@@ -470,6 +470,27 @@ tg = elbv2.ApplicationTargetGroup(self, "TG",
470
470
  )
471
471
  ```
472
472
 
473
+ ### Weighted random routing algorithms and automatic target weights for your Application Load Balancer
474
+
475
+ You can use the `weighted_random` routing algorithms by setting the `loadBalancingAlgorithmType` property.
476
+
477
+ When using this algorithm, Automatic Target Weights (ATW) anomaly mitigation can be used by setting `enableAnomalyMitigation` to `true`.
478
+
479
+ Also you can't use this algorithm with slow start mode.
480
+
481
+ For more information, see [Routing algorithms](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#modify-routing-algorithm) and [Automatic Target Weights (ATW)](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#automatic-target-weights).
482
+
483
+ ```python
484
+ # vpc: ec2.Vpc
485
+
486
+
487
+ tg = elbv2.ApplicationTargetGroup(self, "TargetGroup",
488
+ vpc=vpc,
489
+ load_balancing_algorithm_type=elbv2.TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM,
490
+ enable_anomaly_mitigation=True
491
+ )
492
+ ```
493
+
473
494
  ## Using Lambda Targets
474
495
 
475
496
  To use a Lambda Function as a target, use the integration class in the
@@ -11038,6 +11059,14 @@ class HttpCodeElb(enum.Enum):
11038
11059
  '''
11039
11060
  ELB_5XX_COUNT = "ELB_5XX_COUNT"
11040
11061
  '''The number of HTTP 5XX server error codes that originate from the load balancer.'''
11062
+ ELB_500_COUNT = "ELB_500_COUNT"
11063
+ '''The number of HTTP 500 server error codes that originate from the load balancer.'''
11064
+ ELB_502_COUNT = "ELB_502_COUNT"
11065
+ '''The number of HTTP 502 server error codes that originate from the load balancer.'''
11066
+ ELB_503_COUNT = "ELB_503_COUNT"
11067
+ '''The number of HTTP 503 server error codes that originate from the load balancer.'''
11068
+ ELB_504_COUNT = "ELB_504_COUNT"
11069
+ '''The number of HTTP 504 server error codes that originate from the load balancer.'''
11041
11070
 
11042
11071
 
11043
11072
  @jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.HttpCodeTarget")
@@ -18041,12 +18070,28 @@ typing.cast(typing.Any, TargetGroupBase).__jsii_proxy_class__ = lambda : _Target
18041
18070
  jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupLoadBalancingAlgorithmType"
18042
18071
  )
18043
18072
  class TargetGroupLoadBalancingAlgorithmType(enum.Enum):
18044
- '''Load balancing algorithmm type for target groups.'''
18073
+ '''Load balancing algorithmm type for target groups.
18074
+
18075
+ :exampleMetadata: infused
18076
+
18077
+ Example::
18078
+
18079
+ # vpc: ec2.Vpc
18080
+
18081
+
18082
+ tg = elbv2.ApplicationTargetGroup(self, "TargetGroup",
18083
+ vpc=vpc,
18084
+ load_balancing_algorithm_type=elbv2.TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM,
18085
+ enable_anomaly_mitigation=True
18086
+ )
18087
+ '''
18045
18088
 
18046
18089
  ROUND_ROBIN = "ROUND_ROBIN"
18047
18090
  '''round_robin.'''
18048
18091
  LEAST_OUTSTANDING_REQUESTS = "LEAST_OUTSTANDING_REQUESTS"
18049
18092
  '''least_outstanding_requests.'''
18093
+ WEIGHTED_RANDOM = "WEIGHTED_RANDOM"
18094
+ '''weighted_random.'''
18050
18095
 
18051
18096
 
18052
18097
  @jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TargetType")
@@ -18463,6 +18508,7 @@ class AddApplicationTargetGroupsProps(AddRuleProps):
18463
18508
  "conditions": "conditions",
18464
18509
  "priority": "priority",
18465
18510
  "deregistration_delay": "deregistrationDelay",
18511
+ "enable_anomaly_mitigation": "enableAnomalyMitigation",
18466
18512
  "health_check": "healthCheck",
18467
18513
  "load_balancing_algorithm_type": "loadBalancingAlgorithmType",
18468
18514
  "port": "port",
@@ -18482,6 +18528,7 @@ class AddApplicationTargetsProps(AddRuleProps):
18482
18528
  conditions: typing.Optional[typing.Sequence[ListenerCondition]] = None,
18483
18529
  priority: typing.Optional[jsii.Number] = None,
18484
18530
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
18531
+ enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
18485
18532
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
18486
18533
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
18487
18534
  port: typing.Optional[jsii.Number] = None,
@@ -18498,6 +18545,7 @@ class AddApplicationTargetsProps(AddRuleProps):
18498
18545
  :param conditions: Rule applies if matches the conditions. Default: - No conditions.
18499
18546
  :param priority: Priority of this target group. The rule with the lowest priority will be used for every request. If priority is not given, these target groups will be added as defaults, and must not have conditions. Priorities must be unique. Default: Target groups are used as defaults
18500
18547
  :param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: Duration.minutes(5)
18548
+ :param enable_anomaly_mitigation: Indicates whether anomaly mitigation is enabled. Only available when ``loadBalancingAlgorithmType`` is ``TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`` Default: false
18501
18549
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
18502
18550
  :param load_balancing_algorithm_type: The load balancing algorithm to select targets for routing requests. Default: round_robin.
18503
18551
  :param port: The port on which the listener listens for requests. Default: Determined from protocol if known
@@ -18550,6 +18598,7 @@ class AddApplicationTargetsProps(AddRuleProps):
18550
18598
  check_type(argname="argument conditions", value=conditions, expected_type=type_hints["conditions"])
18551
18599
  check_type(argname="argument priority", value=priority, expected_type=type_hints["priority"])
18552
18600
  check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
18601
+ check_type(argname="argument enable_anomaly_mitigation", value=enable_anomaly_mitigation, expected_type=type_hints["enable_anomaly_mitigation"])
18553
18602
  check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
18554
18603
  check_type(argname="argument load_balancing_algorithm_type", value=load_balancing_algorithm_type, expected_type=type_hints["load_balancing_algorithm_type"])
18555
18604
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
@@ -18567,6 +18616,8 @@ class AddApplicationTargetsProps(AddRuleProps):
18567
18616
  self._values["priority"] = priority
18568
18617
  if deregistration_delay is not None:
18569
18618
  self._values["deregistration_delay"] = deregistration_delay
18619
+ if enable_anomaly_mitigation is not None:
18620
+ self._values["enable_anomaly_mitigation"] = enable_anomaly_mitigation
18570
18621
  if health_check is not None:
18571
18622
  self._values["health_check"] = health_check
18572
18623
  if load_balancing_algorithm_type is not None:
@@ -18625,6 +18676,19 @@ class AddApplicationTargetsProps(AddRuleProps):
18625
18676
  result = self._values.get("deregistration_delay")
18626
18677
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
18627
18678
 
18679
+ @builtins.property
18680
+ def enable_anomaly_mitigation(self) -> typing.Optional[builtins.bool]:
18681
+ '''Indicates whether anomaly mitigation is enabled.
18682
+
18683
+ Only available when ``loadBalancingAlgorithmType`` is ``TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM``
18684
+
18685
+ :default: false
18686
+
18687
+ :see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#automatic-target-weights
18688
+ '''
18689
+ result = self._values.get("enable_anomaly_mitigation")
18690
+ return typing.cast(typing.Optional[builtins.bool], result)
18691
+
18628
18692
  @builtins.property
18629
18693
  def health_check(self) -> typing.Optional[HealthCheck]:
18630
18694
  '''Health check configuration.
@@ -19646,6 +19710,7 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
19646
19710
  "target_group_name": "targetGroupName",
19647
19711
  "target_type": "targetType",
19648
19712
  "vpc": "vpc",
19713
+ "enable_anomaly_mitigation": "enableAnomalyMitigation",
19649
19714
  "load_balancing_algorithm_type": "loadBalancingAlgorithmType",
19650
19715
  "port": "port",
19651
19716
  "protocol": "protocol",
@@ -19665,6 +19730,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
19665
19730
  target_group_name: typing.Optional[builtins.str] = None,
19666
19731
  target_type: typing.Optional[TargetType] = None,
19667
19732
  vpc: typing.Optional[_IVpc_f30d5663] = None,
19733
+ enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
19668
19734
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
19669
19735
  port: typing.Optional[jsii.Number] = None,
19670
19736
  protocol: typing.Optional[ApplicationProtocol] = None,
@@ -19681,6 +19747,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
19681
19747
  :param target_group_name: The name of the target group. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, and must not begin or end with a hyphen. Default: - Automatically generated.
19682
19748
  :param target_type: The type of targets registered to this TargetGroup, either IP or Instance. All targets registered into the group must be of this type. If you register targets to the TargetGroup in the CDK app, the TargetType is determined automatically. Default: - Determined automatically.
19683
19749
  :param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
19750
+ :param enable_anomaly_mitigation: Indicates whether anomaly mitigation is enabled. Only available when ``loadBalancingAlgorithmType`` is ``TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`` Default: false
19684
19751
  :param load_balancing_algorithm_type: The load balancing algorithm to select targets for routing requests. Default: TargetGroupLoadBalancingAlgorithmType.ROUND_ROBIN
19685
19752
  :param port: The port on which the target receives traffic. This is not applicable for Lambda targets. Default: - Determined from protocol if known
19686
19753
  :param protocol: The protocol used for communication with the target. This is not applicable for Lambda targets. Default: - Determined from port if known
@@ -19697,15 +19764,11 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
19697
19764
  # vpc: ec2.Vpc
19698
19765
 
19699
19766
 
19767
+ # Target group with slow start mode enabled
19700
19768
  tg = elbv2.ApplicationTargetGroup(self, "TG",
19701
- target_type=elbv2.TargetType.IP,
19702
- port=50051,
19703
- protocol=elbv2.ApplicationProtocol.HTTP,
19704
- protocol_version=elbv2.ApplicationProtocolVersion.GRPC,
19705
- health_check=elbv2.HealthCheck(
19706
- enabled=True,
19707
- healthy_grpc_codes="0-99"
19708
- ),
19769
+ target_type=elbv2.TargetType.INSTANCE,
19770
+ slow_start=Duration.seconds(60),
19771
+ port=80,
19709
19772
  vpc=vpc
19710
19773
  )
19711
19774
  '''
@@ -19718,6 +19781,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
19718
19781
  check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
19719
19782
  check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
19720
19783
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
19784
+ check_type(argname="argument enable_anomaly_mitigation", value=enable_anomaly_mitigation, expected_type=type_hints["enable_anomaly_mitigation"])
19721
19785
  check_type(argname="argument load_balancing_algorithm_type", value=load_balancing_algorithm_type, expected_type=type_hints["load_balancing_algorithm_type"])
19722
19786
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
19723
19787
  check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
@@ -19737,6 +19801,8 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
19737
19801
  self._values["target_type"] = target_type
19738
19802
  if vpc is not None:
19739
19803
  self._values["vpc"] = vpc
19804
+ if enable_anomaly_mitigation is not None:
19805
+ self._values["enable_anomaly_mitigation"] = enable_anomaly_mitigation
19740
19806
  if load_balancing_algorithm_type is not None:
19741
19807
  self._values["load_balancing_algorithm_type"] = load_balancing_algorithm_type
19742
19808
  if port is not None:
@@ -19813,6 +19879,19 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
19813
19879
  result = self._values.get("vpc")
19814
19880
  return typing.cast(typing.Optional[_IVpc_f30d5663], result)
19815
19881
 
19882
+ @builtins.property
19883
+ def enable_anomaly_mitigation(self) -> typing.Optional[builtins.bool]:
19884
+ '''Indicates whether anomaly mitigation is enabled.
19885
+
19886
+ Only available when ``loadBalancingAlgorithmType`` is ``TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM``
19887
+
19888
+ :default: false
19889
+
19890
+ :see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#automatic-target-weights
19891
+ '''
19892
+ result = self._values.get("enable_anomaly_mitigation")
19893
+ return typing.cast(typing.Optional[builtins.bool], result)
19894
+
19816
19895
  @builtins.property
19817
19896
  def load_balancing_algorithm_type(
19818
19897
  self,
@@ -20053,6 +20132,7 @@ class IApplicationListener(
20053
20132
  id: builtins.str,
20054
20133
  *,
20055
20134
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
20135
+ enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
20056
20136
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
20057
20137
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
20058
20138
  port: typing.Optional[jsii.Number] = None,
@@ -20076,6 +20156,7 @@ class IApplicationListener(
20076
20156
 
20077
20157
  :param id: -
20078
20158
  :param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: Duration.minutes(5)
20159
+ :param enable_anomaly_mitigation: Indicates whether anomaly mitigation is enabled. Only available when ``loadBalancingAlgorithmType`` is ``TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`` Default: false
20079
20160
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
20080
20161
  :param load_balancing_algorithm_type: The load balancing algorithm to select targets for routing requests. Default: round_robin.
20081
20162
  :param port: The port on which the listener listens for requests. Default: Determined from protocol if known
@@ -20208,6 +20289,7 @@ class _IApplicationListenerProxy(
20208
20289
  id: builtins.str,
20209
20290
  *,
20210
20291
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
20292
+ enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
20211
20293
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
20212
20294
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
20213
20295
  port: typing.Optional[jsii.Number] = None,
@@ -20231,6 +20313,7 @@ class _IApplicationListenerProxy(
20231
20313
 
20232
20314
  :param id: -
20233
20315
  :param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: Duration.minutes(5)
20316
+ :param enable_anomaly_mitigation: Indicates whether anomaly mitigation is enabled. Only available when ``loadBalancingAlgorithmType`` is ``TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`` Default: false
20234
20317
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
20235
20318
  :param load_balancing_algorithm_type: The load balancing algorithm to select targets for routing requests. Default: round_robin.
20236
20319
  :param port: The port on which the listener listens for requests. Default: Determined from protocol if known
@@ -20251,6 +20334,7 @@ class _IApplicationListenerProxy(
20251
20334
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
20252
20335
  props = AddApplicationTargetsProps(
20253
20336
  deregistration_delay=deregistration_delay,
20337
+ enable_anomaly_mitigation=enable_anomaly_mitigation,
20254
20338
  health_check=health_check,
20255
20339
  load_balancing_algorithm_type=load_balancing_algorithm_type,
20256
20340
  port=port,
@@ -21395,6 +21479,7 @@ class ApplicationListener(
21395
21479
  id: builtins.str,
21396
21480
  *,
21397
21481
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
21482
+ enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
21398
21483
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
21399
21484
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
21400
21485
  port: typing.Optional[jsii.Number] = None,
@@ -21421,6 +21506,7 @@ class ApplicationListener(
21421
21506
 
21422
21507
  :param id: -
21423
21508
  :param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: Duration.minutes(5)
21509
+ :param enable_anomaly_mitigation: Indicates whether anomaly mitigation is enabled. Only available when ``loadBalancingAlgorithmType`` is ``TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`` Default: false
21424
21510
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
21425
21511
  :param load_balancing_algorithm_type: The load balancing algorithm to select targets for routing requests. Default: round_robin.
21426
21512
  :param port: The port on which the listener listens for requests. Default: Determined from protocol if known
@@ -21441,6 +21527,7 @@ class ApplicationListener(
21441
21527
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
21442
21528
  props = AddApplicationTargetsProps(
21443
21529
  deregistration_delay=deregistration_delay,
21530
+ enable_anomaly_mitigation=enable_anomaly_mitigation,
21444
21531
  health_check=health_check,
21445
21532
  load_balancing_algorithm_type=load_balancing_algorithm_type,
21446
21533
  port=port,
@@ -22858,6 +22945,7 @@ class ApplicationTargetGroup(
22858
22945
  scope: _constructs_77d1e7e8.Construct,
22859
22946
  id: builtins.str,
22860
22947
  *,
22948
+ enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
22861
22949
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
22862
22950
  port: typing.Optional[jsii.Number] = None,
22863
22951
  protocol: typing.Optional[ApplicationProtocol] = None,
@@ -22875,6 +22963,7 @@ class ApplicationTargetGroup(
22875
22963
  '''
22876
22964
  :param scope: -
22877
22965
  :param id: -
22966
+ :param enable_anomaly_mitigation: Indicates whether anomaly mitigation is enabled. Only available when ``loadBalancingAlgorithmType`` is ``TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`` Default: false
22878
22967
  :param load_balancing_algorithm_type: The load balancing algorithm to select targets for routing requests. Default: TargetGroupLoadBalancingAlgorithmType.ROUND_ROBIN
22879
22968
  :param port: The port on which the target receives traffic. This is not applicable for Lambda targets. Default: - Determined from protocol if known
22880
22969
  :param protocol: The protocol used for communication with the target. This is not applicable for Lambda targets. Default: - Determined from port if known
@@ -22894,6 +22983,7 @@ class ApplicationTargetGroup(
22894
22983
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
22895
22984
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
22896
22985
  props = ApplicationTargetGroupProps(
22986
+ enable_anomaly_mitigation=enable_anomaly_mitigation,
22897
22987
  load_balancing_algorithm_type=load_balancing_algorithm_type,
22898
22988
  port=port,
22899
22989
  protocol=protocol,
@@ -25288,6 +25378,7 @@ def _typecheckingstub__b26d56d500bb67c9d6ae66f1cb40dc7e2f3a670459278ff6a96edc676
25288
25378
  conditions: typing.Optional[typing.Sequence[ListenerCondition]] = None,
25289
25379
  priority: typing.Optional[jsii.Number] = None,
25290
25380
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
25381
+ enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
25291
25382
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
25292
25383
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
25293
25384
  port: typing.Optional[jsii.Number] = None,
@@ -25378,6 +25469,7 @@ def _typecheckingstub__0fbf37aa0a91cb985ce7a336a6188364cc38400538c1653e53453287c
25378
25469
  target_group_name: typing.Optional[builtins.str] = None,
25379
25470
  target_type: typing.Optional[TargetType] = None,
25380
25471
  vpc: typing.Optional[_IVpc_f30d5663] = None,
25472
+ enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
25381
25473
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
25382
25474
  port: typing.Optional[jsii.Number] = None,
25383
25475
  protocol: typing.Optional[ApplicationProtocol] = None,
@@ -25430,6 +25522,7 @@ def _typecheckingstub__84e790e0e8140f8df376ccc9404001adf95dc62c6408367a7fb37a7ac
25430
25522
  id: builtins.str,
25431
25523
  *,
25432
25524
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
25525
+ enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
25433
25526
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
25434
25527
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
25435
25528
  port: typing.Optional[jsii.Number] = None,
@@ -25685,6 +25778,7 @@ def _typecheckingstub__024551e53e2a61ea5cc079e4909fa79f39b1b922c5d0ab7d4adfe8153
25685
25778
  id: builtins.str,
25686
25779
  *,
25687
25780
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
25781
+ enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
25688
25782
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
25689
25783
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
25690
25784
  port: typing.Optional[jsii.Number] = None,
@@ -25835,6 +25929,7 @@ def _typecheckingstub__e179515c9d6138007cc1b74835b75f10a179c1f5ef977cbe4188c778c
25835
25929
  scope: _constructs_77d1e7e8.Construct,
25836
25930
  id: builtins.str,
25837
25931
  *,
25932
+ enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
25838
25933
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
25839
25934
  port: typing.Optional[jsii.Number] = None,
25840
25935
  protocol: typing.Optional[ApplicationProtocol] = None,
@@ -140,7 +140,7 @@ class CfnIdMappingWorkflow(
140
140
  '''
141
141
  :param scope: Scope in which this resource is defined.
142
142
  :param id: Construct identifier for this resource (unique in its scope).
143
- :param id_mapping_techniques: An object which defines the ``idMappingType`` and the ``providerProperties`` .
143
+ :param id_mapping_techniques: An object which defines the ID mapping technique and any additional configurations.
144
144
  :param input_source_config: A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
145
145
  :param role_arn: The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
146
146
  :param workflow_name: The name of the workflow. There can't be multiple ``IdMappingWorkflows`` with the same name.
@@ -237,7 +237,7 @@ class CfnIdMappingWorkflow(
237
237
  def id_mapping_techniques(
238
238
  self,
239
239
  ) -> typing.Union[_IResolvable_da3f097b, "CfnIdMappingWorkflow.IdMappingTechniquesProperty"]:
240
- '''An object which defines the ``idMappingType`` and the ``providerProperties`` .'''
240
+ '''An object which defines the ID mapping technique and any additional configurations.'''
241
241
  return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnIdMappingWorkflow.IdMappingTechniquesProperty"], jsii.get(self, "idMappingTechniques"))
242
242
 
243
243
  @id_mapping_techniques.setter
@@ -353,7 +353,7 @@ class CfnIdMappingWorkflow(
353
353
  id_mapping_type: typing.Optional[builtins.str] = None,
354
354
  provider_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdMappingWorkflow.ProviderPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
355
355
  ) -> None:
356
- '''An object which defines the ID mapping techniques and provider configurations.
356
+ '''An object which defines the ID mapping technique and any additional configurations.
357
357
 
358
358
  :param id_mapping_type: The type of ID mapping.
359
359
  :param provider_properties: An object which defines any additional configurations required by the provider service.
@@ -442,9 +442,9 @@ class CfnIdMappingWorkflow(
442
442
  ) -> None:
443
443
  '''An object containing ``InputSourceARN`` , ``SchemaName`` , and ``Type`` .
444
444
 
445
- :param input_source_arn: An AWS Glue table ARN for the input source table.
445
+ :param input_source_arn: An AWS Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table.
446
446
  :param schema_arn: The ARN (Amazon Resource Name) that AWS Entity Resolution generated for the ``SchemaMapping`` .
447
- :param type: The type of ID namespace. There are two types: ``SOURCE`` and ``TARGET`` . The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow. The ``TARGET`` contains a configuration of ``targetId`` to which all ``sourceIds`` will resolve to.
447
+ :param type: The type of ID namespace. There are two types: ``SOURCE`` and ``TARGET`` . The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow. The ``TARGET`` contains a configuration of ``targetId`` which all ``sourceIds`` will resolve to.
448
448
 
449
449
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingworkflowinputsource.html
450
450
  :exampleMetadata: fixture=_generated
@@ -478,7 +478,7 @@ class CfnIdMappingWorkflow(
478
478
 
479
479
  @builtins.property
480
480
  def input_source_arn(self) -> builtins.str:
481
- '''An AWS Glue table ARN for the input source table.
481
+ '''An AWS Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table.
482
482
 
483
483
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingworkflowinputsource.html#cfn-entityresolution-idmappingworkflow-idmappingworkflowinputsource-inputsourcearn
484
484
  '''
@@ -501,7 +501,7 @@ class CfnIdMappingWorkflow(
501
501
 
502
502
  The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow.
503
503
 
504
- The ``TARGET`` contains a configuration of ``targetId`` to which all ``sourceIds`` will resolve to.
504
+ The ``TARGET`` contains a configuration of ``targetId`` which all ``sourceIds`` will resolve to.
505
505
 
506
506
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idmappingworkflow-idmappingworkflowinputsource.html#cfn-entityresolution-idmappingworkflow-idmappingworkflowinputsource-type
507
507
  '''
@@ -780,7 +780,7 @@ class CfnIdMappingWorkflowProps:
780
780
  ) -> None:
781
781
  '''Properties for defining a ``CfnIdMappingWorkflow``.
782
782
 
783
- :param id_mapping_techniques: An object which defines the ``idMappingType`` and the ``providerProperties`` .
783
+ :param id_mapping_techniques: An object which defines the ID mapping technique and any additional configurations.
784
784
  :param input_source_config: A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
785
785
  :param role_arn: The Amazon Resource Name (ARN) of the IAM role. AWS Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
786
786
  :param workflow_name: The name of the workflow. There can't be multiple ``IdMappingWorkflows`` with the same name.
@@ -862,7 +862,7 @@ class CfnIdMappingWorkflowProps:
862
862
  def id_mapping_techniques(
863
863
  self,
864
864
  ) -> typing.Union[_IResolvable_da3f097b, CfnIdMappingWorkflow.IdMappingTechniquesProperty]:
865
- '''An object which defines the ``idMappingType`` and the ``providerProperties`` .
865
+ '''An object which defines the ID mapping technique and any additional configurations.
866
866
 
867
867
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idmappingworkflow.html#cfn-entityresolution-idmappingworkflow-idmappingtechniques
868
868
  '''
@@ -1017,7 +1017,7 @@ class CfnIdNamespace(
1017
1017
  :param scope: Scope in which this resource is defined.
1018
1018
  :param id: Construct identifier for this resource (unique in its scope).
1019
1019
  :param id_namespace_name: The name of the ID namespace.
1020
- :param type: The type of ID namespace. There are two types: ``SOURCE`` and ``TARGET`` . The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow. The ``TARGET`` contains a configuration of ``targetId`` to which all ``sourceIds`` will resolve to.
1020
+ :param type: The type of ID namespace. There are two types: ``SOURCE`` and ``TARGET`` . The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow. The ``TARGET`` contains a configuration of ``targetId`` which all ``sourceIds`` will resolve to.
1021
1021
  :param description: The description of the ID namespace.
1022
1022
  :param id_mapping_workflow_properties: Determines the properties of ``IdMappingWorflow`` where this ``IdNamespace`` can be used as a ``Source`` or a ``Target`` .
1023
1023
  :param input_source_config: A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
@@ -1227,7 +1227,7 @@ class CfnIdNamespace(
1227
1227
  id_mapping_type: builtins.str,
1228
1228
  provider_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdNamespace.NamespaceProviderPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1229
1229
  ) -> None:
1230
- '''An object containing ``IdMappingType`` and ``ProviderProperties`` .
1230
+ '''An object containing ``IdMappingType`` , ``ProviderProperties`` , and ``RuleBasedProperties`` .
1231
1231
 
1232
1232
  :param id_mapping_type: The type of ID mapping.
1233
1233
  :param provider_properties: An object which defines any additional configurations required by the provider service.
@@ -1314,7 +1314,7 @@ class CfnIdNamespace(
1314
1314
  ) -> None:
1315
1315
  '''An object containing ``InputSourceARN`` and ``SchemaName`` .
1316
1316
 
1317
- :param input_source_arn: An AWS Glue table ARN for the input source table.
1317
+ :param input_source_arn: An AWS Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table.
1318
1318
  :param schema_name: The name of the schema.
1319
1319
 
1320
1320
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-idnamespaceinputsource.html
@@ -1345,7 +1345,7 @@ class CfnIdNamespace(
1345
1345
 
1346
1346
  @builtins.property
1347
1347
  def input_source_arn(self) -> builtins.str:
1348
- '''An AWS Glue table ARN for the input source table.
1348
+ '''An AWS Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table.
1349
1349
 
1350
1350
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-idnamespace-idnamespaceinputsource.html#cfn-entityresolution-idnamespace-idnamespaceinputsource-inputsourcearn
1351
1351
  '''
@@ -1482,7 +1482,7 @@ class CfnIdNamespaceProps:
1482
1482
  '''Properties for defining a ``CfnIdNamespace``.
1483
1483
 
1484
1484
  :param id_namespace_name: The name of the ID namespace.
1485
- :param type: The type of ID namespace. There are two types: ``SOURCE`` and ``TARGET`` . The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow. The ``TARGET`` contains a configuration of ``targetId`` to which all ``sourceIds`` will resolve to.
1485
+ :param type: The type of ID namespace. There are two types: ``SOURCE`` and ``TARGET`` . The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow. The ``TARGET`` contains a configuration of ``targetId`` which all ``sourceIds`` will resolve to.
1486
1486
  :param description: The description of the ID namespace.
1487
1487
  :param id_mapping_workflow_properties: Determines the properties of ``IdMappingWorflow`` where this ``IdNamespace`` can be used as a ``Source`` or a ``Target`` .
1488
1488
  :param input_source_config: A list of ``InputSource`` objects, which have the fields ``InputSourceARN`` and ``SchemaName`` .
@@ -1570,7 +1570,7 @@ class CfnIdNamespaceProps:
1570
1570
 
1571
1571
  The ``SOURCE`` contains configurations for ``sourceId`` data that will be processed in an ID mapping workflow.
1572
1572
 
1573
- The ``TARGET`` contains a configuration of ``targetId`` to which all ``sourceIds`` will resolve to.
1573
+ The ``TARGET`` contains a configuration of ``targetId`` which all ``sourceIds`` will resolve to.
1574
1574
 
1575
1575
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-entityresolution-idnamespace.html#cfn-entityresolution-idnamespace-type
1576
1576
  '''
@@ -2513,9 +2513,11 @@ class CfnMatchingWorkflow(
2513
2513
  attribute_matching_model: builtins.str,
2514
2514
  rules: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnMatchingWorkflow.RuleProperty", typing.Dict[builtins.str, typing.Any]]]]],
2515
2515
  ) -> None:
2516
- '''An object which defines the list of matching rules to run and has a field ``Rules`` , which is a list of rule objects.
2516
+ '''An object which defines the list of matching rules to run in a matching workflow.
2517
+
2518
+ RuleBasedProperties contain a ``Rules`` field, which is a list of rule objects.
2517
2519
 
2518
- :param attribute_matching_model: The comparison type. You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the AttributeMatchingModel. When choosing ``MANY_TO_MANY`` , the system can match attributes across the sub-types of an attribute type. For example, if the value of the ``Email`` field of Profile A and the value of ``BusinessEmail`` field of Profile B matches, the two profiles are matched on the ``Email`` type. When choosing ``ONE_TO_ONE`` ,the system can only match if the sub-types are exact matches. For example, only when the value of the ``Email`` field of Profile A and the value of the ``Email`` field of Profile B matches, the two profiles are matched on the ``Email`` type.
2520
+ :param attribute_matching_model: The comparison type. You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the ``attributeMatchingModel`` . If you choose ``MANY_TO_MANY`` , the system can match attributes across the sub-types of an attribute type. For example, if the value of the ``Email`` field of Profile A and the value of ``BusinessEmail`` field of Profile B matches, the two profiles are matched on the ``Email`` attribute type. If you choose ``ONE_TO_ONE`` , the system can only match attributes if the sub-types are an exact match. For example, for the ``Email`` attribute type, the system will only consider it a match if the value of the ``Email`` field of Profile A matches the value of the ``Email`` field of Profile B.
2519
2521
  :param rules: A list of ``Rule`` objects, each of which have fields ``RuleName`` and ``MatchingKeys`` .
2520
2522
 
2521
2523
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html
@@ -2546,9 +2548,11 @@ class CfnMatchingWorkflow(
2546
2548
 
2547
2549
  @builtins.property
2548
2550
  def attribute_matching_model(self) -> builtins.str:
2549
- '''The comparison type.
2551
+ '''The comparison type. You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the ``attributeMatchingModel`` .
2550
2552
 
2551
- You can either choose ``ONE_TO_ONE`` or ``MANY_TO_MANY`` as the AttributeMatchingModel. When choosing ``MANY_TO_MANY`` , the system can match attributes across the sub-types of an attribute type. For example, if the value of the ``Email`` field of Profile A and the value of ``BusinessEmail`` field of Profile B matches, the two profiles are matched on the ``Email`` type. When choosing ``ONE_TO_ONE`` ,the system can only match if the sub-types are exact matches. For example, only when the value of the ``Email`` field of Profile A and the value of the ``Email`` field of Profile B matches, the two profiles are matched on the ``Email`` type.
2553
+ If you choose ``MANY_TO_MANY`` , the system can match attributes across the sub-types of an attribute type. For example, if the value of the ``Email`` field of Profile A and the value of ``BusinessEmail`` field of Profile B matches, the two profiles are matched on the ``Email`` attribute type.
2554
+
2555
+ If you choose ``ONE_TO_ONE`` , the system can only match attributes if the sub-types are an exact match. For example, for the ``Email`` attribute type, the system will only consider it a match if the value of the ``Email`` field of Profile A matches the value of the ``Email`` field of Profile B.
2552
2556
 
2553
2557
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-matchingworkflow-rulebasedproperties.html#cfn-entityresolution-matchingworkflow-rulebasedproperties-attributematchingmodel
2554
2558
  '''
@@ -3418,7 +3422,7 @@ class CfnSchemaMapping(
3418
3422
  match_key: typing.Optional[builtins.str] = None,
3419
3423
  sub_type: typing.Optional[builtins.str] = None,
3420
3424
  ) -> None:
3421
- '''An object containing ``FieldName`` , ``Type`` , ``GroupName`` , ``MatchKey`` , and ``SubType`` .
3425
+ '''An object containing ``FieldName`` , ``Type`` , ``GroupName`` , ``MatchKey`` , ``Hashing`` , and ``SubType`` .
3422
3426
 
3423
3427
  :param field_name: A string containing the field name.
3424
3428
  :param type: The type of the attribute, selected from a list of values.
@@ -3498,7 +3502,9 @@ class CfnSchemaMapping(
3498
3502
  def match_key(self) -> typing.Optional[builtins.str]:
3499
3503
  '''A key that allows grouping of multiple input attributes into a unified matching group.
3500
3504
 
3501
- For example, consider a scenario where the source table contains various addresses, such as ``business_address`` and ``shipping_address`` . By assigning a ``matchKey`` called ``address`` to both attributes, AWS Entity Resolution will match records across these fields to create a consolidated matching group. If no ``matchKey`` is specified for a column, it won't be utilized for matching purposes but will still be included in the output table.
3505
+ For example, consider a scenario where the source table contains various addresses, such as ``business_address`` and ``shipping_address`` . By assigning a ``matchKey`` called ``address`` to both attributes, AWS Entity Resolution will match records across these fields to create a consolidated matching group.
3506
+
3507
+ If no ``matchKey`` is specified for a column, it won't be utilized for matching purposes but will still be included in the output table.
3502
3508
 
3503
3509
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-entityresolution-schemamapping-schemainputattribute.html#cfn-entityresolution-schemamapping-schemainputattribute-matchkey
3504
3510
  '''