aws-cdk-lib 2.175.1__py3-none-any.whl → 2.177.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 (64) hide show
  1. aws_cdk/__init__.py +26 -7
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.175.1.jsii.tgz → aws-cdk-lib@2.177.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2_integrations/__init__.py +161 -9
  5. aws_cdk/aws_appconfig/__init__.py +106 -24
  6. aws_cdk/aws_appsync/__init__.py +4 -3
  7. aws_cdk/aws_backup/__init__.py +18 -84
  8. aws_cdk/aws_batch/__init__.py +4 -2
  9. aws_cdk/aws_bedrock/__init__.py +5395 -2508
  10. aws_cdk/aws_cleanrooms/__init__.py +77 -34
  11. aws_cdk/aws_cloudformation/__init__.py +4 -2
  12. aws_cdk/aws_cloudfront/__init__.py +12 -2
  13. aws_cdk/aws_cloudfront/experimental/__init__.py +1 -1
  14. aws_cdk/aws_cloudfront_origins/__init__.py +33 -2
  15. aws_cdk/aws_cloudwatch/__init__.py +53 -49
  16. aws_cdk/aws_codebuild/__init__.py +36 -0
  17. aws_cdk/aws_codepipeline/__init__.py +35 -0
  18. aws_cdk/aws_cognito/__init__.py +285 -253
  19. aws_cdk/aws_customerprofiles/__init__.py +1060 -0
  20. aws_cdk/aws_datazone/__init__.py +195 -125
  21. aws_cdk/aws_docdb/__init__.py +29 -9
  22. aws_cdk/aws_dynamodb/__init__.py +77 -58
  23. aws_cdk/aws_ec2/__init__.py +16 -11
  24. aws_cdk/aws_ecs/__init__.py +127 -43
  25. aws_cdk/aws_efs/__init__.py +5 -5
  26. aws_cdk/aws_eks/__init__.py +24 -3
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +41 -5
  28. aws_cdk/aws_emrserverless/__init__.py +86 -0
  29. aws_cdk/aws_fms/__init__.py +42 -0
  30. aws_cdk/aws_gamelift/__init__.py +8 -10
  31. aws_cdk/aws_healthlake/__init__.py +36 -40
  32. aws_cdk/aws_iam/__init__.py +8 -0
  33. aws_cdk/aws_imagebuilder/__init__.py +62 -48
  34. aws_cdk/aws_lambda/__init__.py +21 -8
  35. aws_cdk/aws_lambda_event_sources/__init__.py +9 -9
  36. aws_cdk/aws_lex/__init__.py +105 -0
  37. aws_cdk/aws_logs/__init__.py +59 -59
  38. aws_cdk/aws_mediaconvert/__init__.py +7 -3
  39. aws_cdk/aws_notifications/__init__.py +1390 -0
  40. aws_cdk/aws_notificationscontacts/__init__.py +593 -0
  41. aws_cdk/aws_organizations/__init__.py +5 -9
  42. aws_cdk/aws_rds/__init__.py +99 -30
  43. aws_cdk/aws_redshift/__init__.py +9 -5
  44. aws_cdk/aws_resiliencehub/__init__.py +41 -0
  45. aws_cdk/aws_route53/__init__.py +4 -4
  46. aws_cdk/aws_route53_targets/__init__.py +15 -15
  47. aws_cdk/aws_s3/__init__.py +794 -5
  48. aws_cdk/aws_s3_notifications/__init__.py +5 -5
  49. aws_cdk/aws_s3tables/__init__.py +2 -2
  50. aws_cdk/aws_ses/__init__.py +25 -4
  51. aws_cdk/aws_sns/__init__.py +39 -0
  52. aws_cdk/aws_ssm/__init__.py +14 -7
  53. aws_cdk/aws_ssmquicksetup/__init__.py +84 -84
  54. aws_cdk/aws_sso/__init__.py +9 -5
  55. aws_cdk/aws_synthetics/__init__.py +105 -32
  56. aws_cdk/cloud_assembly_schema/__init__.py +63 -4
  57. aws_cdk/cx_api/__init__.py +69 -8
  58. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.177.0.dist-info}/METADATA +3 -3
  59. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.177.0.dist-info}/RECORD +63 -62
  60. aws_cdk/aws_iot1click/__init__.py +0 -1193
  61. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.177.0.dist-info}/LICENSE +0 -0
  62. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.177.0.dist-info}/NOTICE +0 -0
  63. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.177.0.dist-info}/WHEEL +0 -0
  64. {aws_cdk_lib-2.175.1.dist-info → aws_cdk_lib-2.177.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
@@ -8370,6 +8381,7 @@ class CfnService(
8370
8381
  )]
