aws-cdk-lib 2.175.1__py3-none-any.whl → 2.176.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 (40) hide show
  1. aws_cdk/__init__.py +15 -6
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.175.1.jsii.tgz → aws-cdk-lib@2.176.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2_integrations/__init__.py +159 -7
  5. aws_cdk/aws_appconfig/__init__.py +106 -24
  6. aws_cdk/aws_appsync/__init__.py +3 -3
  7. aws_cdk/aws_backup/__init__.py +18 -84
  8. aws_cdk/aws_cleanrooms/__init__.py +77 -34
  9. aws_cdk/aws_cloudformation/__init__.py +4 -2
  10. aws_cdk/aws_cloudfront/experimental/__init__.py +1 -1
  11. aws_cdk/aws_cloudwatch/__init__.py +53 -49
  12. aws_cdk/aws_codebuild/__init__.py +36 -0
  13. aws_cdk/aws_cognito/__init__.py +228 -219
  14. aws_cdk/aws_customerprofiles/__init__.py +1060 -0
  15. aws_cdk/aws_docdb/__init__.py +29 -9
  16. aws_cdk/aws_dynamodb/__init__.py +77 -58
  17. aws_cdk/aws_ec2/__init__.py +11 -8
  18. aws_cdk/aws_ecs/__init__.py +100 -35
  19. aws_cdk/aws_elasticloadbalancingv2/__init__.py +41 -5
  20. aws_cdk/aws_healthlake/__init__.py +36 -40
  21. aws_cdk/aws_lambda/__init__.py +8 -8
  22. aws_cdk/aws_lambda_event_sources/__init__.py +9 -9
  23. aws_cdk/aws_lex/__init__.py +105 -0
  24. aws_cdk/aws_mediaconvert/__init__.py +7 -3
  25. aws_cdk/aws_organizations/__init__.py +5 -9
  26. aws_cdk/aws_rds/__init__.py +83 -8
  27. aws_cdk/aws_resiliencehub/__init__.py +41 -0
  28. aws_cdk/aws_s3/__init__.py +5 -5
  29. aws_cdk/aws_ses/__init__.py +25 -4
  30. aws_cdk/aws_ssm/__init__.py +9 -2
  31. aws_cdk/aws_ssmquicksetup/__init__.py +84 -84
  32. aws_cdk/aws_sso/__init__.py +9 -5
  33. aws_cdk/cx_api/__init__.py +25 -4
  34. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/METADATA +1 -1
  35. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/RECORD +39 -40
  36. aws_cdk/aws_iot1click/__init__.py +0 -1193
  37. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/LICENSE +0 -0
  38. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/NOTICE +0 -0
  39. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/WHEEL +0 -0
  40. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.176.0.dist-info}/top_level.txt +0 -0
@@ -355,6 +355,17 @@ cluster.add_capacity("ASGEncryptedSNS",
355
355
  )
