aws-cdk-lib 2.194.0__py3-none-any.whl → 2.196.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 (108) hide show
  1. aws_cdk/__init__.py +435 -20
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.194.0.jsii.tgz → aws-cdk-lib@2.196.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +1 -1
  5. aws_cdk/aws_amazonmq/__init__.py +2 -2
  6. aws_cdk/aws_apigateway/__init__.py +208 -70
  7. aws_cdk/aws_apigatewayv2/__init__.py +155 -24
  8. aws_cdk/aws_appconfig/__init__.py +24 -0
  9. aws_cdk/aws_applicationautoscaling/__init__.py +6 -0
  10. aws_cdk/aws_appmesh/__init__.py +42 -0
  11. aws_cdk/aws_appsync/__init__.py +92 -20
  12. aws_cdk/aws_autoscaling/__init__.py +24 -0
  13. aws_cdk/aws_backup/__init__.py +53 -14
  14. aws_cdk/aws_batch/__init__.py +72 -0
  15. aws_cdk/aws_bedrock/__init__.py +1201 -18
  16. aws_cdk/aws_budgets/__init__.py +569 -0
  17. aws_cdk/aws_certificatemanager/__init__.py +21 -0
  18. aws_cdk/aws_chatbot/__init__.py +6 -0
  19. aws_cdk/aws_cloudfront/__init__.py +277 -120
  20. aws_cdk/aws_cloudfront/experimental/__init__.py +6 -0
  21. aws_cdk/aws_cloudtrail/__init__.py +6 -0
  22. aws_cdk/aws_cloudwatch/__init__.py +18 -0
  23. aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
  24. aws_cdk/aws_codebuild/__init__.py +48 -0
  25. aws_cdk/aws_codecommit/__init__.py +6 -0
  26. aws_cdk/aws_codedeploy/__init__.py +63 -0
  27. aws_cdk/aws_codeguruprofiler/__init__.py +6 -0
  28. aws_cdk/aws_codepipeline/__init__.py +114 -0
  29. aws_cdk/aws_codepipeline_actions/__init__.py +4 -4
  30. aws_cdk/aws_codestarnotifications/__init__.py +6 -0
  31. aws_cdk/aws_cognito/__init__.py +215 -10
  32. aws_cdk/aws_cognito_identitypool/__init__.py +6 -0
  33. aws_cdk/aws_config/__init__.py +36 -0
  34. aws_cdk/aws_datazone/__init__.py +1013 -100
  35. aws_cdk/aws_docdb/__init__.py +27 -3
  36. aws_cdk/aws_dsql/__init__.py +29 -12
  37. aws_cdk/aws_dynamodb/__init__.py +25 -11
  38. aws_cdk/aws_ec2/__init__.py +408 -23
  39. aws_cdk/aws_ecr/__init__.py +22 -14
  40. aws_cdk/aws_ecr_assets/__init__.py +6 -0
  41. aws_cdk/aws_ecs/__init__.py +116 -34
  42. aws_cdk/aws_ecs_patterns/__init__.py +58 -0
  43. aws_cdk/aws_efs/__init__.py +12 -0
  44. aws_cdk/aws_eks/__init__.py +42 -0
  45. aws_cdk/aws_elasticloadbalancing/__init__.py +6 -0
  46. aws_cdk/aws_elasticloadbalancingv2/__init__.py +112 -9
  47. aws_cdk/aws_elasticsearch/__init__.py +9 -0
  48. aws_cdk/aws_events/__init__.py +36 -0
  49. aws_cdk/aws_events_targets/__init__.py +10 -10
  50. aws_cdk/aws_fsx/__init__.py +8 -3
  51. aws_cdk/aws_globalaccelerator/__init__.py +18 -0
  52. aws_cdk/aws_iam/__init__.py +66 -0
  53. aws_cdk/aws_imagebuilder/__init__.py +181 -26
  54. aws_cdk/aws_inspector/__init__.py +6 -0
  55. aws_cdk/aws_kinesis/__init__.py +19 -1
  56. aws_cdk/aws_kinesisanalytics/__init__.py +7 -7
  57. aws_cdk/aws_kinesisanalyticsv2/__init__.py +7 -7
  58. aws_cdk/aws_kinesisfirehose/__init__.py +6 -0
  59. aws_cdk/aws_kms/__init__.py +16 -4
  60. aws_cdk/aws_lambda/__init__.py +76 -6
  61. aws_cdk/aws_lambda_nodejs/__init__.py +6 -0
  62. aws_cdk/aws_logs/__init__.py +155 -12
  63. aws_cdk/aws_medialive/__init__.py +4 -6
  64. aws_cdk/aws_mediatailor/__init__.py +115 -0
  65. aws_cdk/aws_oam/__init__.py +43 -10
  66. aws_cdk/aws_opensearchservice/__init__.py +12 -0
  67. aws_cdk/aws_qbusiness/__init__.py +2 -2
  68. aws_cdk/aws_quicksight/__init__.py +22 -22
  69. aws_cdk/aws_rds/__init__.py +347 -36
  70. aws_cdk/aws_redshiftserverless/__init__.py +7 -7
  71. aws_cdk/aws_route53/__init__.py +735 -33
  72. aws_cdk/aws_route53_targets/__init__.py +62 -1
  73. aws_cdk/aws_route53profiles/__init__.py +1 -1
  74. aws_cdk/aws_s3/__init__.py +37 -10
  75. aws_cdk/aws_s3_deployment/__init__.py +6 -0
  76. aws_cdk/aws_s3_notifications/__init__.py +5 -5
  77. aws_cdk/aws_sagemaker/__init__.py +452 -8
  78. aws_cdk/aws_scheduler/__init__.py +12 -0
  79. aws_cdk/aws_secretsmanager/__init__.py +24 -0
  80. aws_cdk/aws_servicecatalog/__init__.py +24 -0
  81. aws_cdk/aws_servicediscovery/__init__.py +48 -0
  82. aws_cdk/aws_ses/__init__.py +133 -33
  83. aws_cdk/aws_signer/__init__.py +6 -0
  84. aws_cdk/aws_sns/__init__.py +18 -0
  85. aws_cdk/aws_sns_subscriptions/__init__.py +6 -0
  86. aws_cdk/aws_sqs/__init__.py +12 -0
  87. aws_cdk/aws_ssm/__init__.py +12 -0
  88. aws_cdk/aws_ssmcontacts/__init__.py +53 -2
  89. aws_cdk/aws_ssmguiconnect/__init__.py +544 -0
  90. aws_cdk/aws_stepfunctions/__init__.py +153 -7
  91. aws_cdk/aws_stepfunctions_tasks/__init__.py +46 -10
  92. aws_cdk/aws_synthetics/__init__.py +32 -0
  93. aws_cdk/aws_verifiedpermissions/__init__.py +168 -3
  94. aws_cdk/aws_vpclattice/__init__.py +3 -1
  95. aws_cdk/aws_wisdom/__init__.py +6 -4
  96. aws_cdk/cloud_assembly_schema/__init__.py +7 -1
  97. aws_cdk/custom_resources/__init__.py +18 -0
  98. aws_cdk/cx_api/__init__.py +33 -0
  99. aws_cdk/lambda_layer_awscli/__init__.py +6 -0
  100. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
  101. aws_cdk/pipelines/__init__.py +10 -10
  102. aws_cdk/triggers/__init__.py +6 -0
  103. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/METADATA +84 -6
  104. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/RECORD +108 -107
  105. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/LICENSE +0 -0
  106. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/NOTICE +0 -0
  107. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/WHEEL +0 -0
  108. {aws_cdk_lib-2.194.0.dist-info → aws_cdk_lib-2.196.0.dist-info}/top_level.txt +0 -0