8371
8382
  )],
8372
8383
  throughput=123,
8384
+ volume_initialization_rate=123,
8373
8385
  volume_type="volumeType"
8374
8386
  )
8375
8387
  )],
@@ -8958,8 +8970,8 @@ class CfnService(
8958
8970
  For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` .
8959
8971
 
8960
8972
  :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. The default value is ``ENABLED`` .
8961
- :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified security groups must be from the same VPC.
8962
- :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified subnets must be from the same VPC.
8973
+ :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. .. epigraph:: All specified security groups must be from the same VPC.
8974
+ :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. .. epigraph:: All specified subnets must be from the same VPC.
8963
8975
 
8964
8976
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html
8965
8977
  :exampleMetadata: fixture=_generated
@@ -9004,7 +9016,7 @@ class CfnService(
9004
9016
  def security_groups(self) -> typing.Optional[typing.List[builtins.str]]:
9005
9017
  '''The IDs of the security groups associated with the task or service.
9006
9018
 
9007
- If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` .
9019
+ If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified.
9008
9020
  .. epigraph::
9009
9021
 
9010
9022
  All specified security groups must be from the same VPC.
@@ -9018,7 +9030,7 @@ class CfnService(
9018
9030
  def subnets(self) -> typing.Optional[typing.List[builtins.str]]:
9019
9031
  '''The IDs of the subnets associated with the task or service.
9020
9032
 
9021
- There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` .
9033
+ There's a limit of 16 subnets that can be specified.
9022
9034
  .. epigraph::
9023
9035
 
9024
9036
  All specified subnets must be from the same VPC.
@@ -10879,6 +10891,7 @@ class CfnService(
10879
10891
  "snapshot_id": "snapshotId",
10880
10892
  "tag_specifications": "tagSpecifications",
10881
10893
  "throughput": "throughput",
10894
+ "volume_initialization_rate": "volumeInitializationRate",
10882
10895
  "volume_type": "volumeType",
10883
10896
  },
10884
10897
  )
@@ -10895,6 +10908,7 @@ class CfnService(
10895
10908
  snapshot_id: typing.Optional[builtins.str] = None,
10896
10909
  tag_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnService.EBSTagSpecificationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
10897
10910
  throughput: typing.Optional[jsii.Number] = None,
10911
+ volume_initialization_rate: typing.Optional[jsii.Number] = None,
10898
10912
  volume_type: typing.Optional[builtins.str] = None,
10899
10913
  ) -> None:
10900
10914
  '''The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf.
@@ -10912,6 +10926,7 @@ class CfnService(
10912
10926
  :param snapshot_id: The snapshot that Amazon ECS uses to create the volume. You must specify either a snapshot ID or a volume size. This parameter maps 1:1 with the ``SnapshotId`` parameter of the `CreateVolume API <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html>`_ in the *Amazon EC2 API Reference* .
10913
10927
  :param tag_specifications: The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This parameter maps 1:1 with the ``TagSpecifications.N`` parameter of the `CreateVolume API <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html>`_ in the *Amazon EC2 API Reference* .
10914
10928
  :param throughput: The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s. This parameter maps 1:1 with the ``Throughput`` parameter of the `CreateVolume API <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html>`_ in the *Amazon EC2 API Reference* . .. epigraph:: This parameter is only supported for the ``gp3`` volume type.
10929
+ :param volume_initialization_rate:
10915
10930
  :param volume_type: The volume type. This parameter maps 1:1 with the ``VolumeType`` parameter of the `CreateVolume API <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVolume.html>`_ in the *Amazon EC2 API Reference* . For more information, see `Amazon EBS volume types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html>`_ in the *Amazon EC2 User Guide* . The following are the supported volume types. - General Purpose SSD: ``gp2`` | ``gp3`` - Provisioned IOPS SSD: ``io1`` | ``io2`` - Throughput Optimized HDD: ``st1`` - Cold HDD: ``sc1`` - Magnetic: ``standard`` .. epigraph:: The magnetic volume type is not supported on Fargate.
10916
10931
 
10917
10932
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-servicemanagedebsvolumeconfiguration.html
@@ -10944,6 +10959,7 @@ class CfnService(
10944
10959
  )]
10945
10960
  )],
10946
10961
  throughput=123,
10962
+ volume_initialization_rate=123,
10947
10963
  volume_type="volumeType"
10948
10964
  )
10949
10965
  '''
@@ -10958,6 +10974,7 @@ class CfnService(
10958
10974
  check_type(argname="argument snapshot_id", value=snapshot_id, expected_type=type_hints["snapshot_id"])
10959
10975
  check_type(argname="argument tag_specifications", value=tag_specifications, expected_type=type_hints["tag_specifications"])
10960
10976
  check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
10977
+ check_type(argname="argument volume_initialization_rate", value=volume_initialization_rate, expected_type=type_hints["volume_initialization_rate"])
10961
10978
  check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
10962
10979
  self._values: typing.Dict[builtins.str, typing.Any] = {
10963
10980
  "role_arn": role_arn,
@@ -10978,6 +10995,8 @@ class CfnService(
10978
10995
  self._values["tag_specifications"] = tag_specifications
10979
10996
  if throughput is not None:
10980
10997
  self._values["throughput"] = throughput
10998
+ if volume_initialization_rate is not None:
10999
+ self._values["volume_initialization_rate"] = volume_initialization_rate
10981
11000
  if volume_type is not None:
10982
11001
  self._values["volume_type"] = volume_type
10983
11002
 
@@ -11112,6 +11131,14 @@ class CfnService(
11112
11131
  result = self._values.get("throughput")
11113
11132
  return typing.cast(typing.Optional[jsii.Number], result)
11114
11133
 
11134
+ @builtins.property
11135
+ def volume_initialization_rate(self) -> typing.Optional[jsii.Number]:
11136
+ '''
11137
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-servicemanagedebsvolumeconfiguration.html#cfn-ecs-service-servicemanagedebsvolumeconfiguration-volumeinitializationrate
11138
+ '''
11139
+ result = self._values.get("volume_initialization_rate")
11140
+ return typing.cast(typing.Optional[jsii.Number], result)
11141
+
11115
11142
  @builtins.property
11116
11143
  def volume_type(self) -> typing.Optional[builtins.str]:
11117
11144
  '''The volume type.
@@ -11316,6 +11343,7 @@ class CfnService(
11316
11343
  )]
11317
11344
  )],
11318
11345
  throughput=123,
11346
+ volume_initialization_rate=123,
11319
11347
  volume_type="volumeType"
11320
11348
  )
11321
11349
  )
@@ -11781,6 +11809,7 @@ class CfnServiceProps:
11781
11809
  )]
11782
11810
  )],
11783
11811
  throughput=123,
11812
+ volume_initialization_rate=123,
11784
11813
  volume_type="volumeType"
11785
11814
  )
11786
11815
  )],
@@ -18332,9 +18361,9 @@ class CfnTaskSet(
18332
18361
 
18333
18362
  For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` .
18334
18363
 
18335
- :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified subnets must be from the same VPC.
18364
+ :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified. .. epigraph:: All specified subnets must be from the same VPC.
18336
18365
  :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. The default value is ``ENABLED`` .
18337
- :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified security groups must be from the same VPC.
18366
+ :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified. .. epigraph:: All specified security groups must be from the same VPC.
18338
18367
 
18339
18368
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html
18340
18369
  :exampleMetadata: fixture=_generated
@@ -18370,7 +18399,7 @@ class CfnTaskSet(
18370
18399
  def subnets(self) -> typing.List[builtins.str]:
18371
18400
  '''The IDs of the subnets associated with the task or service.
18372
18401
 
18373
- There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` .
18402
+ There's a limit of 16 subnets that can be specified.
18374
18403
  .. epigraph::
18375
18404
 
18376
18405
  All specified subnets must be from the same VPC.
@@ -18396,7 +18425,7 @@ class CfnTaskSet(
18396
18425
  def security_groups(self) -> typing.Optional[typing.List[builtins.str]]:
18397
18426
  '''The IDs of the security groups associated with the task or service.
18398
18427
 
18399
- If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` .
18428
+ If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified.
18400
18429
  .. epigraph::
18401
18430
 
18402
18431
  All specified security groups must be from the same VPC.
@@ -19674,6 +19703,7 @@ class ClusterAttributes:
19674
19703
  "capacity": "capacity",
19675
19704
  "cluster_name": "clusterName",
19676
19705
  "container_insights": "containerInsights",
19706
+ "container_insights_v2": "containerInsightsV2",
19677
19707
  "default_cloud_map_namespace": "defaultCloudMapNamespace",
19678
19708
  "enable_fargate_capacity_providers": "enableFargateCapacityProviders",
19679
19709
  "execute_command_configuration": "executeCommandConfiguration",
@@ -19688,6 +19718,7 @@ class ClusterProps:
19688
19718
  capacity: typing.Optional[typing.Union[AddCapacityOptions, typing.Dict[builtins.str, typing.Any]]] = None,
19689
19719
  cluster_name: typing.Optional[builtins.str] = None,
19690
19720
  container_insights: typing.Optional[builtins.bool] = None,
19721
+ container_insights_v2: typing.Optional["ContainerInsights"] = None,
19691
19722
  default_cloud_map_namespace: typing.Optional[typing.Union[CloudMapNamespaceOptions, typing.Dict[builtins.str, typing.Any]]] = None,
19692
19723
  enable_fargate_capacity_providers: typing.Optional[builtins.bool] = None,
19693
19724
  execute_command_configuration: typing.Optional[typing.Union["ExecuteCommandConfiguration", typing.Dict[builtins.str, typing.Any]]] = None,
@@ -19698,7 +19729,8 @@ class ClusterProps:
19698
19729
 
19699
19730
  :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
19731
  :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.
19732
+ :param container_insights: (deprecated) If true CloudWatch Container Insights will be enabled for the cluster. Default: - Container Insights will be disabled for this cluster.
19733
+ :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
19734
  :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
19735
  :param enable_fargate_capacity_providers: Whether to enable Fargate Capacity Providers. Default: false
19704
19736
  :param execute_command_configuration: The execute command configuration for the cluster. Default: - no configuration will be provided.
@@ -19709,24 +19741,28 @@ class ClusterProps:
19709
19741
 
19710
19742
  Example::
19711
19743
 
19712
- from aws_cdk import Tags
19713
-
19744
+ vpc = ec2.Vpc.from_lookup(self, "Vpc",
19745
+ is_default=True
19746
+ )
19747
+ cluster = ecs.Cluster(self, "ECSCluster", vpc=vpc)
19714
19748
 
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
19749
+ task_definition = ecs.TaskDefinition(self, "TD",
19750
+ compatibility=ecs.Compatibility.FARGATE,
19751
+ cpu="256",
19752
+ memory_mi_b="512"
19720
19753
  )
19721
- task_definition.add_container("WebContainer",
19722
- image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
19754
+
19755
+ task_definition.add_container("TheContainer",
19756
+ image=ecs.ContainerImage.from_registry("foo/bar")
19723
19757
  )
19724
- Tags.of(task_definition).add("my-tag", "my-tag-value")
19725
- scheduled_fargate_task = ecs_patterns.ScheduledFargateTask(self, "ScheduledFargateTask",
19758
+
19759
+ run_task = tasks.EcsRunTask(self, "Run",
19760
+ integration_pattern=sfn.IntegrationPattern.RUN_JOB,
19726
19761
  cluster=cluster,
19727
19762
  task_definition=task_definition,
19728
- schedule=appscaling.Schedule.expression("rate(1 minute)"),
19729
- propagate_tags=ecs.PropagatedTagSource.TASK_DEFINITION
19763
+ launch_target=tasks.EcsFargateLaunchTarget(),
19764
+ cpu="1024",
19765
+ memory_mi_b="1048"
19730
19766
  )
19731
19767
  '''
19732
19768
  if isinstance(capacity, dict):
@@ -19742,6 +19778,7 @@ class ClusterProps:
19742
19778
  check_type(argname="argument capacity", value=capacity, expected_type=type_hints["capacity"])
19743
19779
  check_type(argname="argument cluster_name", value=cluster_name, expected_type=type_hints["cluster_name"])
19744
19780
  check_type(argname="argument container_insights", value=container_insights, expected_type=type_hints["container_insights"])
19781
+ check_type(argname="argument container_insights_v2", value=container_insights_v2, expected_type=type_hints["container_insights_v2"])
19745
19782
  check_type(argname="argument default_cloud_map_namespace", value=default_cloud_map_namespace, expected_type=type_hints["default_cloud_map_namespace"])
19746
19783
  check_type(argname="argument enable_fargate_capacity_providers", value=enable_fargate_capacity_providers, expected_type=type_hints["enable_fargate_capacity_providers"])
19747
19784
  check_type(argname="argument execute_command_configuration", value=execute_command_configuration, expected_type=type_hints["execute_command_configuration"])
@@ -19754,6 +19791,8 @@ class ClusterProps:
19754
19791
  self._values["cluster_name"] = cluster_name
19755
19792
  if container_insights is not None:
19756
19793
  self._values["container_insights"] = container_insights
19794
+ if container_insights_v2 is not None:
19795
+ self._values["container_insights_v2"] = container_insights_v2
19757
19796
  if default_cloud_map_namespace is not None:
19758
19797
  self._values["default_cloud_map_namespace"] = default_cloud_map_namespace
19759
19798
  if enable_fargate_capacity_providers is not None:
@@ -19785,13 +19824,26 @@ class ClusterProps:
19785
19824
 
19786
19825
  @builtins.property
19787
19826
  def container_insights(self) -> typing.Optional[builtins.bool]:
19788
- '''If true CloudWatch Container Insights will be enabled for the cluster.
19827
+ '''(deprecated) If true CloudWatch Container Insights will be enabled for the cluster.
19789
19828
 
19790
19829
  :default: - Container Insights will be disabled for this cluster.
19830
+
19831
+ :deprecated: See {@link containerInsightsV2 }
19832
+
19833
+ :stability: deprecated
19791
19834
  '''
19792
19835
  result = self._values.get("container_insights")
19793
19836
  return typing.cast(typing.Optional[builtins.bool], result)
19794
19837
 
19838
+ @builtins.property
19839
+ def container_insights_v2(self) -> typing.Optional["ContainerInsights"]:
19840
+ '''The CloudWatch Container Insights configuration for the cluster.
19841
+
19842
+ :default: {@link ContainerInsights.DISABLED } This may be overridden by ECS account level settings.
19843
+ '''
19844
+ result = self._values.get("container_insights_v2")
19845
+ return typing.cast(typing.Optional["ContainerInsights"], result)
19846
+
19795
19847
  @builtins.property
19796
19848
  def default_cloud_map_namespace(self) -> typing.Optional[CloudMapNamespaceOptions]:
19797
19849
  '''The service discovery namespace created in this cluster.
@@ -22608,6 +22660,28 @@ class ContainerImageConfig:
22608
22660
  )
22609
22661
 
22610
22662
 
22663
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_ecs.ContainerInsights")
22664
+ class ContainerInsights(enum.Enum):
22665
+ '''The CloudWatch Container Insights setting.
22666
+
22667
+ :see: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-container-insights.html
22668
+ :exampleMetadata: infused
22669
+
22670
+ Example::
22671
+
22672
+ cluster = ecs.Cluster(self, "Cluster",
22673
+ container_insights_v2=ecs.ContainerInsights.ENHANCED
22674
+ )
22675
+ '''
22676
+
22677
+ ENABLED = "ENABLED"
22678
+ '''Enable CloudWatch Container Insights for the cluster.'''
22679
+ DISABLED = "DISABLED"
22680
+ '''Disable CloudWatch Container Insights for the cluster.'''
22681
+ ENHANCED = "ENHANCED"
22682
+ '''Enable CloudWatch Container Insights with enhanced observability for the cluster.'''
22683
+
22684
+
22611
22685
  @jsii.data_type(
22612
22686
  jsii_type="aws-cdk-lib.aws_ecs.ContainerMountPoint",
22613
22687
  jsii_struct_bases=[BaseMountPoint],
@@ -38838,7 +38912,7 @@ class AwsLogDriver(
38838
38912
 
38839
38913
  # An Rule that describes the event trigger (in this case a scheduled run)
38840
38914
  rule = events.Rule(self, "Rule",
38841
- schedule=events.Schedule.expression("rate(1 min)")
38915
+ schedule=events.Schedule.expression("rate(1 minute)")
38842
38916
  )
38843
38917
 
38844
38918
  # Pass an environment variable to the container 'TheContainer' in the task
@@ -38935,28 +39009,31 @@ class Cluster(
38935
39009
 
38936
39010
  Example::
38937
39011
 
38938
- vpc = ec2.Vpc.from_lookup(self, "Vpc",
38939
- is_default=True
38940
- )
38941
- cluster = ecs.Cluster(self, "ECSCluster", vpc=vpc)
39012
+ import aws_cdk.aws_elasticloadbalancingv2 as elbv2
38942
39013
 
38943
- task_definition = ecs.TaskDefinition(self, "TD",
38944
- compatibility=ecs.Compatibility.FARGATE,
38945
- cpu="256",
38946
- memory_mi_b="512"
39014
+
39015
+ # The VPC and subnet must have associated IPv6 CIDR blocks.
39016
+ vpc = ec2.Vpc(self, "Vpc",
39017
+ ip_protocol=ec2.IpProtocol.DUAL_STACK
38947
39018
  )
39019
+ cluster = ecs.Cluster(self, "EcsCluster", vpc=vpc)
38948
39020
 
38949
- task_definition.add_container("TheContainer",
38950
- image=ecs.ContainerImage.from_registry("foo/bar")
39021
+ service = ecs_patterns.ApplicationLoadBalancedFargateService(self, "myService",
39022
+ cluster=cluster,
39023
+ task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
39024
+ image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
39025
+ ),
39026
+ min_healthy_percent=100,
39027
+ ip_address_type=elbv2.IpAddressType.DUAL_STACK
38951
39028
  )
38952
39029
 
38953
- run_task = tasks.EcsRunTask(self, "Run",
38954
- integration_pattern=sfn.IntegrationPattern.RUN_JOB,
39030
+ application_load_balanced_ec2_service = ecs_patterns.ApplicationLoadBalancedEc2Service(self, "myService",
38955
39031
  cluster=cluster,
38956
- task_definition=task_definition,
38957
- launch_target=tasks.EcsFargateLaunchTarget(),
38958
- cpu="1024",
38959
- memory_mi_b="1048"
39032
+ task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
39033
+ image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
39034
+ ),
39035
+ min_healthy_percent=100,
39036
+ ip_address_type=elbv2.IpAddressType.DUAL_STACK
38960
39037
  )
38961
39038
  '''
38962
39039
 
@@ -38968,6 +39045,7 @@ class Cluster(
38968
39045
  capacity: typing.Optional[typing.Union[AddCapacityOptions, typing.Dict[builtins.str, typing.Any]]] = None,
38969
39046
  cluster_name: typing.Optional[builtins.str] = None,
38970
39047
  container_insights: typing.Optional[builtins.bool] = None,
39048
+ container_insights_v2: typing.Optional[ContainerInsights] = None,
38971
39049
  default_cloud_map_namespace: typing.Optional[typing.Union[CloudMapNamespaceOptions, typing.Dict[builtins.str, typing.Any]]] = None,
38972
39050
  enable_fargate_capacity_providers: typing.Optional[builtins.bool] = None,
38973
39051
  execute_command_configuration: typing.Optional[typing.Union[ExecuteCommandConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -38980,7 +39058,8 @@ class Cluster(
38980
39058
  :param id: -
38981
39059
  :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
39060
  :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.
39061
+ :param container_insights: (deprecated) If true CloudWatch Container Insights will be enabled for the cluster. Default: - Container Insights will be disabled for this cluster.
39062
+ :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
39063
  :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
39064
  :param enable_fargate_capacity_providers: Whether to enable Fargate Capacity Providers. Default: false
38986
39065
  :param execute_command_configuration: The execute command configuration for the cluster. Default: - no configuration will be provided.
@@ -38995,6 +39074,7 @@ class Cluster(
38995
39074
  capacity=capacity,
38996
39075
  cluster_name=cluster_name,
38997
39076
  container_insights=container_insights,
39077
+ container_insights_v2=container_insights_v2,
38998
39078
  default_cloud_map_namespace=default_cloud_map_namespace,
38999
39079
  enable_fargate_capacity_providers=enable_fargate_capacity_providers,
39000
39080
  execute_command_configuration=execute_command_configuration,
@@ -42231,6 +42311,7 @@ __all__ = [
42231
42311
  "ContainerDependencyCondition",
42232
42312
  "ContainerImage",
42233
42313
  "ContainerImageConfig",
42314
+ "ContainerInsights",
42234
42315
  "ContainerMountPoint",
42235
42316
  "CpuArchitecture",
42236
42317
  "CpuUtilizationScalingProps",
@@ -43345,6 +43426,7 @@ def _typecheckingstub__dfccfa8c4140c61b1030fe8ed564cee115f38fe8144d5ff6ac1654634
43345
43426
  snapshot_id: typing.Optional[builtins.str] = None,
43346
43427
  tag_specifications: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.EBSTagSpecificationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
43347
43428
  throughput: typing.Optional[jsii.Number] = None,
43429
+ volume_initialization_rate: typing.Optional[jsii.Number] = None,
43348
43430
  volume_type: typing.Optional[builtins.str] = None,
43349
43431
  ) -> None:
43350
43432
  """Type checking stubs"""
@@ -44133,6 +44215,7 @@ def _typecheckingstub__8819884fed76c2873e86d47e66faba011202f5d697aa512d17a66e595
44133
44215
  capacity: typing.Optional[typing.Union[AddCapacityOptions, typing.Dict[builtins.str, typing.Any]]] = None,
44134
44216
  cluster_name: typing.Optional[builtins.str] = None,
44135
44217
  container_insights: typing.Optional[builtins.bool] = None,
44218
+ container_insights_v2: typing.Optional[ContainerInsights] = None,
44136
44219
  default_cloud_map_namespace: typing.Optional[typing.Union[CloudMapNamespaceOptions, typing.Dict[builtins.str, typing.Any]]] = None,
44137
44220
  enable_fargate_capacity_providers: typing.Optional[builtins.bool] = None,
44138
44221
  execute_command_configuration: typing.Optional[typing.Union[ExecuteCommandConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -46098,6 +46181,7 @@ def _typecheckingstub__3bfa430ae70aac83ab429fdb76501803ea8a276abbb829c3c149f8a8b
46098
46181
  capacity: typing.Optional[typing.Union[AddCapacityOptions, typing.Dict[builtins.str, typing.Any]]] = None,
46099
46182
  cluster_name: typing.Optional[builtins.str] = None,
46100
46183
  container_insights: typing.Optional[builtins.bool] = None,
46184
+ container_insights_v2: typing.Optional[ContainerInsights] = None,
46101
46185
  default_cloud_map_namespace: typing.Optional[typing.Union[CloudMapNamespaceOptions, typing.Dict[builtins.str, typing.Any]]] = None,
46102
46186
  enable_fargate_capacity_providers: typing.Optional[builtins.bool] = None,
46103
46187
  execute_command_configuration: typing.Optional[typing.Union[ExecuteCommandConfiguration, typing.Dict[builtins.str, typing.Any]]] = None,
@@ -2829,7 +2829,7 @@ class CfnMountTarget(
2829
2829
  :param scope: Scope in which this resource is defined.
2830
2830
  :param id: Construct identifier for this resource (unique in its scope).
2831
2831
  :param file_system_id: The ID of the file system for which to create the mount target.
2832
- :param security_groups: Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as subnet specified.
2832
+ :param security_groups: VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see `Amazon VPC Quotas <https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html>`_ in the *Amazon VPC User Guide* (see the *Security Groups* table).
2833
2833
  :param subnet_id: The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone.
2834
2834
  :param ip_address: Valid IPv4 address within the address range of the specified subnet.
2835
2835
  '''
@@ -2919,7 +2919,7 @@ class CfnMountTarget(
2919
2919
  @builtins.property
2920
2920
  @jsii.member(jsii_name="securityGroups")
2921
2921
  def security_groups(self) -> typing.List[builtins.str]:
2922
- '''Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` .'''
2922
+ '''VPC security group IDs, of the form ``sg-xxxxxxxx`` .'''
2923
2923
  return typing.cast(typing.List[builtins.str], jsii.get(self, "securityGroups"))
2924
2924
 
2925
2925
  @security_groups.setter
@@ -2978,7 +2978,7 @@ class CfnMountTargetProps:
2978
2978
  '''Properties for defining a ``CfnMountTarget``.
2979
2979
 
2980
2980
  :param file_system_id: The ID of the file system for which to create the mount target.
2981
- :param security_groups: Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as subnet specified.
2981
+ :param security_groups: VPC security group IDs, of the form ``sg-xxxxxxxx`` . These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see `Amazon VPC Quotas <https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html>`_ in the *Amazon VPC User Guide* (see the *Security Groups* table).
2982
2982
  :param subnet_id: The ID of the subnet to add the mount target in. For One Zone file systems, use the subnet that is associated with the file system's Availability Zone.
2983
2983
  :param ip_address: Valid IPv4 address within the address range of the specified subnet.
2984
2984
 
@@ -3026,9 +3026,9 @@ class CfnMountTargetProps:
3026
3026
 
3027
3027
  @builtins.property
3028
3028
  def security_groups(self) -> typing.List[builtins.str]:
3029
- '''Up to five VPC security group IDs, of the form ``sg-xxxxxxxx`` .
3029
+ '''VPC security group IDs, of the form ``sg-xxxxxxxx`` .
3030
3030
 
3031
- These must be for the same VPC as subnet specified.
3031
+ These must be for the same VPC as the subnet specified. The maximum number of security groups depends on account quota. For more information, see `Amazon VPC Quotas <https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html>`_ in the *Amazon VPC User Guide* (see the *Security Groups* table).
3032
3032
 
3033
3033
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html#cfn-efs-mounttarget-securitygroups
3034
3034
  '''
@@ -9418,7 +9418,8 @@ class CfnNodegroup(
9418
9418
  )],
9419
9419
  update_config=eks.CfnNodegroup.UpdateConfigProperty(
9420
9420
  max_unavailable=123,
9421
- max_unavailable_percentage=123
9421
+ max_unavailable_percentage=123,
9422
+ update_strategy="updateStrategy"
9422
9423
  ),
9423
9424
  version="version"
9424
9425
  )
@@ -10294,6 +10295,7 @@ class CfnNodegroup(
10294
10295
  name_mapping={
10295
10296
  "max_unavailable": "maxUnavailable",
10296
10297
  "max_unavailable_percentage": "maxUnavailablePercentage",
10298
+ "update_strategy": "updateStrategy",
10297
10299
  },
10298
10300
  )
10299
10301
  class UpdateConfigProperty:
@@ -10302,11 +10304,13 @@ class CfnNodegroup(
10302
10304
  *,
10303
10305
  max_unavailable: typing.Optional[jsii.Number] = None,
10304
10306
  max_unavailable_percentage: typing.Optional[jsii.Number] = None,
10307
+ update_strategy: typing.Optional[builtins.str] = None,
10305
10308
  ) -> None:
10306
10309
  '''The update configuration for the node group.
10307
10310
 
10308
10311
  :param max_unavailable: The maximum number of nodes unavailable at once during a version update. Nodes are updated in parallel. This value or ``maxUnavailablePercentage`` is required to have a value.The maximum number is 100.
10309
10312
  :param max_unavailable_percentage: The maximum percentage of nodes unavailable during a version update. This percentage of nodes are updated in parallel, up to 100 nodes at once. This value or ``maxUnavailable`` is required to have a value.
10313
+ :param update_strategy: The configuration for the behavior to follow during an node group version update of this managed node group. You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.
10310
10314
 
10311
10315
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-updateconfig.html
10312
10316
  :exampleMetadata: fixture=_generated
@@ -10319,18 +10323,22 @@ class CfnNodegroup(
10319
10323
 
10320
10324
  update_config_property = eks.CfnNodegroup.UpdateConfigProperty(
10321
10325
  max_unavailable=123,
10322
- max_unavailable_percentage=123
10326
+ max_unavailable_percentage=123,
10327
+ update_strategy="updateStrategy"
10323
10328
  )
10324
10329
  '''
10325
10330
  if __debug__:
10326
10331
  type_hints = typing.get_type_hints(_typecheckingstub__883c5208b02930e4808e078b3ecb98b51411fa92d248a8031301fe5434326e12)
10327
10332
  check_type(argname="argument max_unavailable", value=max_unavailable, expected_type=type_hints["max_unavailable"])
10328
10333
  check_type(argname="argument max_unavailable_percentage", value=max_unavailable_percentage, expected_type=type_hints["max_unavailable_percentage"])
10334
+ check_type(argname="argument update_strategy", value=update_strategy, expected_type=type_hints["update_strategy"])
10329
10335
  self._values: typing.Dict[builtins.str, typing.Any] = {}
10330
10336
  if max_unavailable is not None:
10331
10337
  self._values["max_unavailable"] = max_unavailable
10332
10338
  if max_unavailable_percentage is not None:
10333
10339
  self._values["max_unavailable_percentage"] = max_unavailable_percentage
10340
+ if update_strategy is not None:
10341
+ self._values["update_strategy"] = update_strategy
10334
10342
 
10335
10343
  @builtins.property
10336
10344
  def max_unavailable(self) -> typing.Optional[jsii.Number]:
@@ -10354,6 +10362,17 @@ class CfnNodegroup(
10354
10362
  result = self._values.get("max_unavailable_percentage")
10355
10363
  return typing.cast(typing.Optional[jsii.Number], result)
10356
10364
 
10365
+ @builtins.property
10366
+ def update_strategy(self) -> typing.Optional[builtins.str]:
10367
+ '''The configuration for the behavior to follow during an node group version update of this managed node group.
10368
+
10369
+ You choose between two possible strategies for replacing nodes during an UpdateNodegroupVersion action.
10370
+
10371
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-eks-nodegroup-updateconfig.html#cfn-eks-nodegroup-updateconfig-updatestrategy
10372
+ '''
10373
+ result = self._values.get("update_strategy")
10374
+ return typing.cast(typing.Optional[builtins.str], result)
10375
+
10357
10376
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
10358
10377
  return isinstance(rhs, self.__class__) and rhs._values == self._values
10359
10378
 
@@ -10491,7 +10510,8 @@ class CfnNodegroupProps:
10491
10510
  )],
10492
10511
  update_config=eks.CfnNodegroup.UpdateConfigProperty(
10493
10512
  max_unavailable=123,
10494
- max_unavailable_percentage=123
10513
+ max_unavailable_percentage=123,
10514
+ update_strategy="updateStrategy"
10495
10515
  ),
10496
10516
  version="version"
10497
10517
  )
@@ -22151,6 +22171,7 @@ def _typecheckingstub__883c5208b02930e4808e078b3ecb98b51411fa92d248a8031301fe543
22151
22171
  *,
22152
22172
  max_unavailable: typing.Optional[jsii.Number] = None,
22153
22173
  max_unavailable_percentage: typing.Optional[jsii.Number] = None,
22174
+ update_strategy: typing.Optional[builtins.str] = None,
22154
22175
  ) -> None:
22155
22176
  """Type checking stubs"""
22156
22177
  pass