356
356
  ```
357
357
 
358
+ ### Container Insights
359
+
360
+ On a cluster, CloudWatch Container Insights can be enabled by setting the `containerInsightsV2` property. [Container Insights](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html)
361
+ can be disabled, enabled, or enhanced.
362
+
363
+ ```python
364
+ cluster = ecs.Cluster(self, "Cluster",
365
+ container_insights_v2=ecs.ContainerInsights.ENHANCED
366
+ )
367
+ ```
368
+
358
369
  ## Task definitions
359
370
 
360
371
  A task definition describes what a single copy of a **task** should look like.
@@ -1200,7 +1211,7 @@ task_definition.add_container("TheContainer",
1200
1211
 
1201
1212
  # An Rule that describes the event trigger (in this case a scheduled run)
1202
1213
  rule = events.Rule(self, "Rule",
1203
- schedule=events.Schedule.expression("rate(1 min)")
1214
+ schedule=events.Schedule.expression("rate(1 minute)")
1204
1215
  )
1205
1216
 
1206
1217
  # Pass an environment variable to the container 'TheContainer' in the task
@@ -4360,7 +4371,7 @@ class AwsLogDriverMode(enum.Enum):
4360
4371
 
4361
4372
  # An Rule that describes the event trigger (in this case a scheduled run)
4362
4373
  rule = events.Rule(self, "Rule",
4363
- schedule=events.Schedule.expression("rate(1 min)")
4374
+ schedule=events.Schedule.expression("rate(1 minute)")
4364
4375
  )
4365
4376
 
4366
4377
  # Pass an environment variable to the container 'TheContainer' in the task
@@ -19674,6 +19685,7 @@ class ClusterAttributes:
19674
19685
  "capacity": "capacity",
19675
19686
  "cluster_name": "clusterName",
19676
19687
  "container_insights": "containerInsights",
19688
+ "container_insights_v2": "containerInsightsV2",
19677
19689
  "default_cloud_map_namespace": "defaultCloudMapNamespace",
19678
19690
  "enable_fargate_capacity_providers": "enableFargateCapacityProviders",
19679
19691
  "execute_command_configuration": "executeCommandConfiguration",
@@ -19688,6 +19700,7 @@ class ClusterProps:
19688
19700
  capacity: typing.Optional[typing.Union[AddCapacityOptions, typing.Dict[builtins.str, typing.Any]]] = None,
19689
19701
  cluster_name: typing.Optional[builtins.str] = None,
19690
19702
  container_insights: typing.Optional[builtins.bool] = None,
19703
+ container_insights_v2: typing.Optional["ContainerInsights"] = None,
19691
19704
  default_cloud_map_namespace: typing.Optional[typing.Union[CloudMapNamespaceOptions, typing.Dict[builtins.str, typing.Any]]] = None,
19692
19705
  enable_fargate_capacity_providers: typing.Optional[builtins.bool] = None,
19693
19706
  execute_command_configuration: typing.Optional[typing.Union["ExecuteCommandConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
@@ -19698,7 +19711,8 @@ class ClusterProps:
19698
19711
 
19699
19712
  :param capacity: The ec2 capacity to add to the cluster. Default: - no EC2 capacity will be added, you can use ``addCapacity`` to add capacity later.
19700
19713
  :param cluster_name: The name for the cluster. Default: CloudFormation-generated name
19701
- :param container_insights: If true CloudWatch Container Insights will be enabled for the cluster. Default: - Container Insights will be disabled for this cluster.
19714
+ :param container_insights: (deprecated) If true CloudWatch Container Insights will be enabled for the cluster. Default: - Container Insights will be disabled for this cluster.
19715
+ :param container_insights_v2: The CloudWatch Container Insights configuration for the cluster. Default: {@link ContainerInsights.DISABLED } This may be overridden by ECS account level settings.
19702
19716
  :param default_cloud_map_namespace: The service discovery namespace created in this cluster. Default: - no service discovery namespace created, you can use ``addDefaultCloudMapNamespace`` to add a default service discovery namespace later.
19703
19717
  :param enable_fargate_capacity_providers: Whether to enable Fargate Capacity Providers. Default: false
19704
19718
  :param execute_command_configuration: The execute command configuration for the cluster. Default: - no configuration will be provided.
@@ -19709,24 +19723,28 @@ class ClusterProps:
19709
19723
 
19710
19724
  Example::
19711
19725
 
19712
- from aws_cdk import Tags
19713
-
19726
+ vpc = ec2.Vpc.from_lookup(self, "Vpc",
19727
+ is_default=True
19728
+ )
19729
+ cluster = ecs.Cluster(self, "ECSCluster", vpc=vpc)
19714
19730
 
19715
- vpc = ec2.Vpc(self, "Vpc", max_azs=1)
19716
- cluster = ecs.Cluster(self, "EcsCluster", vpc=vpc)
19717
- task_definition = ecs.FargateTaskDefinition(self, "TaskDef",
19718
- memory_limit_mi_b=512,
19719
- cpu=256
19731
+ task_definition = ecs.TaskDefinition(self, "TD",
19732
+ compatibility=ecs.Compatibility.FARGATE,
19733
+ cpu="256",
19734
+ memory_mi_b="512"
19720
19735
  )
19721
- task_definition.add_container("WebContainer",
19722
- image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
19736
+
19737
+ task_definition.add_container("TheContainer",
19738
+ image=ecs.ContainerImage.from_registry("foo/bar")
19723
19739
  )
19724
- Tags.of(task_definition).add("my-tag", "my-tag-value")
19725
- scheduled_fargate_task = ecs_patterns.ScheduledFargateTask(self, "ScheduledFargateTask",
19740
+
19741
+ run_task = tasks.EcsRunTask(self, "Run",
19742
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB,
19726
19743
  cluster=cluster,
19727
19744
  task_definition=task_definition,
19728
- schedule=appscaling.Schedule.expression("rate(1 minute)"),
19729
- propagate_tags=ecs.PropagatedTagSource.TASK_DEFINITION
19745
+ launch_target=tasks.EcsFargateLaunchTarget(),
19746
+ cpu="1024",
19747
+ memory_mi_b="1048"
19730
19748
  )
19731
19749
  '''
19732
19750
  if isinstance(capacity, dict):
@@ -19742,6 +19760,7 @@ class ClusterProps:
19742
19760
  check_type(argname="argument capacity", value=capacity, expected_type=type_hints["capacity"])
19743
19761
  check_type(argname="argument cluster_name", value=cluster_name, expected_type=type_hints["cluster_name"])
19744
19762
  check_type(argname="argument container_insights", value=container_insights, expected_type=type_hints["container_insights"])
19763
+ check_type(argname="argument container_insights_v2", value=container_insights_v2, expected_type=type_hints["container_insights_v2"])
19745
19764
  check_type(argname="argument default_cloud_map_namespace", value=default_cloud_map_namespace, expected_type=type_hints["default_cloud_map_namespace"])
19746
19765
  check_type(argname="argument enable_fargate_capacity_providers", value=enable_fargate_capacity_providers, expected_type=type_hints["enable_fargate_capacity_providers"])
19747
19766
  check_type(argname="argument execute_command_configuration", value=execute_command_configuration, expected_type=type_hints["execute_command_configuration"])
@@ -19754,6 +19773,8 @@ class ClusterProps:
19754
19773
  self._values["cluster_name"] = cluster_name
19755
19774
  if container_insights is not None:
19756
19775
  self._values["container_insights"] = container_insights
19776
+ if container_insights_v2 is not None:
19777
+ self._values["container_insights_v2"] = container_insights_v2
19757
19778
  if default_cloud_map_namespace is not None:
19758
19779
  self._values["default_cloud_map_namespace"] = default_cloud_map_namespace
19759
19780
  if enable_fargate_capacity_providers is not None:
@@ -19785,13 +19806,26 @@ class ClusterProps:
19785
19806
 
19786
19807
  @builtins.property
19787
19808
  def container_insights(self) -> typing.Optional[builtins.bool]:
19788
- '''If true CloudWatch Container Insights will be enabled for the cluster.
19809
+ '''(deprecated) If true CloudWatch Container Insights will be enabled for the cluster.
19789
19810
 
19790
19811
  :default: - Container Insights will be disabled for this cluster.
19812
+
19813
+ :deprecated: See {@link containerInsightsV2 }
19814
+
19815
+ :stability: deprecated
19791
19816
  '''
19792
19817
  result = self._values.get("container_insights")
19793
19818
  return typing.cast(typing.Optional[builtins.bool], result)
19794
19819
 
19820
+ @builtins.property
19821
+ def container_insights_v2(self) -> typing.Optional["ContainerInsights"]:
19822
+ '''The CloudWatch Container Insights configuration for the cluster.
19823
+
19824
+ :default: {@link ContainerInsights.DISABLED } This may be overridden by ECS account level settings.
19825
+ '''
19826
+ result = self._values.get("container_insights_v2")
19827
+ return typing.cast(typing.Optional["ContainerInsights"], result)
19828
+
19795
19829
  @builtins.property
19796
19830
  def default_cloud_map_namespace(self) -> typing.Optional[CloudMapNamespaceOptions]:
19797
19831
  '''The service discovery namespace created in this cluster.
@@ -22608,6 +22642,28 @@ class ContainerImageConfig:
22608
22642
  )
22609
22643
 
22610
22644
 
22645
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_ecs.ContainerInsights")
22646
+ class ContainerInsights(enum.Enum):
22647
+ '''The CloudWatch Container Insights setting.
22648
+
22649
+ :see: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html
22650
+ :exampleMetadata: infused
22651
+
22652
+ Example::
22653
+
22654
+ cluster = ecs.Cluster(self, "Cluster",
22655
+ container_insights_v2=ecs.ContainerInsights.ENHANCED
22656
+ )
22657
+ '''
22658
+
22659
+ ENABLED = "ENABLED"
22660
+ '''Enable CloudWatch Container Insights for the cluster.'''
22661
+ DISABLED = "DISABLED"
22662
+ '''Disable CloudWatch Container Insights for the cluster.'''
22663
+ ENHANCED = "ENHANCED"
22664
+ '''Enable CloudWatch Container Insights with enhanced observability for the cluster.'''
22665
+
22666
+
22611
22667
  @jsii.data_type(
22612
22668
  jsii_type="aws-cdk-lib.aws_ecs.ContainerMountPoint",
22613
22669
  jsii_struct_bases=[BaseMountPoint],
@@ -38838,7 +38894,7 @@ class AwsLogDriver(
38838
38894
 
38839
38895
  # An Rule that describes the event trigger (in this case a scheduled run)
38840
38896
  rule = events.Rule(self, "Rule",
38841
- schedule=events.Schedule.expression("rate(1 min)")
38897
+ schedule=events.Schedule.expression("rate(1 minute)")
38842
38898
  )
38843
38899
 
38844
38900
  # Pass an environment variable to the container 'TheContainer' in the task
@@ -38935,28 +38991,31 @@ class Cluster(
38935
38991
 
38936
38992
  Example::
38937
38993
 
38938
- vpc = ec2.Vpc.from_lookup(self, "Vpc",
38939
- is_default=True
38940
- )
38941
- cluster = ecs.Cluster(self, "ECSCluster", vpc=vpc)
38994
+ import aws_cdk.aws_elasticloadbalancingv2 as elbv2
38942
38995
 
38943
- task_definition = ecs.TaskDefinition(self, "TD",
38944
- compatibility=ecs.Compatibility.FARGATE,
38945
- cpu="256",
38946
- memory_mi_b="512"
38996
+
38997
+ # The VPC and subnet must have associated IPv6 CIDR blocks.
38998
+ vpc = ec2.Vpc(self, "Vpc",
38999
+ ip_protocol=ec2.IpProtocol.DUAL_STACK
38947
39000
  )
39001
+ cluster = ecs.Cluster(self, "EcsCluster", vpc=vpc)
38948
39002
 
38949
- task_definition.add_container("TheContainer",
38950
- image=ecs.ContainerImage.from_registry("foo/bar")
39003
+ service = ecs_patterns.ApplicationLoadBalancedFargateService(self, "myService",
39004
+ cluster=cluster,
39005
+ task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
39006
+ image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
39007
+ ),
39008
+ min_healthy_percent=100,
39009
+ ip_address_type=elbv2.IpAddressType.DUAL_STACK
38951
39010
  )
38952
39011
 
38953
- run_task = tasks.EcsRunTask(self, "Run",
38954
- integration_pattern=sfn.IntegrationPattern.RUN_JOB,
39012
+ application_load_balanced_ec2_service = ecs_patterns.ApplicationLoadBalancedEc2Service(self, "myService",
38955
39013
  cluster=cluster,
38956
- task_definition=task_definition,
38957
- launch_target=tasks.EcsFargateLaunchTarget(),
38958
- cpu="1024",
38959
- memory_mi_b="1048"
39014
+ task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
39015
+ image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
39016
+ ),
39017
+ min_healthy_percent=100,
39018
+ ip_address_type=elbv2.IpAddressType.DUAL_STACK
38960
39019
  )
38961
39020
  '''
38962
39021
 
@@ -38968,6 +39027,7 @@ class Cluster(
38968
39027
  capacity: typing.Optional[typing.Union[AddCapacityOptions, typing.Dict[builtins.str, typing.Any]]] = None,
38969
39028
  cluster_name: typing.Optional[builtins.str] = None,
38970
39029
  container_insights: typing.Optional[builtins.bool] = None,
39030
+ container_insights_v2: typing.Optional[ContainerInsights] = None,
38971
39031
  default_cloud_map_namespace: typing.Optional[typing.Union[CloudMapNamespaceOptions, typing.Dict[builtins.str, typing.Any]]] = None,
38972
39032
  enable_fargate_capacity_providers: typing.Optional[builtins.bool] = None,
38973
39033
  execute_command_configuration: typing.Optional[typing.Union[ExecuteCommandConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -38980,7 +39040,8 @@ class Cluster(
38980
39040
  :param id: -
38981
39041
  :param capacity: The ec2 capacity to add to the cluster. Default: - no EC2 capacity will be added, you can use ``addCapacity`` to add capacity later.
38982
39042
  :param cluster_name: The name for the cluster. Default: CloudFormation-generated name
38983
- :param container_insights: If true CloudWatch Container Insights will be enabled for the cluster. Default: - Container Insights will be disabled for this cluster.
39043
+ :param container_insights: (deprecated) If true CloudWatch Container Insights will be enabled for the cluster. Default: - Container Insights will be disabled for this cluster.
39044
+ :param container_insights_v2: The CloudWatch Container Insights configuration for the cluster. Default: {@link ContainerInsights.DISABLED } This may be overridden by ECS account level settings.
38984
39045
  :param default_cloud_map_namespace: The service discovery namespace created in this cluster. Default: - no service discovery namespace created, you can use ``addDefaultCloudMapNamespace`` to add a default service discovery namespace later.
38985
39046
  :param enable_fargate_capacity_providers: Whether to enable Fargate Capacity Providers. Default: false
38986
39047
  :param execute_command_configuration: The execute command configuration for the cluster. Default: - no configuration will be provided.
@@ -38995,6 +39056,7 @@ class Cluster(
38995
39056
  capacity=capacity,
38996
39057
  cluster_name=cluster_name,
38997
39058
  container_insights=container_insights,
39059
+ container_insights_v2=container_insights_v2,
38998
39060
  default_cloud_map_namespace=default_cloud_map_namespace,
38999
39061
  enable_fargate_capacity_providers=enable_fargate_capacity_providers,
39000
39062
  execute_command_configuration=execute_command_configuration,
@@ -42231,6 +42293,7 @@ __all__ = [
42231
42293
  "ContainerDependencyCondition",
42232
42294
  "ContainerImage",
42233
42295
  "ContainerImageConfig",
42296
+ "ContainerInsights",
42234
42297
  "ContainerMountPoint",
42235
42298
  "CpuArchitecture",
42236
42299
  "CpuUtilizationScalingProps",
@@ -44133,6 +44196,7 @@ def _typecheckingstub__8819884fed76c2873e86d47e66faba011202f5d697aa512d17a66e595
44133
44196
  capacity: typing.Optional[typing.Union[AddCapacityOptions, typing.Dict[builtins.str, typing.Any]]] = None,
44134
44197
  cluster_name: typing.Optional[builtins.str] = None,
44135
44198
  container_insights: typing.Optional[builtins.bool] = None,
44199
+ container_insights_v2: typing.Optional[ContainerInsights] = None,
44136
44200
  default_cloud_map_namespace: typing.Optional[typing.Union[CloudMapNamespaceOptions, typing.Dict[builtins.str, typing.Any]]] = None,
44137
44201
  enable_fargate_capacity_providers: typing.Optional[builtins.bool] = None,
44138
44202
  execute_command_configuration: typing.Optional[typing.Union[ExecuteCommandConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -46098,6 +46162,7 @@ def _typecheckingstub__3bfa430ae70aac83ab429fdb76501803ea8a276abbb829c3c149f8a8b
46098
46162
  capacity: typing.Optional[typing.Union[AddCapacityOptions, typing.Dict[builtins.str, typing.Any]]] = None,
46099
46163
  cluster_name: typing.Optional[builtins.str] = None,
46100
46164
  container_insights: typing.Optional[builtins.bool] = None,
46165
+ container_insights_v2: typing.Optional[ContainerInsights] = None,
46101
46166
  default_cloud_map_namespace: typing.Optional[typing.Union[CloudMapNamespaceOptions, typing.Dict[builtins.str, typing.Any]]] = None,
46102
46167
  enable_fargate_capacity_providers: typing.Optional[builtins.bool] = None,
46103
46168
  execute_command_configuration: typing.Optional[typing.Union[ExecuteCommandConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -49,6 +49,13 @@ listener.add_targets("ApplicationFleet",
49
49
  The security groups of the load balancer and the target are automatically
50
50
  updated to allow the network traffic.
51
51
 
52
+ > NOTE: If the `@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault` feature flag is set (the default for new projects), and `addListener()` is called with `open: true`,
53
+ > the load balancer's security group will automatically include both IPv4 and IPv6 ingress rules when using `IpAddressType.DUAL_STACK_WITHOUT_PUBLIC_IPV4`.
54
+ >
55
+ > For existing projects that only have IPv4 rules, you can opt-in to IPv6 ingress rules
56
+ > by enabling the feature flag in your cdk.json file. Note that enabling this feature flag
57
+ > will modify existing security group rules.
58
+
52
59
  One (or more) security groups can be associated with the load balancer;
53
60
  if a security group isn't provided, one will be automatically created.
54
61
 
@@ -260,7 +267,7 @@ For more information, see [Load balancer attributes](https://docs.aws.amazon.com
260
267
  ### Setting up Access Log Bucket on Application Load Balancer
261
268
 
262
269
  The only server-side encryption option that's supported is Amazon S3-managed keys (SSE-S3). For more information
263
- Documentation: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html
270
+ Documentation: [https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html)
264
271
 
265
272
  ```python