@@ -1143,6 +1143,20 @@ network_load_balanced_fargate_service = ecs_patterns.NetworkLoadBalancedFargateS
1143
1143
  )
1144
1144
  ```
1145
1145
 
1146
+ ### Set healthCheckGracePeriod for QueueProcessingFargateService
1147
+
1148
+ ```python
1149
+ # vpc: ec2.Vpc
1150
+
1151
+ queue_processing_fargate_service = ecs_patterns.QueueProcessingFargateService(self, "Service",
1152
+ vpc=vpc,
1153
+ memory_limit_mi_b=512,
1154
+ image=ecs.ContainerImage.from_registry("test"),
1155
+ min_healthy_percent=100,
1156
+ health_check_grace_period=Duration.seconds(120)
1157
+ )
1158
+ ```
1159
+
1146
1160
  ### Set securityGroups for NetworkLoadBalancedFargateService
1147
1161
 
1148
1162
  ```python
@@ -8560,6 +8574,12 @@ class ApplicationLoadBalancedFargateService(
8560
8574
 
8561
8575
  jsii.create(self.__class__, self, [scope, id, props])
8562
8576
 
8577
+ @jsii.python.classproperty
8578
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
8579
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
8580
+ '''Uniquely identifies this class.'''
8581
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
8582
+
8563
8583
  @builtins.property
8564
8584
  @jsii.member(jsii_name="assignPublicIp")
8565
8585
  def assign_public_ip(self) -> builtins.bool:
@@ -10064,6 +10084,12 @@ class ApplicationMultipleTargetGroupsFargateService(
10064
10084
 
10065
10085
  jsii.create(self.__class__, self, [scope, id, props])
10066
10086
 
10087
+ @jsii.python.classproperty
10088
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
10089
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
10090
+ '''Uniquely identifies this class.'''
10091
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
10092
+
10067
10093
  @builtins.property
10068
10094
  @jsii.member(jsii_name="assignPublicIp")
10069
10095
  def assign_public_ip(self) -> builtins.bool:
@@ -11428,6 +11454,12 @@ class NetworkLoadBalancedFargateService(
11428
11454
 
11429
11455
  jsii.create(self.__class__, self, [scope, id, props])
11430
11456
 
11457
+ @jsii.python.classproperty
11458
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
11459
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
11460
+ '''Uniquely identifies this class.'''
11461
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
11462
+
11431
11463
  @builtins.property
11432
11464
  @jsii.member(jsii_name="assignPublicIp")
11433
11465
  def assign_public_ip(self) -> builtins.bool:
@@ -12731,6 +12763,12 @@ class NetworkMultipleTargetGroupsFargateService(
12731
12763
 
12732
12764
  jsii.create(self.__class__, self, [scope, id, props])
12733
12765
 
12766
+ @jsii.python.classproperty
12767
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
12768
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
12769
+ '''Uniquely identifies this class.'''
12770
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
12771
+
12734
12772
  @builtins.property
12735
12773
  @jsii.member(jsii_name="assignPublicIp")
12736
12774
  def assign_public_ip(self) -> builtins.bool:
@@ -14068,6 +14106,7 @@ class QueueProcessingFargateService(
14068
14106
  assign_public_ip: typing.Optional[builtins.bool] = None,
14069
14107
  container_name: typing.Optional[builtins.str] = None,
14070
14108
  health_check: typing.Optional[typing.Union[_HealthCheck_6459d04f, typing.Dict[builtins.str, typing.Any]]] = None,
14109
+ health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
14071
14110
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
14072
14111
  task_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
14073
14112
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[_CapacityProviderStrategy_8d7b6657, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -14112,6 +14151,7 @@ class QueueProcessingFargateService(
14112
14151
  :param assign_public_ip: Specifies whether the task's elastic network interface receives a public IP address. If true, each task will receive a public IP address. Default: false
14113
14152
  :param container_name: Optional name for the container added. This name is not used when ``taskDefinition`` is provided. Default: - QueueProcessingContainer
14114
14153
  :param health_check: The health check command and associated configuration parameters for the container. Default: - Health check configuration from container.
14154
+ :param health_check_grace_period: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
14115
14155
  :param security_groups: The security groups to associate with the service. If you do not specify a security group, a new security group is created. Default: - A new security group is created.
14116
14156
  :param task_subnets: The subnets to associate with the service. Default: - Public subnets if ``assignPublicIp`` is set, otherwise the first available one of Private, Isolated, Public, in that order.
14117
14157
  :param capacity_provider_strategies: A list of Capacity Provider strategies used to place a service. Default: - undefined
@@ -14157,6 +14197,7 @@ class QueueProcessingFargateService(
14157
14197
  assign_public_ip=assign_public_ip,
14158
14198
  container_name=container_name,
14159
14199
  health_check=health_check,
14200
+ health_check_grace_period=health_check_grace_period,
14160
14201
  security_groups=security_groups,
14161
14202
  task_subnets=task_subnets,
14162
14203
  capacity_provider_strategies=capacity_provider_strategies,
@@ -14251,6 +14292,7 @@ class QueueProcessingFargateService(
14251
14292
  "assign_public_ip": "assignPublicIp",
14252
14293
  "container_name": "containerName",
14253
14294
  "health_check": "healthCheck",
14295
+ "health_check_grace_period": "healthCheckGracePeriod",
14254
14296
  "security_groups": "securityGroups",
14255
14297
  "task_subnets": "taskSubnets",
14256
14298
  },
@@ -14299,6 +14341,7 @@ class QueueProcessingFargateServiceProps(
14299
14341
  assign_public_ip: typing.Optional[builtins.bool] = None,
14300
14342
  container_name: typing.Optional[builtins.str] = None,
14301
14343
  health_check: typing.Optional[typing.Union[_HealthCheck_6459d04f, typing.Dict[builtins.str, typing.Any]]] = None,
14344
+ health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
14302
14345
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
14303
14346
  task_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
14304
14347
  ) -> None:
@@ -14341,6 +14384,7 @@ class QueueProcessingFargateServiceProps(
14341
14384
  :param assign_public_ip: Specifies whether the task's elastic network interface receives a public IP address. If true, each task will receive a public IP address. Default: false
14342
14385
  :param container_name: Optional name for the container added. This name is not used when ``taskDefinition`` is provided. Default: - QueueProcessingContainer
14343
14386
  :param health_check: The health check command and associated configuration parameters for the container. Default: - Health check configuration from container.
14387
+ :param health_check_grace_period: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started. Default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
14344
14388
  :param security_groups: The security groups to associate with the service. If you do not specify a security group, a new security group is created. Default: - A new security group is created.
14345
14389
  :param task_subnets: The subnets to associate with the service. Default: - Public subnets if ``assignPublicIp`` is set, otherwise the first available one of Private, Isolated, Public, in that order.
14346
14390
 
@@ -14416,6 +14460,7 @@ class QueueProcessingFargateServiceProps(
14416
14460
  check_type(argname="argument assign_public_ip", value=assign_public_ip, expected_type=type_hints["assign_public_ip"])
14417
14461
  check_type(argname="argument container_name", value=container_name, expected_type=type_hints["container_name"])
14418
14462
  check_type(argname="argument health_check", value=health_check, expected_type=type_hints["health_check"])
14463
+ check_type(argname="argument health_check_grace_period", value=health_check_grace_period, expected_type=type_hints["health_check_grace_period"])
14419
14464
  check_type(argname="argument security_groups", value=security_groups, expected_type=type_hints["security_groups"])
14420
14465
  check_type(argname="argument task_subnets", value=task_subnets, expected_type=type_hints["task_subnets"])
14421
14466
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -14493,6 +14538,8 @@ class QueueProcessingFargateServiceProps(
14493
14538
  self._values["container_name"] = container_name
14494
14539
  if health_check is not None:
14495
14540
  self._values["health_check"] = health_check
14541
+ if health_check_grace_period is not None:
14542
+ self._values["health_check_grace_period"] = health_check_grace_period
14496
14543
  if security_groups is not None:
14497
14544
  self._values["security_groups"] = security_groups
14498
14545
  if task_subnets is not None:
@@ -14937,6 +14984,15 @@ class QueueProcessingFargateServiceProps(
14937
14984
  result = self._values.get("health_check")
14938
14985
  return typing.cast(typing.Optional[_HealthCheck_6459d04f], result)
14939
14986
 
14987
+ @builtins.property
14988
+ def health_check_grace_period(self) -> typing.Optional[_Duration_4839e8c3]:
14989
+ '''The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks after a task has first started.
14990
+
14991
+ :default: - defaults to 60 seconds if at least one load balancer is in-use and it is not already set
14992
+ '''
14993
+ result = self._values.get("health_check_grace_period")
14994
+ return typing.cast(typing.Optional[_Duration_4839e8c3], result)
14995
+
14940
14996
  @builtins.property
14941
14997
  def security_groups(self) -> typing.Optional[typing.List[_ISecurityGroup_acf8a799]]:
14942
14998
  '''The security groups to associate with the service.
@@ -17671,6 +17727,7 @@ def _typecheckingstub__f7f1cc7ffec4414918cb71e7371c364ad046987205ab7eb0cbe7ad6fc
17671
17727
  assign_public_ip: typing.Optional[builtins.bool] = None,
17672
17728
  container_name: typing.Optional[builtins.str] = None,
17673
17729
  health_check: typing.Optional[typing.Union[_HealthCheck_6459d04f, typing.Dict[builtins.str, typing.Any]]] = None,
17730
+ health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
17674
17731
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
17675
17732
  task_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
17676
17733
  capacity_provider_strategies: typing.Optional[typing.Sequence[typing.Union[_CapacityProviderStrategy_8d7b6657, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -17750,6 +17807,7 @@ def _typecheckingstub__9959b47db027250927e99f3cbc475109465e4e426a52383adb8d29f22
17750
17807
  assign_public_ip: typing.Optional[builtins.bool] = None,
17751
17808
  container_name: typing.Optional[builtins.str] = None,
17752
17809
  health_check: typing.Optional[typing.Union[_HealthCheck_6459d04f, typing.Dict[builtins.str, typing.Any]]] = None,
17810
+ health_check_grace_period: typing.Optional[_Duration_4839e8c3] = None,
17753
17811
  security_groups: typing.Optional[typing.Sequence[_ISecurityGroup_acf8a799]] = None,
17754
17812
  task_subnets: typing.Optional[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]] = None,
17755
17813
  ) -> None:
@@ -4562,6 +4562,12 @@ class AccessPoint(
4562
4562
  check_type(argname="argument access_point_id", value=access_point_id, expected_type=type_hints["access_point_id"])
4563
4563
  return typing.cast(IAccessPoint, jsii.sinvoke(cls, "fromAccessPointId", [scope, id, access_point_id]))
4564
4564
 
4565
+ @jsii.python.classproperty
4566
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
4567
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
4568
+ '''Uniquely identifies this class.'''
4569
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
4570
+
4565
4571
  @builtins.property
4566
4572
  @jsii.member(jsii_name="accessPointArn")
4567
4573
  def access_point_arn(self) -> builtins.str:
@@ -4831,6 +4837,12 @@ class FileSystem(
4831
4837
  '''The default port File System listens on.'''
4832
4838
  return typing.cast(jsii.Number, jsii.sget(cls, "DEFAULT_PORT"))
4833
4839
 
4840
+ @jsii.python.classproperty
4841
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
4842
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
4843
+ '''Uniquely identifies this class.'''
4844
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
4845
+
4834
4846
  @builtins.property
4835
4847
  @jsii.member(jsii_name="connections")
4836
4848
  def connections(self) -> _Connections_0f31fce8:
@@ -14893,6 +14893,12 @@ class KubernetesManifest(
14893
14893
 
14894
14894
  jsii.create(self.__class__, self, [scope, id, props])
14895
14895
 
14896
+ @jsii.python.classproperty
14897
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
14898
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
14899
+ '''Uniquely identifies this class.'''
14900
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
14901
+
14896
14902
  @jsii.python.classproperty
14897
14903
  @jsii.member(jsii_name="RESOURCE_TYPE")
14898
14904
  def RESOURCE_TYPE(cls) -> builtins.str:
@@ -16225,6 +16231,12 @@ class Nodegroup(
16225
16231
  check_type(argname="argument nodegroup_name", value=nodegroup_name, expected_type=type_hints["nodegroup_name"])
16226
16232
  return typing.cast(INodegroup, jsii.sinvoke(cls, "fromNodegroupName", [scope, id, nodegroup_name]))
16227
16233
 
16234
+ @jsii.python.classproperty
16235
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
16236
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
16237
+ '''Uniquely identifies this class.'''
16238
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
16239
+
16228
16240
  @builtins.property
16229
16241
  @jsii.member(jsii_name="cluster")
16230
16242
  def cluster(self) -> ICluster:
@@ -17334,6 +17346,12 @@ class OpenIdConnectProvider(
17334
17346
 
17335
17347
  jsii.create(self.__class__, self, [scope, id, props])
17336
17348
 
17349
+ @jsii.python.classproperty
17350
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
17351
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
17352
+ '''Uniquely identifies this class.'''
17353
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
17354
+
17337
17355
 
17338
17356
  @jsii.data_type(
17339
17357
  jsii_type="aws-cdk-lib.aws_eks.OpenIdConnectProviderProps",
@@ -18286,6 +18304,12 @@ class AccessEntry(
18286
18304
  check_type(argname="argument new_access_policies", value=new_access_policies, expected_type=type_hints["new_access_policies"])
18287
18305
  return typing.cast(None, jsii.invoke(self, "addAccessPolicies", [new_access_policies]))
18288
18306
 
18307
+ @jsii.python.classproperty
18308
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
18309
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
18310
+ '''Uniquely identifies this class.'''
18311
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
18312
+
18289
18313
  @builtins.property
18290
18314
  @jsii.member(jsii_name="accessEntryArn")
18291
18315
  def access_entry_arn(self) -> builtins.str:
@@ -18480,6 +18504,12 @@ class Addon(
18480
18504
 
18481
18505
  return typing.cast(IAddon, jsii.sinvoke(cls, "fromAddonAttributes", [scope, id, attrs]))
18482
18506
 
18507
+ @jsii.python.classproperty
18508
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
18509
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
18510
+ '''Uniquely identifies this class.'''
18511
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
18512
+
18483
18513
  @builtins.property
18484
18514
  @jsii.member(jsii_name="addonArn")
18485
18515
  def addon_arn(self) -> builtins.str:
@@ -19248,6 +19278,12 @@ class Cluster(
19248
19278
  check_type(argname="argument access_policies", value=access_policies, expected_type=type_hints["access_policies"])
19249
19279
  return typing.cast(None, jsii.invoke(self, "grantAccess", [id, principal, access_policies]))
19250
19280
 
19281
+ @jsii.python.classproperty
19282
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
19283
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
19284
+ '''Uniquely identifies this class.'''
19285
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
19286
+
19251
19287
  @builtins.property
19252
19288
  @jsii.member(jsii_name="adminRole")
19253
19289
  def admin_role(self) -> _Role_e8c6e11f:
@@ -20951,6 +20987,12 @@ class FargateCluster(
20951
20987
 
20952
20988
  jsii.create(self.__class__, self, [scope, id, props])
20953
20989
 
20990
+ @jsii.python.classproperty
20991
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
20992
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
20993
+ '''Uniquely identifies this class.'''
20994
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
20995
+
20954
20996
  @builtins.property
20955
20997
  @jsii.member(jsii_name="defaultProfile")
20956
20998
  def default_profile(self) -> FargateProfile:
@@ -2269,6 +2269,12 @@ class LoadBalancer(
2269
2269
  check_type(argname="argument target", value=target, expected_type=type_hints["target"])
2270
2270
  return typing.cast(None, jsii.invoke(self, "addTarget", [target]))
2271
2271
 
2272
+ @jsii.python.classproperty
2273
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
2274
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
2275
+ '''Uniquely identifies this class.'''
2276
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
2277
+
2272
2278
  @builtins.property
2273
2279
  @jsii.member(jsii_name="connections")
2274
2280
  def connections(self) -> _Connections_0f31fce8:
@@ -798,6 +798,30 @@ listener.add_targets("Targets",
798
798
 
799
799
  Only a single Lambda function can be added to a single listener rule.
800
800
 
801
+ ### Multi-Value Headers with Lambda Targets
802
+
803
+ When using a Lambda function as a target, you can enable [multi-value headers](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html#multi-value-headers) to allow the load balancer to send headers with multiple values:
804
+
805
+ ```python
806
+ import aws_cdk.aws_lambda as lambda_
807
+ import aws_cdk.aws_elasticloadbalancingv2_targets as targets
808
+
809
+ # vpc: ec2.Vpc
810
+ # lambda_function: lambda.Function
811
+
812
+
813
+ # Create a target group with multi-value headers enabled
814
+ target_group = elbv2.ApplicationTargetGroup(self, "LambdaTargetGroup",
815
+ vpc=vpc,
816
+ targets=[targets.LambdaTarget(lambda_function)],
817
+
818
+ # Enable multi-value headers
819
+ multi_value_headers_enabled=True
820
+ )
821
+ ```
822
+
823
+ When multi-value headers are enabled, the request and response headers exchanged between the load balancer and the Lambda function include headers with multiple values. If this option is disabled (the default) and the request contains a duplicate header field name, the load balancer uses the last value sent by the client.
824
+
801
825
  ## Using Application Load Balancer Targets
802
826
 
803
827
  To use a single application load balancer as a target for the network load balancer, use the integration class in the
@@ -3839,7 +3863,7 @@ class CfnListener(
3839
3863
  :param mutual_authentication: The mutual authentication configuration information.
3840
3864
  :param port: The port on which the load balancer is listening. You can't specify a port for a Gateway Load Balancer.
3841
3865
  :param protocol: The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can’t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You can't specify a protocol for a Gateway Load Balancer.
3842
- :param ssl_policy: [HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic. For more information, see `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies>`_ in the *Application Load Balancers Guide* and `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies>`_ in the *Network Load Balancers Guide* .
3866
+ :param ssl_policy: [HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. For more information, see `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/application/describe-ssl-policies.html>`_ in the *Application Load Balancers Guide* and `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/network/describe-ssl-policies.html>`_ in the *Network Load Balancers Guide* . Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic. To decrease the possibility of an interruption if your load balancer is handling a high volume of traffic, create an additional load balancer or request an LCU reservation.
3843
3867
  '''
3844
3868
  if __debug__:
3845
3869
  type_hints = typing.get_type_hints(_typecheckingstub__da6c6bab97eae93f0a1595d72a25ac890e7034cc701e7cf76b58f5c6a2170048)
@@ -5788,7 +5812,7 @@ class CfnListenerProps:
5788
5812
  :param mutual_authentication: The mutual authentication configuration information.
5789
5813
  :param port: The port on which the load balancer is listening. You can't specify a port for a Gateway Load Balancer.
5790
5814
  :param protocol: The protocol for connections from clients to the load balancer. For Application Load Balancers, the supported protocols are HTTP and HTTPS. For Network Load Balancers, the supported protocols are TCP, TLS, UDP, and TCP_UDP. You can’t specify the UDP or TCP_UDP protocol if dual-stack mode is enabled. You can't specify a protocol for a Gateway Load Balancer.
5791
- :param ssl_policy: [HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic. For more information, see `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies>`_ in the *Application Load Balancers Guide* and `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies>`_ in the *Network Load Balancers Guide* .
5815
+ :param ssl_policy: [HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported. For more information, see `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/application/describe-ssl-policies.html>`_ in the *Application Load Balancers Guide* and `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/network/describe-ssl-policies.html>`_ in the *Network Load Balancers Guide* . Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic. To decrease the possibility of an interruption if your load balancer is handling a high volume of traffic, create an additional load balancer or request an LCU reservation.
5792
5816
 
5793
5817
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html
5794
5818
  :exampleMetadata: fixture=_generated
@@ -6014,9 +6038,9 @@ class CfnListenerProps:
6014
6038
  def ssl_policy(self) -> typing.Optional[builtins.str]:
6015
6039
  '''[HTTPS and TLS listeners] The security policy that defines which protocols and ciphers are supported.
6016
6040
 
6017
- Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic.
6041
+ For more information, see `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/application/describe-ssl-policies.html>`_ in the *Application Load Balancers Guide* and `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/network/describe-ssl-policies.html>`_ in the *Network Load Balancers Guide* .
6018
6042
 
6019
- For more information, see `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html#describe-ssl-policies>`_ in the *Application Load Balancers Guide* and `Security policies <https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html#describe-ssl-policies>`_ in the *Network Load Balancers Guide* .
6043
+ Updating the security policy can result in interruptions if the load balancer is handling a high volume of traffic. To decrease the possibility of an interruption if your load balancer is handling a high volume of traffic, create an additional load balancer or request an LCU reservation.
6020
6044
 
6021
6045
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-listener.html#cfn-elasticloadbalancingv2-listener-sslpolicy
6022
6046
  '''
@@ -8472,9 +8496,9 @@ class CfnLoadBalancer(
8472
8496
  :param scope: Scope in which this resource is defined.
8473
8497
  :param id: Construct identifier for this resource (unique in its scope).
8474
8498
  :param enable_prefix_for_ipv6_source_nat: [Network Load Balancers with UDP listeners] Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be ``dualstack`` . The default value is ``off`` .
8475
- :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 . The default is ``on`` .
8499
+ :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 . The default is ``on`` . You can't configure this property on a Network Load Balancer unless you associated a security group with the load balancer when you created it.
8476
8500
  :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).
8477
- :param ipv4_ipam_pool_id:
8501
+ :param ipv4_ipam_pool_id: The ID of the IPv4 IPAM pool.
8478
8502
  :param load_balancer_attributes: The load balancer attributes.
8479
8503
  :param minimum_load_balancer_capacity: The minimum capacity for a load balancer.
8480
8504
  :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.
@@ -8663,6 +8687,7 @@ class CfnLoadBalancer(
8663
8687
  @builtins.property
8664
8688
  @jsii.member(jsii_name="ipv4IpamPoolId")
8665
8689
  def ipv4_ipam_pool_id(self) -> typing.Optional[builtins.str]:
8690
+ '''The ID of the IPv4 IPAM pool.'''
8666
8691
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipv4IpamPoolId"))
8667
8692
 
8668
8693
  @ipv4_ipam_pool_id.setter
@@ -9132,9 +9157,9 @@ class CfnLoadBalancerProps:
9132
9157
  '''Properties for defining a ``CfnLoadBalancer``.
9133
9158
 
9134
9159
  :param enable_prefix_for_ipv6_source_nat: [Network Load Balancers with UDP listeners] Indicates whether to use an IPv6 prefix from each subnet for source NAT. The IP address type must be ``dualstack`` . The default value is ``off`` .
9135
- :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 . The default is ``on`` .
9160
+ :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 . The default is ``on`` . You can't configure this property on a Network Load Balancer unless you associated a security group with the load balancer when you created it.
9136
9161
  :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).
9137
- :param ipv4_ipam_pool_id:
9162
+ :param ipv4_ipam_pool_id: The ID of the IPv4 IPAM pool.
9138
9163
  :param load_balancer_attributes: The load balancer attributes.
9139
9164
  :param minimum_load_balancer_capacity: The minimum capacity for a load balancer.
9140
9165
  :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.
@@ -9248,6 +9273,8 @@ class CfnLoadBalancerProps:
9248
9273
 
9249
9274
  The default is ``on`` .
9250
9275
 
9276
+ You can't configure this property on a Network Load Balancer unless you associated a security group with the load balancer when you created it.
9277
+
9251
9278
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-enforcesecuritygroupinboundrulesonprivatelinktraffic
9252
9279
  '''
9253
9280
  result = self._values.get("enforce_security_group_inbound_rules_on_private_link_traffic")
@@ -9270,7 +9297,8 @@ class CfnLoadBalancerProps:
9270
9297
 
9271
9298
  @builtins.property
9272
9299
  def ipv4_ipam_pool_id(self) -> typing.Optional[builtins.str]:
9273
- '''
9300
+ '''The ID of the IPv4 IPAM pool.
9301
+
9274
9302
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticloadbalancingv2-loadbalancer.html#cfn-elasticloadbalancingv2-loadbalancer-ipv4ipampoolid
9275
9303
  '''
9276
9304
  result = self._values.get("ipv4_ipam_pool_id")
@@ -18022,6 +18050,12 @@ class NetworkLoadBalancer(
18022
18050
 
18023
18051
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricTcpTargetResetCount", [props]))
18024
18052
 
18053
+ @jsii.python.classproperty
18054
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
18055
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
18056
+ '''Uniquely identifies this class.'''
18057
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
18058
+
18025
18059
  @builtins.property
18026
18060
  @jsii.member(jsii_name="connections")
18027
18061
  def connections(self) -> _Connections_0f31fce8:
@@ -20177,6 +20211,12 @@ class TrustStore(
20177
20211
  check_type(argname="argument trust_store_arn", value=trust_store_arn, expected_type=type_hints["trust_store_arn"])
20178
20212
  return typing.cast(ITrustStore, jsii.sinvoke(cls, "fromTrustStoreArn", [scope, id, trust_store_arn]))
20179
20213
 
20214
+ @jsii.python.classproperty
20215
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
20216
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
20217
+ '''Uniquely identifies this class.'''
20218
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
20219
+
20180
20220
  @builtins.property
20181
20221
  @jsii.member(jsii_name="numberOfCaCertificates")
20182
20222
  def number_of_ca_certificates(self) -> jsii.Number:
@@ -20381,6 +20421,12 @@ class TrustStoreRevocation(
20381
20421
 
20382
20422
  jsii.create(self.__class__, self, [scope, id, props])
20383
20423
 
20424
+ @jsii.python.classproperty
20425
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
20426
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
20427
+ '''Uniquely identifies this class.'''
20428
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
20429
+
20384
20430
 
20385
20431
  @jsii.data_type(
20386
20432
  jsii_type="aws-cdk-lib.aws_elasticloadbalancingv2.TrustStoreRevocationProps",
@@ -22084,6 +22130,7 @@ class ApplicationLoadBalancerProps(BaseLoadBalancerProps):
22084
22130
  "vpc": "vpc",
22085
22131
  "enable_anomaly_mitigation": "enableAnomalyMitigation",
22086
22132
  "load_balancing_algorithm_type": "loadBalancingAlgorithmType",
22133
+ "multi_value_headers_enabled": "multiValueHeadersEnabled",
22087
22134
  "port": "port",
22088
22135
  "protocol": "protocol",
22089
22136
  "protocol_version": "protocolVersion",
@@ -22106,6 +22153,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
22106
22153
  vpc: typing.Optional[_IVpc_f30d5663] = None,
22107
22154
  enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
22108
22155
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
22156
+ multi_value_headers_enabled: typing.Optional[builtins.bool] = None,
22109
22157
  port: typing.Optional[jsii.Number] = None,
22110
22158
  protocol: typing.Optional[ApplicationProtocol] = None,
22111
22159
  protocol_version: typing.Optional[ApplicationProtocolVersion] = None,
@@ -22125,6 +22173,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
22125
22173
  :param vpc: The virtual private cloud (VPC). only if ``TargetType`` is ``Ip`` or ``InstanceId`` Default: - undefined
22126
22174
  :param enable_anomaly_mitigation: Indicates whether anomaly mitigation is enabled. Only available when ``loadBalancingAlgorithmType`` is ``TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`` Default: false
22127
22175
  :param load_balancing_algorithm_type: The load balancing algorithm to select targets for routing requests. Default: TargetGroupLoadBalancingAlgorithmType.ROUND_ROBIN
22176
+ :param multi_value_headers_enabled: Indicates whether the target group supports multi-value headers. If the value is true, the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applicable for Lambda targets. Default: false
22128
22177
  :param port: The port on which the target receives traffic. This is not applicable for Lambda targets. Default: - Determined from protocol if known
22129
22178
  :param protocol: The protocol used for communication with the target. This is not applicable for Lambda targets. Default: - Determined from port if known
22130
22179
  :param protocol_version: The protocol version to use. Default: ApplicationProtocolVersion.HTTP1
@@ -22165,6 +22214,7 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
22165
22214
  check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
22166
22215
  check_type(argname="argument enable_anomaly_mitigation", value=enable_anomaly_mitigation, expected_type=type_hints["enable_anomaly_mitigation"])
22167
22216
  check_type(argname="argument load_balancing_algorithm_type", value=load_balancing_algorithm_type, expected_type=type_hints["load_balancing_algorithm_type"])
22217
+ check_type(argname="argument multi_value_headers_enabled", value=multi_value_headers_enabled, expected_type=type_hints["multi_value_headers_enabled"])
22168
22218
  check_type(argname="argument port", value=port, expected_type=type_hints["port"])
22169
22219
  check_type(argname="argument protocol", value=protocol, expected_type=type_hints["protocol"])
22170
22220
  check_type(argname="argument protocol_version", value=protocol_version, expected_type=type_hints["protocol_version"])
@@ -22191,6 +22241,8 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
22191
22241
  self._values["enable_anomaly_mitigation"] = enable_anomaly_mitigation
22192
22242
  if load_balancing_algorithm_type is not None:
22193
22243
  self._values["load_balancing_algorithm_type"] = load_balancing_algorithm_type
22244
+ if multi_value_headers_enabled is not None:
22245
+ self._values["multi_value_headers_enabled"] = multi_value_headers_enabled
22194
22246
  if port is not None:
22195
22247
  self._values["port"] = port
22196
22248
  if protocol is not None:
@@ -22309,6 +22361,22 @@ class ApplicationTargetGroupProps(BaseTargetGroupProps):
22309
22361
  result = self._values.get("load_balancing_algorithm_type")
22310
22362
  return typing.cast(typing.Optional[TargetGroupLoadBalancingAlgorithmType], result)
22311
22363
 
22364
+ @builtins.property
22365
+ def multi_value_headers_enabled(self) -> typing.Optional[builtins.bool]:
22366
+ '''Indicates whether the target group supports multi-value headers.
22367
+
22368
+ If the value is true, the request and response headers exchanged between
22369
+ the load balancer and the Lambda function include arrays of values or strings.
22370
+
22371
+ Only applicable for Lambda targets.
22372
+
22373
+ :default: false
22374
+
22375
+ :see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-group-attributes
22376
+ '''
22377
+ result = self._values.get("multi_value_headers_enabled")
22378
+ return typing.cast(typing.Optional[builtins.bool], result)
22379
+
22312
22380
  @builtins.property
22313
22381
  def port(self) -> typing.Optional[jsii.Number]:
22314
22382
  '''The port on which the target receives traffic.
@@ -23429,6 +23497,12 @@ class NetworkListener(
23429
23497
 
23430
23498
  return typing.cast("NetworkTargetGroup", jsii.invoke(self, "addTargets", [id, props]))
23431
23499
 
23500
+ @jsii.python.classproperty
23501
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
23502
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
23503
+ '''Uniquely identifies this class.'''
23504
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
23505
+
23432
23506
  @builtins.property
23433
23507
  @jsii.member(jsii_name="loadBalancer")
23434
23508
  def load_balancer(self) -> INetworkLoadBalancer:
@@ -23682,6 +23756,12 @@ class NetworkTargetGroup(
23682
23756
  def _validate_target_group(self) -> typing.List[builtins.str]:
23683
23757
  return typing.cast(typing.List[builtins.str], jsii.invoke(self, "validateTargetGroup", []))
23684
23758
 
23759
+ @jsii.python.classproperty
23760
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
23761
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
23762
+ '''Uniquely identifies this class.'''
23763
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
23764
+
23685
23765
  @builtins.property
23686
23766
  @jsii.member(jsii_name="firstLoadBalancerFullName")
23687
23767
  def first_load_balancer_full_name(self) -> builtins.str:
@@ -24039,6 +24119,12 @@ class ApplicationListener(
24039
24119
  '''Validate this listener.'''
24040
24120
  return typing.cast(typing.List[builtins.str], jsii.invoke(self, "validateListener", []))
24041
24121
 
24122
+ @jsii.python.classproperty
24123
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
24124
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
24125
+ '''Uniquely identifies this class.'''
24126
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
24127
+
24042
24128
  @builtins.property
24043
24129
  @jsii.member(jsii_name="connections")
24044
24130
  def connections(self) -> _Connections_0f31fce8:
@@ -25516,6 +25602,12 @@ class ApplicationLoadBalancer(
25516
25602
 
25517
25603
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricTargetTLSNegotiationErrorCount", [props]))
25518
25604
 
25605
+ @jsii.python.classproperty
25606
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
25607
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
25608
+ '''Uniquely identifies this class.'''
25609
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
25610
+
25519
25611
  @builtins.property
25520
25612
  @jsii.member(jsii_name="connections")
25521
25613
  def connections(self) -> _Connections_0f31fce8:
@@ -25583,6 +25675,7 @@ class ApplicationTargetGroup(
25583
25675
  *,
25584
25676
  enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
25585
25677
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
25678
+ multi_value_headers_enabled: typing.Optional[builtins.bool] = None,
25586
25679
  port: typing.Optional[jsii.Number] = None,
25587
25680
  protocol: typing.Optional[ApplicationProtocol] = None,
25588
25681
  protocol_version: typing.Optional[ApplicationProtocolVersion] = None,
@@ -25603,6 +25696,7 @@ class ApplicationTargetGroup(
25603
25696
  :param id: -
25604
25697
  :param enable_anomaly_mitigation: Indicates whether anomaly mitigation is enabled. Only available when ``loadBalancingAlgorithmType`` is ``TargetGroupLoadBalancingAlgorithmType.WEIGHTED_RANDOM`` Default: false
25605
25698
  :param load_balancing_algorithm_type: The load balancing algorithm to select targets for routing requests. Default: TargetGroupLoadBalancingAlgorithmType.ROUND_ROBIN
25699
+ :param multi_value_headers_enabled: Indicates whether the target group supports multi-value headers. If the value is true, the request and response headers exchanged between the load balancer and the Lambda function include arrays of values or strings. Only applicable for Lambda targets. Default: false
25606
25700
  :param port: The port on which the target receives traffic. This is not applicable for Lambda targets. Default: - Determined from protocol if known
25607
25701
  :param protocol: The protocol used for communication with the target. This is not applicable for Lambda targets. Default: - Determined from port if known
25608
25702
  :param protocol_version: The protocol version to use. Default: ApplicationProtocolVersion.HTTP1
@@ -25625,6 +25719,7 @@ class ApplicationTargetGroup(
25625
25719
  props = ApplicationTargetGroupProps(
25626
25720
  enable_anomaly_mitigation=enable_anomaly_mitigation,
25627
25721
  load_balancing_algorithm_type=load_balancing_algorithm_type,
25722
+ multi_value_headers_enabled=multi_value_headers_enabled,
25628
25723
  port=port,
25629
25724
  protocol=protocol,
25630
25725
  protocol_version=protocol_version,
@@ -26254,6 +26349,12 @@ class ApplicationTargetGroup(
26254
26349
  def _validate_target_group(self) -> typing.List[builtins.str]:
26255
26350
  return typing.cast(typing.List[builtins.str], jsii.invoke(self, "validateTargetGroup", []))
26256
26351
 
26352
+ @jsii.python.classproperty
26353
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
26354
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
26355
+ '''Uniquely identifies this class.'''
26356
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
26357
+
26257
26358
  @builtins.property
26258
26359
  @jsii.member(jsii_name="firstLoadBalancerFullName")
26259
26360
  def first_load_balancer_full_name(self) -> builtins.str:
@@ -28363,6 +28464,7 @@ def _typecheckingstub__0fbf37aa0a91cb985ce7a336a6188364cc38400538c1653e53453287c
28363
28464
  vpc: typing.Optional[_IVpc_f30d5663] = None,
28364
28465
  enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
28365
28466
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
28467
+ multi_value_headers_enabled: typing.Optional[builtins.bool] = None,
28366
28468
  port: typing.Optional[jsii.Number] = None,
28367
28469
  protocol: typing.Optional[ApplicationProtocol] = None,
28368
28470
  protocol_version: typing.Optional[ApplicationProtocolVersion] = None,
@@ -28856,6 +28958,7 @@ def _typecheckingstub__e179515c9d6138007cc1b74835b75f10a179c1f5ef977cbe4188c778c
28856
28958
  *,
28857
28959
  enable_anomaly_mitigation: typing.Optional[builtins.bool] = None,
28858
28960
  load_balancing_algorithm_type: typing.Optional[TargetGroupLoadBalancingAlgorithmType] = None,
28961
+ multi_value_headers_enabled: typing.Optional[builtins.bool] = None,
28859
28962
  port: typing.Optional[jsii.Number] = None,
28860
28963
  protocol: typing.Optional[ApplicationProtocol] = None,
28861
28964
  protocol_version: typing.Optional[ApplicationProtocolVersion] = None,
@@ -7482,6 +7482,15 @@ class Domain(
7482
7482
 
7483
7483
  return typing.cast(_Metric_e396a4dc, jsii.invoke(self, "metricSearchLatency", [props]))
7484
7484
 
7485
+ @jsii.python.classproperty
7486
+ @jsii.member(jsii_name="PROPERTY_INJECTION_ID")
7487
+ def PROPERTY_INJECTION_ID(cls) -> builtins.str:
7488
+ '''(deprecated) Uniquely identifies this class.
7489
+
7490
+ :stability: deprecated
7491
+ '''
7492
+ return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
7493
+
7485
7494
  @builtins.property
7486
7495
  @jsii.member(jsii_name="connections")
7487
7496
  def connections(self) -> _Connections_0f31fce8: