aws-cdk-lib 2.171.1__py3-none-any.whl → 2.172.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (47) hide show
  1. aws_cdk/__init__.py +471 -161
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.171.1.jsii.tgz → aws-cdk-lib@2.172.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigateway/__init__.py +1314 -124
  5. aws_cdk/aws_appsync/__init__.py +159 -136
  6. aws_cdk/aws_autoscaling/__init__.py +81 -24
  7. aws_cdk/aws_bedrock/__init__.py +48 -0
  8. aws_cdk/aws_chatbot/__init__.py +775 -0
  9. aws_cdk/aws_cloudformation/__init__.py +240 -159
  10. aws_cdk/aws_cloudfront/__init__.py +11 -5
  11. aws_cdk/aws_cloudtrail/__init__.py +753 -0
  12. aws_cdk/aws_cognito/__init__.py +825 -4
  13. aws_cdk/aws_connect/__init__.py +429 -0
  14. aws_cdk/aws_customerprofiles/__init__.py +3148 -0
  15. aws_cdk/aws_ec2/__init__.py +872 -5
  16. aws_cdk/aws_ecs/__init__.py +12 -7
  17. aws_cdk/aws_eks/__init__.py +709 -0
  18. aws_cdk/aws_elasticloadbalancingv2/__init__.py +309 -55
  19. aws_cdk/aws_events/__init__.py +515 -8
  20. aws_cdk/aws_iot/__init__.py +42 -4
  21. aws_cdk/aws_iotfleetwise/__init__.py +510 -0
  22. aws_cdk/aws_iotsitewise/__init__.py +156 -0
  23. aws_cdk/aws_lambda/__init__.py +14 -8
  24. aws_cdk/aws_lambda_event_sources/__init__.py +2 -1
  25. aws_cdk/aws_lambda_nodejs/__init__.py +11 -11
  26. aws_cdk/aws_m2/__init__.py +289 -0
  27. aws_cdk/aws_mwaa/__init__.py +6 -6
  28. aws_cdk/aws_opensearchserverless/__init__.py +249 -1
  29. aws_cdk/aws_pipes/__init__.py +14 -30
  30. aws_cdk/aws_qbusiness/__init__.py +3 -1
  31. aws_cdk/aws_quicksight/__init__.py +8270 -10
  32. aws_cdk/aws_rbin/__init__.py +53 -34
  33. aws_cdk/aws_rds/__init__.py +140 -8
  34. aws_cdk/aws_resourcegroups/__init__.py +349 -0
  35. aws_cdk/aws_route53_targets/__init__.py +82 -0
  36. aws_cdk/aws_route53resolver/__init__.py +15 -6
  37. aws_cdk/aws_s3express/__init__.py +403 -2
  38. aws_cdk/aws_sagemaker/__init__.py +124 -112
  39. aws_cdk/aws_ses/__init__.py +79 -41
  40. aws_cdk/aws_wisdom/__init__.py +4713 -172
  41. aws_cdk/aws_workspacesweb/__init__.py +1024 -0
  42. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.0.dist-info}/METADATA +1 -1
  43. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.0.dist-info}/RECORD +47 -47
  44. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.0.dist-info}/LICENSE +0 -0
  45. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.0.dist-info}/NOTICE +0 -0
  46. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.0.dist-info}/WHEEL +0 -0
  47. {aws_cdk_lib-2.171.1.dist-info → aws_cdk_lib-2.172.0.dist-info}/top_level.txt +0 -0
@@ -598,6 +598,47 @@ target_group = elbv2.ApplicationTargetGroup(self, "TargetGroup",
598
598
  )
599
599
  ```
600
600
 
601
+ ### IP Address Type for Target Groups
602
+
603
+ You can set the IP address type for the target group by setting the `ipAddressType` property for both Application and Network target groups.
604
+
605
+ If you set the `ipAddressType` property to `IPV6`, the VPC for the target group must have an associated IPv6 CIDR block.
606
+
607
+ For more information, see IP address type for [Network Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-ip-address-type) and [Application Load Balancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-ip-address-type).
608
+
609
+ ```python
610
+ # vpc: ec2.Vpc
611
+
612
+
613
+ ipv4_application_target_group = elbv2.ApplicationTargetGroup(self, "IPv4ApplicationTargetGroup",
614
+ vpc=vpc,
615
+ port=80,
616
+ target_type=elbv2.TargetType.INSTANCE,
617
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
618
+ )
619
+
620
+ ipv6_application_target_group = elbv2.ApplicationTargetGroup(self, "Ipv6ApplicationTargetGroup",
621
+ vpc=vpc,
622
+ port=80,
623
+ target_type=elbv2.TargetType.INSTANCE,
624
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
625
+ )
626
+
627
+ ipv4_network_target_group = elbv2.NetworkTargetGroup(self, "IPv4NetworkTargetGroup",
628
+ vpc=vpc,
629
+ port=80,
630
+ target_type=elbv2.TargetType.INSTANCE,
631
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
632
+ )
633
+
634
+ ipv6_network_target_group = elbv2.NetworkTargetGroup(self, "Ipv6NetworkTargetGroup",
635
+ vpc=vpc,
636
+ port=80,
637
+ target_type=elbv2.TargetType.INSTANCE,
638
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
639
+ )
640
+ ```
641
+
601
642
  ## Using Lambda Targets
602
643
 
603
644
  To use a Lambda Function as a target, use the integration class in the
@@ -3332,6 +3373,7 @@ class BaseNetworkListenerProps:
3332
3373
  "cross_zone_enabled": "crossZoneEnabled",
3333
3374
  "deregistration_delay": "deregistrationDelay",
3334
3375
  "health_check": "healthCheck",
3376
+ "ip_address_type": "ipAddressType",
3335
3377
  "target_group_name": "targetGroupName",
3336
3378
  "target_type": "targetType",
3337
3379
  "vpc": "vpc",
@@ -3344,6 +3386,7 @@ class BaseTargetGroupProps:
3344
3386
  cross_zone_enabled: typing.Optional[builtins.bool] = None,
3345
3387
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
3346
3388
  health_check: typing.Optional[typing.Union["HealthCheck", typing.Dict[builtins.str, typing.Any]]] = None,
3389
+ ip_address_type: typing.Optional["TargetGroupIpAddressType"] = None,
3347
3390
  target_group_name: typing.Optional[builtins.str] = None,
3348
3391
  target_type: typing.Optional["TargetType"] = None,
3349
3392
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -3353,6 +3396,7 @@ class BaseTargetGroupProps:
3353
3396
  :param cross_zone_enabled: Indicates whether cross zone load balancing is enabled. Default: - use load balancer configuration
3354
3397
  :param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: 300
3355
3398
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
3399
+ :param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
3356
3400
  :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.
3357
3401
  :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.
3358
3402
  :param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
@@ -3384,6 +3428,7 @@ class BaseTargetGroupProps:
3384
3428
  timeout=cdk.Duration.minutes(30),
3385
3429
  unhealthy_threshold_count=123
3386
3430
  ),
3431
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV4,
3387
3432
  target_group_name="targetGroupName",
3388
3433
  target_type=elbv2.TargetType.INSTANCE,
3389
3434
  vpc=vpc
@@ -3396,6 +3441,7 @@ class BaseTargetGroupProps:
3396
3441
  check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
3397
3442
  check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
3398
3443
  check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
3444
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
3399
3445
  check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
3400
3446
  check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
3401
3447
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
@@ -3406,6 +3452,8 @@ class BaseTargetGroupProps:
3406
3452
  self._values["deregistration_delay"] = deregistration_delay
3407
3453
  if health_check is not None:
3408
3454
  self._values["health_check"] = health_check
3455
+ if ip_address_type is not None:
3456
+ self._values["ip_address_type"] = ip_address_type
3409
3457
  if target_group_name is not None:
3410
3458
  self._values["target_group_name"] = target_group_name
3411
3459
  if target_type is not None:
@@ -3446,6 +3494,15 @@ class BaseTargetGroupProps:
3446
3494
  result = self._values.get("health_check")
3447
3495
  return typing.cast(typing.Optional["HealthCheck"], result)
3448
3496
 
3497
+ @builtins.property
3498
+ def ip_address_type(self) -> typing.Optional["TargetGroupIpAddressType"]:
3499
+ '''The type of IP addresses of the targets registered with the target group.
3500
+
3501
+ :default: undefined - ELB defaults to IPv4
3502
+ '''
3503
+ result = self._values.get("ip_address_type")
3504
+ return typing.cast(typing.Optional["TargetGroupIpAddressType"], result)
3505
+
3449
3506
  @builtins.property
3450
3507
  def target_group_name(self) -> typing.Optional[builtins.str]:
3451
3508
  '''The name of the target group.
@@ -8174,6 +8231,9 @@ class CfnLoadBalancer(
8174
8231
  key="key",
8175
8232
  value="value"
8176
8233
  )],
8234
+ minimum_load_balancer_capacity=elbv2.CfnLoadBalancer.MinimumLoadBalancerCapacityProperty(
8235
+ capacity_units=123
8236
+ ),
8177
8237
  name="name",
8178
8238
  scheme="scheme",
8179
8239
  security_groups=["securityGroups"],
@@ -8204,6 +8264,7 @@ class CfnLoadBalancer(
8204
8264
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
8205
8265
  ip_address_type: typing.Optional[builtins.str] = None,
8206
8266
  load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLoadBalancer.LoadBalancerAttributeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
8267
+ minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLoadBalancer.MinimumLoadBalancerCapacityProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8207
8268
  name: typing.Optional[builtins.str] = None,
8208
8269
  scheme: typing.Optional[builtins.str] = None,
8209
8270
  security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -8219,6 +8280,7 @@ class CfnLoadBalancer(
8219
8280
  :param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink .
8220
8281
  :param ip_address_type: The IP address type. Internal load balancers must use ``ipv4`` . [Application Load Balancers] The possible values are ``ipv4`` (IPv4 addresses), ``dualstack`` (IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (public IPv6 addresses and private IPv4 and IPv6 addresses). Application Load Balancer authentication supports IPv4 addresses only when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer can't complete the authentication process, resulting in HTTP 500 errors. [Network Load Balancers and Gateway Load Balancers] The possible values are ``ipv4`` (IPv4 addresses) and ``dualstack`` (IPv4 and IPv6 addresses).
8221
8282
  :param load_balancer_attributes: The load balancer attributes.
8283
+ :param minimum_load_balancer_capacity:
8222
8284
  :param name: The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
8223
8285
  :param scheme: The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer. You can't specify a scheme for a Gateway Load Balancer.
8224
8286
  :param security_groups: [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.
@@ -8236,6 +8298,7 @@ class CfnLoadBalancer(
8236
8298
  enforce_security_group_inbound_rules_on_private_link_traffic=enforce_security_group_inbound_rules_on_private_link_traffic,
8237
8299
  ip_address_type=ip_address_type,
8238
8300
  load_balancer_attributes=load_balancer_attributes,
8301
+ minimum_load_balancer_capacity=minimum_load_balancer_capacity,
8239
8302
  name=name,
8240
8303
  scheme=scheme,
8241
8304
  security_groups=security_groups,
@@ -8418,6 +8481,23 @@ class CfnLoadBalancer(
8418
8481
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8419
8482
  jsii.set(self, "loadBalancerAttributes", value) # pyright: ignore[reportArgumentType]
8420
8483
 
8484
+ @builtins.property
8485
+ @jsii.member(jsii_name="minimumLoadBalancerCapacity")
8486
+ def minimum_load_balancer_capacity(
8487
+ self,
8488
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLoadBalancer.MinimumLoadBalancerCapacityProperty"]]:
8489
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLoadBalancer.MinimumLoadBalancerCapacityProperty"]], jsii.get(self, "minimumLoadBalancerCapacity"))
8490
+
8491
+ @minimum_load_balancer_capacity.setter
8492
+ def minimum_load_balancer_capacity(
8493
+ self,
8494
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLoadBalancer.MinimumLoadBalancerCapacityProperty"]],
8495
+ ) -> None:
8496
+ if __debug__:
8497
+ type_hints = typing.get_type_hints(_typecheckingstub__102164e78a5cf61e67908e476a27971c19e5604c38d90ddca6b4b346581d0209)
8498
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8499
+ jsii.set(self, "minimumLoadBalancerCapacity", value) # pyright: ignore[reportArgumentType]
8500
+
8421
8501
  @builtins.property
8422
8502
  @jsii.member(jsii_name="name")
8423
8503
  def name(self) -> typing.Optional[builtins.str]:
@@ -8623,6 +8703,56 @@ class CfnLoadBalancer(
8623
8703
  k + "=" + repr(v) for k, v in self._values.items()
8624
8704
  )
8625
8705
 
8706
+ @jsii.data_type(
8707
+ jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnLoadBalancer.MinimumLoadBalancerCapacityProperty",
8708
+ jsii_struct_bases=[],
8709
+ name_mapping={"capacity_units": "capacityUnits"},
8710
+ )
8711
+ class MinimumLoadBalancerCapacityProperty:
8712
+ def __init__(self, *, capacity_units: jsii.Number) -> None:
8713
+ '''
8714
+ :param capacity_units:
8715
+
8716
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity.html
8717
+ :exampleMetadata: fixture=_generated
8718
+
8719
+ Example::
8720
+
8721
+ # The code below shows an example of how to instantiate this type.
8722
+ # The values are placeholders you should change.
8723
+ from aws_cdk import aws_elasticloadbalancingv2 as elbv2
8724
+
8725
+ minimum_load_balancer_capacity_property = elbv2.CfnLoadBalancer.MinimumLoadBalancerCapacityProperty(
8726
+ capacity_units=123
8727
+ )
8728
+ '''
8729
+ if __debug__:
8730
+ type_hints = typing.get_type_hints(_typecheckingstub__bd0d2d4a891c02fabab09ae876b5f738a440bf3402f1db5dc28e3cdd47b733bc)
8731
+ check_type(argname="argument capacity_units", value=capacity_units, expected_type=type_hints["capacity_units"])
8732
+ self._values: typing.Dict[builtins.str, typing.Any] = {
8733
+ "capacity_units": capacity_units,
8734
+ }
8735
+
8736
+ @builtins.property
8737
+ def capacity_units(self) -> jsii.Number:
8738
+ '''
8739
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity.html#cfn-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity-capacityunits
8740
+ '''
8741
+ result = self._values.get("capacity_units")
8742
+ assert result is not None, "Required property 'capacity_units' is missing"
8743
+ return typing.cast(jsii.Number, result)
8744
+
8745
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8746
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8747
+
8748
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8749
+ return not (rhs == self)
8750
+
8751
+ def __repr__(self) -> str:
8752
+ return "MinimumLoadBalancerCapacityProperty(%s)" % ", ".join(
8753
+ k + "=" + repr(v) for k, v in self._values.items()
8754
+ )
8755
+
8626
8756
  @jsii.data_type(
8627
8757
  jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.CfnLoadBalancer.SubnetMappingProperty",
8628
8758
  jsii_struct_bases=[],
@@ -8758,6 +8888,7 @@ class CfnLoadBalancer(
8758
8888
  "enforce_security_group_inbound_rules_on_private_link_traffic": "enforceSecurityGroupInboundRulesOnPrivateLinkTraffic",
8759
8889
  "ip_address_type": "ipAddressType",
8760
8890
  "load_balancer_attributes": "loadBalancerAttributes",
8891
+ "minimum_load_balancer_capacity": "minimumLoadBalancerCapacity",
8761
8892
  "name": "name",
8762
8893
  "scheme": "scheme",
8763
8894
  "security_groups": "securityGroups",
@@ -8775,6 +8906,7 @@ class CfnLoadBalancerProps:
8775
8906
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
8776
8907
  ip_address_type: typing.Optional[builtins.str] = None,
8777
8908
  load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.LoadBalancerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8909
+ minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.MinimumLoadBalancerCapacityProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
8778
8910
  name: typing.Optional[builtins.str] = None,
8779
8911
  scheme: typing.Optional[builtins.str] = None,
8780
8912
  security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -8789,6 +8921,7 @@ class CfnLoadBalancerProps:
8789
8921
  :param enforce_security_group_inbound_rules_on_private_link_traffic: Indicates whether to evaluate inbound security group rules for traffic sent to a Network Load Balancer through AWS PrivateLink .
8790
8922
  :param ip_address_type: The IP address type. Internal load balancers must use ``ipv4`` . [Application Load Balancers] The possible values are ``ipv4`` (IPv4 addresses), ``dualstack`` (IPv4 and IPv6 addresses), and ``dualstack-without-public-ipv4`` (public IPv6 addresses and private IPv4 and IPv6 addresses). Application Load Balancer authentication supports IPv4 addresses only when connecting to an Identity Provider (IdP) or Amazon Cognito endpoint. Without a public IPv4 address the load balancer can't complete the authentication process, resulting in HTTP 500 errors. [Network Load Balancers and Gateway Load Balancers] The possible values are ``ipv4`` (IPv4 addresses) and ``dualstack`` (IPv4 and IPv6 addresses).
8791
8923
  :param load_balancer_attributes: The load balancer attributes.
8924
+ :param minimum_load_balancer_capacity:
8792
8925
  :param name: The name of the load balancer. This name must be unique per region per account, can have a maximum of 32 characters, must contain only alphanumeric characters or hyphens, must not begin or end with a hyphen, and must not begin with "internal-". If you don't specify a name, AWS CloudFormation generates a unique physical ID for the load balancer. If you specify a name, you cannot perform updates that require replacement of this resource, but you can perform other updates. To replace the resource, specify a new name.
8793
8926
  :param scheme: The nodes of an Internet-facing load balancer have public IP addresses. The DNS name of an Internet-facing load balancer is publicly resolvable to the public IP addresses of the nodes. Therefore, Internet-facing load balancers can route requests from clients over the internet. The nodes of an internal load balancer have only private IP addresses. The DNS name of an internal load balancer is publicly resolvable to the private IP addresses of the nodes. Therefore, internal load balancers can route requests only from clients with access to the VPC for the load balancer. The default is an Internet-facing load balancer. You can't specify a scheme for a Gateway Load Balancer.
8794
8927
  :param security_groups: [Application Load Balancers and Network Load Balancers] The IDs of the security groups for the load balancer.
@@ -8814,6 +8947,9 @@ class CfnLoadBalancerProps:
8814
8947
  key="key",
8815
8948
  value="value"
8816
8949
  )],
8950
+ minimum_load_balancer_capacity=elbv2.CfnLoadBalancer.MinimumLoadBalancerCapacityProperty(
8951
+ capacity_units=123
8952
+ ),
8817
8953
  name="name",
8818
8954
  scheme="scheme",
8819
8955
  security_groups=["securityGroups"],
@@ -8840,6 +8976,7 @@ class CfnLoadBalancerProps:
8840
8976
  check_type(argname="argument enforce_security_group_inbound_rules_on_private_link_traffic", value=enforce_security_group_inbound_rules_on_private_link_traffic, expected_type=type_hints["enforce_security_group_inbound_rules_on_private_link_traffic"])
8841
8977
  check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
8842
8978
  check_type(argname="argument load_balancer_attributes", value=load_balancer_attributes, expected_type=type_hints["load_balancer_attributes"])
8979
+ check_type(argname="argument minimum_load_balancer_capacity", value=minimum_load_balancer_capacity, expected_type=type_hints["minimum_load_balancer_capacity"])
8843
8980
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
8844
8981
  check_type(argname="argument scheme", value=scheme, expected_type=type_hints["scheme"])
8845
8982
  check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
@@ -8856,6 +8993,8 @@ class CfnLoadBalancerProps:
8856
8993
  self._values["ip_address_type"] = ip_address_type
8857
8994
  if load_balancer_attributes is not None:
8858
8995
  self._values["load_balancer_attributes"] = load_balancer_attributes
8996
+ if minimum_load_balancer_capacity is not None:
8997
+ self._values["minimum_load_balancer_capacity"] = minimum_load_balancer_capacity
8859
8998
  if name is not None:
8860
8999
  self._values["name"] = name
8861
9000
  if scheme is not None:
@@ -8919,6 +9058,16 @@ class CfnLoadBalancerProps:
8919
9058
  result = self._values.get("load_balancer_attributes")
8920
9059
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnLoadBalancer.LoadBalancerAttributeProperty]]]], result)
8921
9060
 
9061
+ @builtins.property
9062
+ def minimum_load_balancer_capacity(
9063
+ self,
9064
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLoadBalancer.MinimumLoadBalancerCapacityProperty]]:
9065
+ '''
9066
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-minimumloadbalancercapacity
9067
+ '''
9068
+ result = self._values.get("minimum_load_balancer_capacity")
9069
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLoadBalancer.MinimumLoadBalancerCapacityProperty]], result)
9070
+
8922
9071
  @builtins.property
8923
9072
  def name(self) -> typing.Optional[builtins.str]:
8924
9073
  '''The name of the load balancer.
@@ -11284,14 +11433,14 @@ class HealthCheck:
11284
11433
  '''Properties for configuring a health check.
11285
11434
 
11286
11435
  :param enabled: Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance or ip, health checks are always enabled and cannot be disabled. Default: - Determined automatically.
11287
- :param healthy_grpc_codes: GRPC code to use when checking for a successful response from a target. You can specify values between 0 and 99. You can specify multiple values (for example, "0,1") or a range of values (for example, "0-5"). Default: - 12
11436
+ :param healthy_grpc_codes: GRPC code to use when checking for a successful response from a target. You can specify values between 0 and 99. You can specify multiple values (for example, "0,1") or a range of values (for example, "0-5"). Default: 12
11288
11437
  :param healthy_http_codes: HTTP code to use when checking for a successful response from a target. For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299").
11289
- :param healthy_threshold_count: The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. Default: 5 for ALBs, 3 for NLBs
11290
- :param interval: The approximate number of seconds between health checks for an individual target. Must be 5 to 300 seconds Default: 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
11438
+ :param healthy_threshold_count: The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. Default: - 5 for ALBs, 3 for NLBs
11439
+ :param interval: The approximate number of seconds between health checks for an individual target. Must be 5 to 300 seconds Default: - 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
11291
11440
  :param path: The ping path destination where Elastic Load Balancing sends health check requests. Default: /
11292
11441
  :param port: The port that the load balancer uses when performing health checks on the targets. Default: 'traffic-port'
11293
- :param protocol: The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks. Default: HTTP for ALBs, TCP for NLBs
11294
- :param timeout: The amount of time, in seconds, during which no response from a target means a failed health check. Must be 2 to 120 seconds. Default: 6 seconds if the protocol is HTTP, 5 seconds if protocol is ``GENEVE``, 30 seconds if target type is ``lambda``, 10 seconds for TCP, TLS, or HTTPS
11442
+ :param protocol: The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks. Default: - HTTP for ALBs, TCP for NLBs
11443
+ :param timeout: The amount of time, in seconds, during which no response from a target means a failed health check. Must be 2 to 120 seconds. Default: - 6 seconds if the protocol is HTTP, 5 seconds if protocol is ``GENEVE``, 30 seconds if target type is ``lambda``, 10 seconds for TCP, TLS, or HTTPS
11295
11444
  :param unhealthy_threshold_count: The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers, this value must be the same as the healthy threshold count. Default: 2
11296
11445
 
11297
11446
  :exampleMetadata: infused
@@ -11369,7 +11518,7 @@ class HealthCheck:
11369
11518
  You can specify values between 0 and 99. You can specify multiple values
11370
11519
  (for example, "0,1") or a range of values (for example, "0-5").
11371
11520
 
11372
- :default: - 12
11521
+ :default: 12
11373
11522
  '''
11374
11523
  result = self._values.get("healthy_grpc_codes")
11375
11524
  return typing.cast(typing.Optional[builtins.str], result)
@@ -11391,7 +11540,7 @@ class HealthCheck:
11391
11540
 
11392
11541
  For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3.
11393
11542
 
11394
- :default: 5 for ALBs, 3 for NLBs
11543
+ :default: - 5 for ALBs, 3 for NLBs
11395
11544
  '''
11396
11545
  result = self._values.get("healthy_threshold_count")
11397
11546
  return typing.cast(typing.Optional[jsii.Number], result)
@@ -11402,7 +11551,7 @@ class HealthCheck:
11402
11551
 
11403
11552
  Must be 5 to 300 seconds
11404
11553
 
11405
- :default: 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
11554
+ :default: - 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
11406
11555
  '''
11407
11556
  result = self._values.get("interval")
11408
11557
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
@@ -11432,7 +11581,7 @@ class HealthCheck:
11432
11581
  The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP.
11433
11582
  The TLS, UDP, and TCP_UDP protocols are not supported for health checks.
11434
11583
 
11435
- :default: HTTP for ALBs, TCP for NLBs
11584
+ :default: - HTTP for ALBs, TCP for NLBs
11436
11585
  '''
11437
11586
  result = self._values.get("protocol")
11438
11587
  return typing.cast(typing.Optional["Protocol"], result)
@@ -11443,7 +11592,7 @@ class HealthCheck:
11443
11592
 
11444
11593
  Must be 2 to 120 seconds.
11445
11594
 
11446
- :default: 6 seconds if the protocol is HTTP, 5 seconds if protocol is ``GENEVE``, 30 seconds if target type is ``lambda``, 10 seconds for TCP, TLS, or HTTPS
11595
+ :default: - 6 seconds if the protocol is HTTP, 5 seconds if protocol is ``GENEVE``, 30 seconds if target type is ``lambda``, 10 seconds for TCP, TLS, or HTTPS
11447
11596
  '''
11448
11597
  result = self._values.get("timeout")
11449
11598
  return typing.cast(typing.Optional[_Duration_4839e8c3], result)
@@ -17617,6 +17766,7 @@ class NetworkLoadBalancerProps(BaseLoadBalancerProps):
17617
17766
  "cross_zone_enabled": "crossZoneEnabled",
17618
17767
  "deregistration_delay": "deregistrationDelay",
17619
17768
  "health_check": "healthCheck",
17769
+ "ip_address_type": "ipAddressType",
17620
17770
  "target_group_name": "targetGroupName",
17621
17771
  "target_type": "targetType",
17622
17772
  "vpc": "vpc",
@@ -17635,6 +17785,7 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
17635
17785
  cross_zone_enabled: typing.Optional[builtins.bool] = None,
17636
17786
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
17637
17787
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
17788
+ ip_address_type: typing.Optional["TargetGroupIpAddressType"] = None,
17638
17789
  target_group_name: typing.Optional[builtins.str] = None,
17639
17790
  target_type: typing.Optional["TargetType"] = None,
17640
17791
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -17650,6 +17801,7 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
17650
17801
  :param cross_zone_enabled: Indicates whether cross zone load balancing is enabled. Default: - use load balancer configuration
17651
17802
  :param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: 300
17652
17803
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
17804
+ :param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
17653
17805
  :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.
17654
17806
  :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.
17655
17807
  :param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
@@ -17660,45 +17812,39 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
17660
17812
  :param proxy_protocol_v2: Indicates whether Proxy Protocol version 2 is enabled. Default: false
17661
17813
  :param targets: The targets to add to this target group. Can be ``Instance``, ``IPAddress``, or any self-registering load balancing target. If you use either ``Instance`` or ``IPAddress`` as targets, all target must be of the same type. Default: - No targets.
17662
17814
 
17663
- :exampleMetadata: fixture=_generated
17815
+ :exampleMetadata: infused
17664
17816
 
17665
17817
  Example::
17666
17818
 
17667
- # The code below shows an example of how to instantiate this type.
17668
- # The values are placeholders you should change.
17669
- import aws_cdk as cdk
17670
- from aws_cdk import aws_ec2 as ec2
17671
- from aws_cdk import aws_elasticloadbalancingv2 as elbv2
17672
-
17673
- # network_load_balancer_target: elbv2.INetworkLoadBalancerTarget
17674
17819
  # vpc: ec2.Vpc
17675
17820
 
17676
- network_target_group_props = elbv2.NetworkTargetGroupProps(
17677
- port=123,
17678
17821
 
17679
- # the properties below are optional
17680
- connection_termination=False,
17681
- cross_zone_enabled=False,
17682
- deregistration_delay=cdk.Duration.minutes(30),
17683
- health_check=elbv2.HealthCheck(
17684
- enabled=False,
17685
- healthy_grpc_codes="healthyGrpcCodes",
17686
- healthy_http_codes="healthyHttpCodes",
17687
- healthy_threshold_count=123,
17688
- interval=cdk.Duration.minutes(30),
17689
- path="path",
17690
- port="port",
17691
- protocol=elbv2.Protocol.HTTP,
17692
- timeout=cdk.Duration.minutes(30),
17693
- unhealthy_threshold_count=123
17694
- ),
17695
- preserve_client_ip=False,
17696
- protocol=elbv2.Protocol.HTTP,
17697
- proxy_protocol_v2=False,
17698
- target_group_name="targetGroupName",
17699
- targets=[network_load_balancer_target],
17822
+ ipv4_application_target_group = elbv2.ApplicationTargetGroup(self, "IPv4ApplicationTargetGroup",
17823
+ vpc=vpc,
17824
+ port=80,
17700
17825
  target_type=elbv2.TargetType.INSTANCE,
17701
- vpc=vpc
17826
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
17827
+ )
17828
+
17829
+ ipv6_application_target_group = elbv2.ApplicationTargetGroup(self, "Ipv6ApplicationTargetGroup",
17830
+ vpc=vpc,
17831
+ port=80,
17832
+ target_type=elbv2.TargetType.INSTANCE,
17833
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
17834
+ )
17835
+
17836
+ ipv4_network_target_group = elbv2.NetworkTargetGroup(self, "IPv4NetworkTargetGroup",
17837
+ vpc=vpc,
17838
+ port=80,
17839
+ target_type=elbv2.TargetType.INSTANCE,
17840
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
17841
+ )
17842
+
17843
+ ipv6_network_target_group = elbv2.NetworkTargetGroup(self, "Ipv6NetworkTargetGroup",
17844
+ vpc=vpc,
17845
+ port=80,
17846
+ target_type=elbv2.TargetType.INSTANCE,
17847
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
17702
17848
  )
17703
17849
  '''
17704
17850
  if isinstance(health_check, dict):
@@ -17708,6 +17854,7 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
17708
17854
  check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
17709
17855
  check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
17710
17856
  check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
17857
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
17711
17858
  check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
17712
17859
  check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
17713
17860
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
@@ -17726,6 +17873,8 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
17726
17873
  self._values["deregistration_delay"] = deregistration_delay
17727
17874
  if health_check is not None:
17728
17875
  self._values["health_check"] = health_check
17876
+ if ip_address_type is not None:
17877
+ self._values["ip_address_type"] = ip_address_type
17729
17878
  if target_group_name is not None:
17730
17879
  self._values["target_group_name"] = target_group_name
17731
17880
  if target_type is not None:
@@ -17776,6 +17925,15 @@ class NetworkTargetGroupProps(BaseTargetGroupProps):
17776
17925
  result = self._values.get("health_check")
17777
17926
  return typing.cast(typing.Optional[HealthCheck], result)
17778
17927
 
17928
+ @builtins.property
17929
+ def ip_address_type(self) -> typing.Optional["TargetGroupIpAddressType"]:
17930
+ '''The type of IP addresses of the targets registered with the target group.
17931
+
17932
+ :default: undefined - ELB defaults to IPv4
17933
+ '''
17934
+ result = self._values.get("ip_address_type")
17935
+ return typing.cast(typing.Optional["TargetGroupIpAddressType"], result)
17936
+
17779
17937
  @builtins.property
17780
17938
  def target_group_name(self) -> typing.Optional[builtins.str]:
17781
17939
  '''The name of the target group.
@@ -18703,14 +18861,14 @@ class TargetGroupBase(
18703
18861
  '''Set/replace the target group's health check.
18704
18862
 
18705
18863
  :param enabled: Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance or ip, health checks are always enabled and cannot be disabled. Default: - Determined automatically.
18706
- :param healthy_grpc_codes: GRPC code to use when checking for a successful response from a target. You can specify values between 0 and 99. You can specify multiple values (for example, "0,1") or a range of values (for example, "0-5"). Default: - 12
18864
+ :param healthy_grpc_codes: GRPC code to use when checking for a successful response from a target. You can specify values between 0 and 99. You can specify multiple values (for example, "0,1") or a range of values (for example, "0-5"). Default: 12
18707
18865
  :param healthy_http_codes: HTTP code to use when checking for a successful response from a target. For Application Load Balancers, you can specify values between 200 and 499, and the default value is 200. You can specify multiple values (for example, "200,202") or a range of values (for example, "200-299").
18708
- :param healthy_threshold_count: The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. Default: 5 for ALBs, 3 for NLBs
18709
- :param interval: The approximate number of seconds between health checks for an individual target. Must be 5 to 300 seconds Default: 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
18866
+ :param healthy_threshold_count: The number of consecutive health checks successes required before considering an unhealthy target healthy. For Application Load Balancers, the default is 5. For Network Load Balancers, the default is 3. Default: - 5 for ALBs, 3 for NLBs
18867
+ :param interval: The approximate number of seconds between health checks for an individual target. Must be 5 to 300 seconds Default: - 10 seconds if protocol is ``GENEVE``, 35 seconds if target type is ``lambda``, else 30 seconds
18710
18868
  :param path: The ping path destination where Elastic Load Balancing sends health check requests. Default: /
18711
18869
  :param port: The port that the load balancer uses when performing health checks on the targets. Default: 'traffic-port'
18712
- :param protocol: The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks. Default: HTTP for ALBs, TCP for NLBs
18713
- :param timeout: The amount of time, in seconds, during which no response from a target means a failed health check. Must be 2 to 120 seconds. Default: 6 seconds if the protocol is HTTP, 5 seconds if protocol is ``GENEVE``, 30 seconds if target type is ``lambda``, 10 seconds for TCP, TLS, or HTTPS
18870
+ :param protocol: The protocol the load balancer uses when performing health checks on targets. The TCP protocol is supported for health checks only if the protocol of the target group is TCP, TLS, UDP, or TCP_UDP. The TLS, UDP, and TCP_UDP protocols are not supported for health checks. Default: - HTTP for ALBs, TCP for NLBs
18871
+ :param timeout: The amount of time, in seconds, during which no response from a target means a failed health check. Must be 2 to 120 seconds. Default: - 6 seconds if the protocol is HTTP, 5 seconds if protocol is ``GENEVE``, 30 seconds if target type is ``lambda``, 10 seconds for TCP, TLS, or HTTPS
18714
18872
  :param unhealthy_threshold_count: The number of consecutive health check failures required before considering a target unhealthy. For Application Load Balancers, the default is 2. For Network Load Balancers, this value must be the same as the healthy threshold count. Default: 2
18715
18873
  '''
18716
18874
  health_check = HealthCheck(
@@ -18862,6 +19020,52 @@ class _TargetGroupBaseProxy(TargetGroupBase):
18862
19020
  typing.cast(typing.Any, TargetGroupBase).__jsii_proxy_class__ = lambda : _TargetGroupBaseProxy
18863
19021
 
18864
19022
 
19023
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupIpAddressType")
19024
+ class TargetGroupIpAddressType(enum.Enum):
19025
+ '''The IP address type of targets registered with a target group.
19026
+
19027
+ :exampleMetadata: infused
19028
+
19029
+ Example::
19030
+
19031
+ # vpc: ec2.Vpc
19032
+
19033
+
19034
+ ipv4_application_target_group = elbv2.ApplicationTargetGroup(self, "IPv4ApplicationTargetGroup",
19035
+ vpc=vpc,
19036
+ port=80,
19037
+ target_type=elbv2.TargetType.INSTANCE,
19038
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
19039
+ )
19040
+
19041
+ ipv6_application_target_group = elbv2.ApplicationTargetGroup(self, "Ipv6ApplicationTargetGroup",
19042
+ vpc=vpc,
19043
+ port=80,
19044
+ target_type=elbv2.TargetType.INSTANCE,
19045
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
19046
+ )
19047
+
19048
+ ipv4_network_target_group = elbv2.NetworkTargetGroup(self, "IPv4NetworkTargetGroup",
19049
+ vpc=vpc,
19050
+ port=80,
19051
+ target_type=elbv2.TargetType.INSTANCE,
19052
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV4
19053
+ )
19054
+
19055
+ ipv6_network_target_group = elbv2.NetworkTargetGroup(self, "Ipv6NetworkTargetGroup",
19056
+ vpc=vpc,
19057
+ port=80,
19058
+ target_type=elbv2.TargetType.INSTANCE,
19059
+ ip_address_type=elbv2.TargetGroupIpAddressType.IPV6
19060
+ )
19061
+ '''
19062
+
19063
+ IPV4 = "IPV4"
19064
+ '''IPv4 addresses.'''
19065
+ IPV6 = "IPV6"
19066
+ '''IPv6 addresses.'''
19067
+
19068
+
18865
19069
  @jsii.enum(
18866
19070
  jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TargetGroupLoadBalancingAlgorithmType"
18867
19071
  )
@@ -18901,11 +19105,15 @@ class TargetType(enum.Enum):
18901
19105
  # vpc: ec2.Vpc
18902
19106
 
18903
19107
 
18904
- # Target group with slow start mode enabled
18905
19108
  tg = elbv2.ApplicationTargetGroup(self, "TG",
18906
- target_type=elbv2.TargetType.INSTANCE,
18907
- slow_start=Duration.seconds(60),
18908
- port=80,
19109
+ target_type=elbv2.TargetType.IP,
19110
+ port=50051,
19111
+ protocol=elbv2.ApplicationProtocol.HTTP,
19112
+ protocol_version=elbv2.ApplicationProtocolVersion.GRPC,
19113
+ health_check=elbv2.HealthCheck(
19114
+ enabled=True,
19115
+ healthy_grpc_codes="0-99"
19116
+ ),
18909
19117
  vpc=vpc
18910
19118
  )
18911
19119
  '''
@@ -20889,6 +21097,7 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
20889
21097
  "cross_zone_enabled": "crossZoneEnabled",
20890
21098
  "deregistration_delay": "deregistrationDelay",
20891
21099
  "health_check": "healthCheck",
21100
+ "ip_address_type": "ipAddressType",
20892
21101
  "target_group_name": "targetGroupName",
20893
21102
  "target_type": "targetType",
20894
21103
  "vpc": "vpc",
@@ -20910,6 +21119,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
20910
21119
  cross_zone_enabled: typing.Optional[builtins.bool] = None,
20911
21120
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
20912
21121
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
21122
+ ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
20913
21123
  target_group_name: typing.Optional[builtins.str] = None,
20914
21124
  target_type: typing.Optional[TargetType] = None,
20915
21125
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -20928,6 +21138,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
20928
21138
  :param cross_zone_enabled: Indicates whether cross zone load balancing is enabled. Default: - use load balancer configuration
20929
21139
  :param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: 300
20930
21140
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
21141
+ :param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
20931
21142
  :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.
20932
21143
  :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.
20933
21144
  :param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
@@ -20948,11 +21159,15 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
20948
21159
  # vpc: ec2.Vpc
20949
21160
 
20950
21161
 
20951
- # Target group with slow start mode enabled
20952
21162
  tg = elbv2.ApplicationTargetGroup(self, "TG",
20953
- target_type=elbv2.TargetType.INSTANCE,
20954
- slow_start=Duration.seconds(60),
20955
- port=80,
21163
+ target_type=elbv2.TargetType.IP,
21164
+ port=50051,
21165
+ protocol=elbv2.ApplicationProtocol.HTTP,
21166
+ protocol_version=elbv2.ApplicationProtocolVersion.GRPC,
21167
+ health_check=elbv2.HealthCheck(
21168
+ enabled=True,
21169
+ healthy_grpc_codes="0-99"
21170
+ ),
20956
21171
  vpc=vpc
20957
21172
  )
20958
21173
  '''
@@ -20963,6 +21178,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
20963
21178
  check_type(argname="argument cross_zone_enabled", value=cross_zone_enabled, expected_type=type_hints["cross_zone_enabled"])
20964
21179
  check_type(argname="argument deregistration_delay", value=deregistration_delay, expected_type=type_hints["deregistration_delay"])
20965
21180
  check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
21181
+ check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
20966
21182
  check_type(argname="argument target_group_name", value=target_group_name, expected_type=type_hints["target_group_name"])
20967
21183
  check_type(argname="argument target_type", value=target_type, expected_type=type_hints["target_type"])
20968
21184
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
@@ -20982,6 +21198,8 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
20982
21198
  self._values["deregistration_delay"] = deregistration_delay
20983
21199
  if health_check is not None:
20984
21200
  self._values["health_check"] = health_check
21201
+ if ip_address_type is not None:
21202
+ self._values["ip_address_type"] = ip_address_type
20985
21203
  if target_group_name is not None:
20986
21204
  self._values["target_group_name"] = target_group_name
20987
21205
  if target_type is not None:
@@ -21040,6 +21258,15 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
21040
21258
  result = self._values.get("health_check")
21041
21259
  return typing.cast(typing.Optional[HealthCheck], result)
21042
21260
 
21261
+ @builtins.property
21262
+ def ip_address_type(self) -> typing.Optional[TargetGroupIpAddressType]:
21263
+ '''The type of IP addresses of the targets registered with the target group.
21264
+
21265
+ :default: undefined - ELB defaults to IPv4
21266
+ '''
21267
+ result = self._values.get("ip_address_type")
21268
+ return typing.cast(typing.Optional[TargetGroupIpAddressType], result)
21269
+
21043
21270
  @builtins.property
21044
21271
  def target_group_name(self) -> typing.Optional[builtins.str]:
21045
21272
  '''The name of the target group.
@@ -22271,6 +22498,7 @@ class NetworkTargetGroup(
22271
22498
  cross_zone_enabled: typing.Optional[builtins.bool] = None,
22272
22499
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
22273
22500
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
22501
+ ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
22274
22502
  target_group_name: typing.Optional[builtins.str] = None,
22275
22503
  target_type: typing.Optional[TargetType] = None,
22276
22504
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -22287,6 +22515,7 @@ class NetworkTargetGroup(
22287
22515
  :param cross_zone_enabled: Indicates whether cross zone load balancing is enabled. Default: - use load balancer configuration
22288
22516
  :param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: 300
22289
22517
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
22518
+ :param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
22290
22519
  :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.
22291
22520
  :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.
22292
22521
  :param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
@@ -22305,6 +22534,7 @@ class NetworkTargetGroup(
22305
22534
  cross_zone_enabled=cross_zone_enabled,
22306
22535
  deregistration_delay=deregistration_delay,
22307
22536
  health_check=health_check,
22537
+ ip_address_type=ip_address_type,
22308
22538
  target_group_name=target_group_name,
22309
22539
  target_type=target_type,
22310
22540
  vpc=vpc,
@@ -24230,6 +24460,7 @@ class ApplicationTargetGroup(
24230
24460
  cross_zone_enabled: typing.Optional[builtins.bool] = None,
24231
24461
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
24232
24462
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
24463
+ ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
24233
24464
  target_group_name: typing.Optional[builtins.str] = None,
24234
24465
  target_type: typing.Optional[TargetType] = None,
24235
24466
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -24249,6 +24480,7 @@ class ApplicationTargetGroup(
24249
24480
  :param cross_zone_enabled: Indicates whether cross zone load balancing is enabled. Default: - use load balancer configuration
24250
24481
  :param deregistration_delay: The amount of time for Elastic Load Balancing to wait before deregistering a target. The range is 0-3600 seconds. Default: 300
24251
24482
  :param health_check: Health check configuration. Default: - The default value for each property in this configuration varies depending on the target.
24483
+ :param ip_address_type: The type of IP addresses of the targets registered with the target group. Default: undefined - ELB defaults to IPv4
24252
24484
  :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.
24253
24485
  :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.
24254
24486
  :param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
@@ -24270,6 +24502,7 @@ class ApplicationTargetGroup(
24270
24502
  cross_zone_enabled=cross_zone_enabled,
24271
24503
  deregistration_delay=deregistration_delay,
24272
24504
  health_check=health_check,
24505
+ ip_address_type=ip_address_type,
24273
24506
  target_group_name=target_group_name,
24274
24507
  target_type=target_type,
24275
24508
  vpc=vpc,
@@ -24942,6 +25175,7 @@ __all__ = [
24942
25175
  "SslPolicy",
24943
25176
  "TargetGroupAttributes",
24944
25177
  "TargetGroupBase",
25178
+ "TargetGroupIpAddressType",
24945
25179
  "TargetGroupLoadBalancingAlgorithmType",
24946
25180
  "TargetType",
24947
25181
  "TrustStore",
@@ -25180,6 +25414,7 @@ def _typecheckingstub__b5e7f5d87f70cb030d7ac44f4637a5d73814a6c8b1c1bff9adf19ede8
25180
25414
  cross_zone_enabled: typing.Optional[builtins.bool] = None,
25181
25415
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
25182
25416
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
25417
+ ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
25183
25418
  target_group_name: typing.Optional[builtins.str] = None,
25184
25419
  target_type: typing.Optional[TargetType] = None,
25185
25420
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -25671,6 +25906,7 @@ def _typecheckingstub__907e1e3e88136a6a7bdcdac293563447ed893c77b9f7b1e7154fb1749
25671
25906
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
25672
25907
  ip_address_type: typing.Optional[builtins.str] = None,
25673
25908
  load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.LoadBalancerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
25909
+ minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.MinimumLoadBalancerCapacityProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
25674
25910
  name: typing.Optional[builtins.str] = None,
25675
25911
  scheme: typing.Optional[builtins.str] = None,
25676
25912
  security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -25718,6 +25954,12 @@ def _typecheckingstub__8b18943454864026c64dd9c2bc7fdaf60ac5114bf771f7304a82e9bdf
25718
25954
  """Type checking stubs"""
25719
25955
  pass
25720
25956
 
25957
+ def _typecheckingstub__102164e78a5cf61e67908e476a27971c19e5604c38d90ddca6b4b346581d0209(
25958
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnLoadBalancer.MinimumLoadBalancerCapacityProperty]],
25959
+ ) -> None:
25960
+ """Type checking stubs"""
25961
+ pass
25962
+
25721
25963
  def _typecheckingstub__153ca4a32dcbf43c1076bdc45b59a5463ab49120f83591bcbf13f84ce3fffa0e(
25722
25964
  value: typing.Optional[builtins.str],
25723
25965
  ) -> None:
@@ -25768,6 +26010,13 @@ def _typecheckingstub__981f45ac63ed8e62237b89c4cadf7d8f1c042e4534c384c148e58bad2
25768
26010
  """Type checking stubs"""
25769
26011
  pass
25770
26012
 
26013
+ def _typecheckingstub__bd0d2d4a891c02fabab09ae876b5f738a440bf3402f1db5dc28e3cdd47b733bc(
26014
+ *,
26015
+ capacity_units: jsii.Number,
26016
+ ) -> None:
26017
+ """Type checking stubs"""
26018
+ pass
26019
+
25771
26020
  def _typecheckingstub__5362b7e1b57cc75205d80d2c4a4798301f16a110c6add8b836265fc95f89ec11(
25772
26021
  *,
25773
26022
  subnet_id: builtins.str,
@@ -25785,6 +26034,7 @@ def _typecheckingstub__6b1eb30cea756dc45f625ec82ab8cba6ea31d24595a925a4aabceb7e6
25785
26034
  enforce_security_group_inbound_rules_on_private_link_traffic: typing.Optional[builtins.str] = None,
25786
26035
  ip_address_type: typing.Optional[builtins.str] = None,
25787
26036
  load_balancer_attributes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.LoadBalancerAttributeProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
26037
+ minimum_load_balancer_capacity: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLoadBalancer.MinimumLoadBalancerCapacityProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
25788
26038
  name: typing.Optional[builtins.str] = None,
25789
26039
  scheme: typing.Optional[builtins.str] = None,
25790
26040
  security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
@@ -26597,6 +26847,7 @@ def _typecheckingstub__5f1086cffe813b24d7b8ff7c124bffc37ca7e22afda9f6af7ad869d92
26597
26847
  cross_zone_enabled: typing.Optional[builtins.bool] = None,
26598
26848
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
26599
26849
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
26850
+ ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
26600
26851
  target_group_name: typing.Optional[builtins.str] = None,
26601
26852
  target_type: typing.Optional[TargetType] = None,
26602
26853
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -26854,6 +27105,7 @@ def _typecheckingstub__0fbf37aa0a91cb985ce7a336a6188364cc38400538c1653e53453287c
26854
27105
  cross_zone_enabled: typing.Optional[builtins.bool] = None,
26855
27106
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
26856
27107
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
27108
+ ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
26857
27109
  target_group_name: typing.Optional[builtins.str] = None,
26858
27110
  target_type: typing.Optional[TargetType] = None,
26859
27111
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -27081,6 +27333,7 @@ def _typecheckingstub__eebfbf2a20edd0baf4d455f02dd34d748c5eccfa9a5268e5e2ebec245
27081
27333
  cross_zone_enabled: typing.Optional[builtins.bool] = None,
27082
27334
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
27083
27335
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
27336
+ ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
27084
27337
  target_group_name: typing.Optional[builtins.str] = None,
27085
27338
  target_type: typing.Optional[TargetType] = None,
27086
27339
  vpc: typing.Optional[_IVpc_f30d5663] = None,
@@ -27354,6 +27607,7 @@ def _typecheckingstub__e179515c9d6138007cc1b74835b75f10a179c1f5ef977cbe4188c778c
27354
27607
  cross_zone_enabled: typing.Optional[builtins.bool] = None,
27355
27608
  deregistration_delay: typing.Optional[_Duration_4839e8c3] = None,
27356
27609
  health_check: typing.Optional[typing.Union[HealthCheck, typing.Dict[builtins.str, typing.Any]]] = None,
27610
+ ip_address_type: typing.Optional[TargetGroupIpAddressType] = None,
27357
27611
  target_group_name: typing.Optional[builtins.str] = None,
27358
27612
  target_type: typing.Optional[TargetType] = None,
27359
27613
  vpc: typing.Optional[_IVpc_f30d5663] = None,