266
273
  # vpc: ec2.Vpc
@@ -277,7 +284,7 @@ lb.log_access_logs(bucket)
277
284
  ### Setting up Connection Log Bucket on Application Load Balancer
278
285
 
279
286
  Like access log bucket, the only server-side encryption option that's supported is Amazon S3-managed keys (SSE-S3). For more information
280
- Documentation: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-connection-logging.html
287
+ Documentation: [https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-connection-logging.html](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-connection-logging.html)
281
288
 
282
289
  ```python
283
290
  # vpc: ec2.Vpc
@@ -305,7 +312,7 @@ lb = elbv2.ApplicationLoadBalancer(self, "LB",
305
312
  )
306
313
  ```
307
314
 
308
- By setting `DUAL_STACK_WITHOUT_PUBLIC_IPV4`, you can provision load balancers without public IPv4s
315
+ By setting `DUAL_STACK_WITHOUT_PUBLIC_IPV4`, you can provision load balancers without public IPv4s:
309
316
 
310
317
  ```python
311
318
  # vpc: ec2.Vpc
@@ -313,6 +320,7 @@ By setting `DUAL_STACK_WITHOUT_PUBLIC_IPV4`, you can provision load balancers wi
313
320
 
314
321
  lb = elbv2.ApplicationLoadBalancer(self, "LB",
315
322
  vpc=vpc,
323
+ internet_facing=True,
316
324
  ip_address_type=elbv2.IpAddressType.DUAL_STACK_WITHOUT_PUBLIC_IPV4
317
325
  )
318
326
  ```
@@ -549,7 +557,7 @@ tg = elbv2.ApplicationTargetGroup(self, "TG",
549
557
  )
550
558
  ```
551
559
 
552
- For more information see: https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html#application-based-stickiness
560
+ For more information see: [https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html#application-based-stickiness](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/sticky-sessions.html#application-based-stickiness)
553
561
 
554
562
  ### Setting the target group protocol version
555
563
 
@@ -22373,6 +22381,15 @@ class IApplicationLoadBalancer(
22373
22381
  def ip_address_type(self) -> typing.Optional[IpAddressType]:
22374
22382
  '''The IP Address Type for this load balancer.
22375
22383
 
22384
+ If the ``@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault``
22385
+ feature flag is set (the default for new projects), and ``addListener()`` is called with ``open: true``,
22386
+ the load balancer's security group will automatically include both IPv4 and IPv6 ingress rules
22387
+ when using ``IpAddressType.DUAL_STACK_WITHOUT_PUBLIC_IPV4``.
22388
+
22389
+ For existing projects that only have IPv4 rules, you can opt-in to IPv6 ingress rules
22390
+ by enabling the feature flag in your cdk.json file. Note that enabling this feature flag
22391
+ will modify existing security group rules.
22392
+
22376
22393
  :default: IpAddressType.IPV4
22377
22394
  '''
22378
22395
  ...
@@ -22450,6 +22467,15 @@ class _IApplicationLoadBalancerProxy(
22450
22467
  def ip_address_type(self) -> typing.Optional[IpAddressType]:
22451
22468
  '''The IP Address Type for this load balancer.
22452
22469
 
22470
+ If the ``@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault``
22471
+ feature flag is set (the default for new projects), and ``addListener()`` is called with ``open: true``,
22472
+ the load balancer's security group will automatically include both IPv4 and IPv6 ingress rules
22473
+ when using ``IpAddressType.DUAL_STACK_WITHOUT_PUBLIC_IPV4``.
22474
+
22475
+ For existing projects that only have IPv4 rules, you can opt-in to IPv6 ingress rules
22476
+ by enabling the feature flag in your cdk.json file. Note that enabling this feature flag
22477
+ will modify existing security group rules.
22478
+
22453
22479
  :default: IpAddressType.IPV4
22454
22480
  '''
22455
22481
  return typing.cast(typing.Optional[IpAddressType], jsii.get(self, "ipAddressType"))
@@ -25063,7 +25089,17 @@ class ApplicationLoadBalancer(
25063
25089
  @builtins.property
25064
25090
  @jsii.member(jsii_name="ipAddressType")
25065
25091
  def ip_address_type(self) -> typing.Optional[IpAddressType]:
25066
- '''The IP Address Type for this load balancer.'''
25092
+ '''The IP Address Type for this load balancer.
25093
+
25094
+ If the ``@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault``
25095
+ feature flag is set (the default for new projects), and ``addListener()`` is called with ``open: true``,
25096
+ the load balancer's security group will automatically include both IPv4 and IPv6 ingress rules
25097
+ when using ``IpAddressType.DUAL_STACK_WITHOUT_PUBLIC_IPV4``.
25098
+
25099
+ For existing projects that only have IPv4 rules, you can opt-in to IPv6 ingress rules
25100
+ by enabling the feature flag in your cdk.json file. Note that enabling this feature flag
25101
+ will modify existing security group rules.
25102
+ '''
25067
25103
  return typing.cast(typing.Optional[IpAddressType], jsii.get(self, "ipAddressType"))
25068
25104
 
25069
25105
 
@@ -137,11 +137,11 @@ class CfnFHIRDatastore(
137
137
  '''
138
138
  :param scope: Scope in which this resource is defined.
139
139
  :param id: Construct identifier for this resource (unique in its scope).
140
- :param datastore_type_version: The FHIR version of the data store. The only supported version is R4.
141
- :param datastore_name: The user generated name for the data store.
142
- :param identity_provider_configuration: The identity provider configuration that you gave when the data store was created.
143
- :param preload_data_config: The preloaded data configuration for the data store. Only data preloaded from Synthea is supported.
144
- :param sse_configuration: The server-side encryption key configuration for a customer provided encryption key specified for creating a data store.
140
+ :param datastore_type_version: The FHIR release version supported by the data store. Current support is for version ``R4`` .
141
+ :param datastore_name: The data store name (user-generated).
142
+ :param identity_provider_configuration: The identity provider configuration selected when the data store was created.
143
+ :param preload_data_config: The preloaded Synthea data configuration for the data store.
144
+ :param sse_configuration: The server-side encryption key configuration for a customer-provided encryption key specified for creating a data store.
145
145
  :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
146
146
  '''
147
147
  if __debug__:
@@ -268,7 +268,7 @@ class CfnFHIRDatastore(
268
268
  @builtins.property
269
269
  @jsii.member(jsii_name="datastoreTypeVersion")
270
270
  def datastore_type_version(self) -> builtins.str:
271
- '''The FHIR version of the data store.'''
271
+ '''The FHIR release version supported by the data store.'''
272
272
  return typing.cast(builtins.str, jsii.get(self, "datastoreTypeVersion"))
273
273
 
274
274
  @datastore_type_version.setter
@@ -281,7 +281,7 @@ class CfnFHIRDatastore(
281
281
  @builtins.property
282
282
  @jsii.member(jsii_name="datastoreName")
283
283
  def datastore_name(self) -> typing.Optional[builtins.str]:
284
- '''The user generated name for the data store.'''
284
+ '''The data store name (user-generated).'''
285
285
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "datastoreName"))
286
286
 
287
287
  @datastore_name.setter
@@ -296,7 +296,7 @@ class CfnFHIRDatastore(
296
296
  def identity_provider_configuration(
297
297
  self,
298
298
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFHIRDatastore.IdentityProviderConfigurationProperty"]]:
299
- '''The identity provider configuration that you gave when the data store was created.'''
299
+ '''The identity provider configuration selected when the data store was created.'''
300
300
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFHIRDatastore.IdentityProviderConfigurationProperty"]], jsii.get(self, "identityProviderConfiguration"))
301
301
 
302
302
  @identity_provider_configuration.setter
@@ -314,7 +314,7 @@ class CfnFHIRDatastore(
314
314
  def preload_data_config(
315
315
  self,
316
316
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFHIRDatastore.PreloadDataConfigProperty"]]:
317
- '''The preloaded data configuration for the data store.'''
317
+ '''The preloaded Synthea data configuration for the data store.'''
318
318
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFHIRDatastore.PreloadDataConfigProperty"]], jsii.get(self, "preloadDataConfig"))
319
319
 
320
320
  @preload_data_config.setter
@@ -332,7 +332,7 @@ class CfnFHIRDatastore(
332
332
  def sse_configuration(
333
333
  self,
334
334
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFHIRDatastore.SseConfigurationProperty"]]:
335
- '''The server-side encryption key configuration for a customer provided encryption key specified for creating a data store.'''
335
+ '''The server-side encryption key configuration for a customer-provided encryption key specified for creating a data store.'''
336
336
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnFHIRDatastore.SseConfigurationProperty"]], jsii.get(self, "sseConfiguration"))
337
337
 
338
338
  @sse_configuration.setter
@@ -443,12 +443,12 @@ class CfnFHIRDatastore(
443
443
  idp_lambda_arn: typing.Optional[builtins.str] = None,
444
444
  metadata: typing.Optional[builtins.str] = None,
445
445
  ) -> None:
446
- '''The identity provider configuration that you gave when the data store was created.
446
+ '''The identity provider configuration selected when the data store was created.
447
447
 
448
- :param authorization_strategy: The authorization strategy that you selected when you created the data store.
449
- :param fine_grained_authorization_enabled: If you enabled fine-grained authorization when you created the data store.
450
- :param idp_lambda_arn: The Amazon Resource Name (ARN) of the Lambda function that you want to use to decode the access token created by the authorization server.
451
- :param metadata: The JSON metadata elements that you want to use in your identity provider configuration. Required elements are listed based on the launch specification of the SMART application. For more information on all possible elements, see `Metadata <https://docs.aws.amazon.com/https://build.fhir.org/ig/HL7/smart-app-launch/conformance.html#metadata>`_ in SMART's App Launch specification. ``authorization_endpoint`` : The URL to the OAuth2 authorization endpoint. ``grant_types_supported`` : An array of grant types that are supported at the token endpoint. You must provide at least one grant type option. Valid options are ``authorization_code`` and ``client_credentials`` . ``token_endpoint`` : The URL to the OAuth2 token endpoint. ``capabilities`` : An array of strings of the SMART capabilities that the authorization server supports. ``code_challenge_methods_supported`` : An array of strings of supported PKCE code challenge methods. You must include the ``S256`` method in the array of PKCE code challenge methods.
448
+ :param authorization_strategy: The authorization strategy selected when the data store was created.
449
+ :param fine_grained_authorization_enabled: The parameter to enable SMART on FHIR fine-grained authorization for the data store.
450
+ :param idp_lambda_arn: The Amazon Resource Name (ARN) of the Lambda function to use to decode the access token created by the authorization server.
451
+ :param metadata: The JSON metadata elements to use in your identity provider configuration. Required elements are listed based on the launch specification of the SMART application. For more information on all possible elements, see `Metadata <https://docs.aws.amazon.com/https://build.fhir.org/ig/HL7/smart-app-launch/conformance.html#metadata>`_ in SMART's App Launch specification. ``authorization_endpoint`` : The URL to the OAuth2 authorization endpoint. ``grant_types_supported`` : An array of grant types that are supported at the token endpoint. You must provide at least one grant type option. Valid options are ``authorization_code`` and ``client_credentials`` . ``token_endpoint`` : The URL to the OAuth2 token endpoint. ``capabilities`` : An array of strings of the SMART capabilities that the authorization server supports. ``code_challenge_methods_supported`` : An array of strings of supported PKCE code challenge methods. You must include the ``S256`` method in the array of PKCE code challenge methods.
452
452
 
453
453
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-healthlake-fhirdatastore-identityproviderconfiguration.html
454
454
  :exampleMetadata: fixture=_generated
@@ -486,7 +486,7 @@ class CfnFHIRDatastore(
486
486
 
487
487
  @builtins.property
488
488
  def authorization_strategy(self) -> builtins.str:
489
- '''The authorization strategy that you selected when you created the data store.
489
+ '''The authorization strategy selected when the data store was created.
490
490
 
491
491
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-healthlake-fhirdatastore-identityproviderconfiguration.html#cfn-healthlake-fhirdatastore-identityproviderconfiguration-authorizationstrategy
492
492
  '''
@@ -498,7 +498,7 @@ class CfnFHIRDatastore(
498
498
  def fine_grained_authorization_enabled(
499
499
  self,
500
500
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
501
- '''If you enabled fine-grained authorization when you created the data store.
501
+ '''The parameter to enable SMART on FHIR fine-grained authorization for the data store.
502
502
 
503
503
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-healthlake-fhirdatastore-identityproviderconfiguration.html#cfn-healthlake-fhirdatastore-identityproviderconfiguration-finegrainedauthorizationenabled
504
504
  '''
@@ -507,7 +507,7 @@ class CfnFHIRDatastore(
507
507
 
508
508
  @builtins.property
509
509
  def idp_lambda_arn(self) -> typing.Optional[builtins.str]:
510
- '''The Amazon Resource Name (ARN) of the Lambda function that you want to use to decode the access token created by the authorization server.
510
+ '''The Amazon Resource Name (ARN) of the Lambda function to use to decode the access token created by the authorization server.
511
511
 
512
512
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-healthlake-fhirdatastore-identityproviderconfiguration.html#cfn-healthlake-fhirdatastore-identityproviderconfiguration-idplambdaarn
513
513
  '''
@@ -516,7 +516,7 @@ class CfnFHIRDatastore(
516
516
 
517
517
  @builtins.property
518
518
  def metadata(self) -> typing.Optional[builtins.str]:
519
- '''The JSON metadata elements that you want to use in your identity provider configuration.
519
+ '''The JSON metadata elements to use in your identity provider configuration.
520
520
 
521
521
  Required elements are listed based on the launch specification of the SMART application. For more information on all possible elements, see `Metadata <https://docs.aws.amazon.com/https://build.fhir.org/ig/HL7/smart-app-launch/conformance.html#metadata>`_ in SMART's App Launch specification.
522
522
 
@@ -563,7 +563,7 @@ class CfnFHIRDatastore(
563
563
  If a customer owned key is not specified, an Amazon owned key will be used for encryption.
564
564
 
565
565
  :param cmk_type: The type of customer-managed-key(CMK) used for encryption. The two types of supported CMKs are customer owned CMKs and Amazon owned CMKs. For more information on CMK types, see `KmsEncryptionConfig <https://docs.aws.amazon.com/healthlake/latest/APIReference/API_KmsEncryptionConfig.html#HealthLake-Type-KmsEncryptionConfig-CmkType>`_ .
566
- :param kms_key_id: The KMS encryption key id/alias used to encrypt the data store contents at rest.
566
+ :param kms_key_id: The Key Management Service (KMS) encryption key id/alias used to encrypt the data store contents at rest.
567
567
 
568
568
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-healthlake-fhirdatastore-kmsencryptionconfig.html
569
569
  :exampleMetadata: fixture=_generated
@@ -605,7 +605,7 @@ class CfnFHIRDatastore(
605
605
 
606
606
  @builtins.property
607
607
  def kms_key_id(self) -> typing.Optional[builtins.str]:
608
- '''The KMS encryption key id/alias used to encrypt the data store contents at rest.
608
+ '''The Key Management Service (KMS) encryption key id/alias used to encrypt the data store contents at rest.
609
609
 
610
610
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-healthlake-fhirdatastore-kmsencryptionconfig.html#cfn-healthlake-fhirdatastore-kmsencryptionconfig-kmskeyid
611
611
  '''
@@ -630,9 +630,7 @@ class CfnFHIRDatastore(
630
630
  )
631
631
  class PreloadDataConfigProperty:
632
632
  def __init__(self, *, preload_data_type: builtins.str) -> None:
633
- '''Optional parameter to preload data upon creation of the data store.
634
-
635
- Currently, the only supported preloaded data is synthetic data generated from Synthea.
633
+ '''An optional parameter to preload (import) open source Synthea FHIR data upon creation of the data store.
636
634
 
637
635
  :param preload_data_type: The type of preloaded data. Only Synthea preloaded data is supported.
638
636
 
@@ -690,9 +688,9 @@ class CfnFHIRDatastore(
690
688
  *,
691
689
  kms_encryption_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnFHIRDatastore.KmsEncryptionConfigProperty", typing.Dict[builtins.str, typing.Any]]],
692
690
  ) -> None:
693
- '''The server-side encryption key configuration for a customer provided encryption key.
691
+ '''The server-side encryption key configuration for a customer-provided encryption key.
694
692
 
695
- :param kms_encryption_config: The server-side encryption key configuration for a customer provided encryption key (CMK).
693
+ :param kms_encryption_config: The server-side encryption key configuration for a customer provided encryption key.
696
694
 
697
695
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-healthlake-fhirdatastore-sseconfiguration.html
698
696
  :exampleMetadata: fixture=_generated
@@ -723,7 +721,7 @@ class CfnFHIRDatastore(
723
721
  def kms_encryption_config(
724
722
  self,
725
723
  ) -> typing.Union[_IResolvable_da3f097b, "CfnFHIRDatastore.KmsEncryptionConfigProperty"]:
726
- '''The server-side encryption key configuration for a customer provided encryption key (CMK).
724
+ '''The server-side encryption key configuration for a customer provided encryption key.
727
725
 
728
726
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-healthlake-fhirdatastore-sseconfiguration.html#cfn-healthlake-fhirdatastore-sseconfiguration-kmsencryptionconfig
729
727
  '''
@@ -768,11 +766,11 @@ class CfnFHIRDatastoreProps:
768
766
  ) -> None:
769
767
  '''Properties for defining a ``CfnFHIRDatastore``.
770
768
 
771
- :param datastore_type_version: The FHIR version of the data store. The only supported version is R4.
772
- :param datastore_name: The user generated name for the data store.
773
- :param identity_provider_configuration: The identity provider configuration that you gave when the data store was created.
774
- :param preload_data_config: The preloaded data configuration for the data store. Only data preloaded from Synthea is supported.
775
- :param sse_configuration: The server-side encryption key configuration for a customer provided encryption key specified for creating a data store.
769
+ :param datastore_type_version: The FHIR release version supported by the data store. Current support is for version ``R4`` .
770
+ :param datastore_name: The data store name (user-generated).
771
+ :param identity_provider_configuration: The identity provider configuration selected when the data store was created.
772
+ :param preload_data_config: The preloaded Synthea data configuration for the data store.
773
+ :param sse_configuration: The server-side encryption key configuration for a customer-provided encryption key specified for creating a data store.
776
774
  :param tags: An array of key-value pairs to apply to this resource. For more information, see `Tag <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html>`_ .
777
775
 
778
776
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html
@@ -838,9 +836,9 @@ class CfnFHIRDatastoreProps:
838
836
 
839
837
  @builtins.property
840
838
  def datastore_type_version(self) -> builtins.str:
841
- '''The FHIR version of the data store.
839
+ '''The FHIR release version supported by the data store.
842
840
 
843
- The only supported version is R4.
841
+ Current support is for version ``R4`` .
844
842
 
845
843
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html#cfn-healthlake-fhirdatastore-datastoretypeversion
846
844
  '''
@@ -850,7 +848,7 @@ class CfnFHIRDatastoreProps:
850
848
 
851
849
  @builtins.property
852
850
  def datastore_name(self) -> typing.Optional[builtins.str]:
853
- '''The user generated name for the data store.
851
+ '''The data store name (user-generated).
854
852
 
855
853
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html#cfn-healthlake-fhirdatastore-datastorename
856
854
  '''
@@ -861,7 +859,7 @@ class CfnFHIRDatastoreProps:
861
859
  def identity_provider_configuration(
862
860
  self,
863
861
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFHIRDatastore.IdentityProviderConfigurationProperty]]:
864
- '''The identity provider configuration that you gave when the data store was created.
862
+ '''The identity provider configuration selected when the data store was created.
865
863
 
866
864
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html#cfn-healthlake-fhirdatastore-identityproviderconfiguration
867
865
  '''
@@ -872,9 +870,7 @@ class CfnFHIRDatastoreProps:
872
870
  def preload_data_config(
873
871
  self,
874
872
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFHIRDatastore.PreloadDataConfigProperty]]:
875
- '''The preloaded data configuration for the data store.
876
-
877
- Only data preloaded from Synthea is supported.
873
+ '''The preloaded Synthea data configuration for the data store.
878
874
 
879
875
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html#cfn-healthlake-fhirdatastore-preloaddataconfig
880
876
  '''
@@ -885,7 +881,7 @@ class CfnFHIRDatastoreProps:
885
881
  def sse_configuration(
886
882
  self,
887
883
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnFHIRDatastore.SseConfigurationProperty]]:
888
- '''The server-side encryption key configuration for a customer provided encryption key specified for creating a data store.
884
+ '''The server-side encryption key configuration for a customer-provided encryption key specified for creating a data store.
889
885
 
890
886
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-healthlake-fhirdatastore.html#cfn-healthlake-fhirdatastore-sseconfiguration
891
887
  '''