aws-cdk-lib 2.167.2__py3-none-any.whl → 2.169.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 (60) hide show
  1. aws_cdk/__init__.py +2083 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.167.2.jsii.tgz → aws-cdk-lib@2.169.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_accessanalyzer/__init__.py +244 -13
  5. aws_cdk/aws_applicationautoscaling/__init__.py +1691 -95
  6. aws_cdk/aws_applicationinsights/__init__.py +41 -0
  7. aws_cdk/aws_applicationsignals/__init__.py +124 -0
  8. aws_cdk/aws_autoscaling/__init__.py +743 -7
  9. aws_cdk/aws_batch/__init__.py +202 -5
  10. aws_cdk/aws_bedrock/__init__.py +12 -12
  11. aws_cdk/aws_cleanrooms/__init__.py +17 -8
  12. aws_cdk/aws_cloudformation/__init__.py +2571 -492
  13. aws_cdk/aws_cloudfront/__init__.py +281 -0
  14. aws_cdk/aws_cloudfront/experimental/__init__.py +5 -0
  15. aws_cdk/aws_cloudfront_origins/__init__.py +714 -132
  16. aws_cdk/aws_cloudtrail/__init__.py +52 -14
  17. aws_cdk/aws_codebuild/__init__.py +670 -4
  18. aws_cdk/aws_connect/__init__.py +378 -0
  19. aws_cdk/aws_connectcampaignsv2/__init__.py +3376 -0
  20. aws_cdk/aws_customerprofiles/__init__.py +44 -0
  21. aws_cdk/aws_deadline/__init__.py +299 -6
  22. aws_cdk/aws_dynamodb/__init__.py +359 -16
  23. aws_cdk/aws_ec2/__init__.py +19 -6
  24. aws_cdk/aws_ecs/__init__.py +231 -12
  25. aws_cdk/aws_efs/__init__.py +61 -4
  26. aws_cdk/aws_eks/__init__.py +116 -0
  27. aws_cdk/aws_elasticloadbalancingv2/__init__.py +160 -11
  28. aws_cdk/aws_fis/__init__.py +495 -0
  29. aws_cdk/aws_gamelift/__init__.py +3204 -1104
  30. aws_cdk/aws_iot/__init__.py +209 -0
  31. aws_cdk/aws_iotfleetwise/__init__.py +550 -0
  32. aws_cdk/aws_iotsitewise/__init__.py +6 -3
  33. aws_cdk/aws_ivs/__init__.py +458 -0
  34. aws_cdk/aws_kinesisfirehose/__init__.py +756 -8
  35. aws_cdk/aws_lambda/__init__.py +634 -259
  36. aws_cdk/aws_lambda_destinations/__init__.py +73 -0
  37. aws_cdk/aws_lambda_event_sources/__init__.py +102 -2
  38. aws_cdk/aws_location/__init__.py +18 -18
  39. aws_cdk/aws_mediastore/__init__.py +22 -10
  40. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  41. aws_cdk/aws_quicksight/__init__.py +35 -19
  42. aws_cdk/aws_rbin/__init__.py +902 -0
  43. aws_cdk/aws_rds/__init__.py +166 -3
  44. aws_cdk/aws_route53resolver/__init__.py +76 -19
  45. aws_cdk/aws_sagemaker/__init__.py +32 -0
  46. aws_cdk/aws_securityhub/__init__.py +11 -14
  47. aws_cdk/aws_ses/__init__.py +58 -5
  48. aws_cdk/aws_sns/__init__.py +593 -8
  49. aws_cdk/aws_sns_subscriptions/__init__.py +68 -22
  50. aws_cdk/aws_stepfunctions_tasks/__init__.py +1601 -8
  51. aws_cdk/aws_synthetics/__init__.py +46 -0
  52. aws_cdk/aws_transfer/__init__.py +0 -8
  53. aws_cdk/aws_vpclattice/__init__.py +157 -2
  54. aws_cdk/aws_wisdom/__init__.py +113 -69
  55. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/METADATA +1 -1
  56. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/RECORD +60 -58
  57. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/LICENSE +0 -0
  58. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/NOTICE +0 -0
  59. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/WHEEL +0 -0
  60. {aws_cdk_lib-2.167.2.dist-info → aws_cdk_lib-2.169.0.dist-info}/top_level.txt +0 -0
@@ -8148,6 +8148,7 @@ class CfnService(
8148
8148
  from aws_cdk import aws_ecs as ecs
8149
8149
 
8150
8150
  cfn_service = ecs.CfnService(self, "MyCfnService",
8151
+ availability_zone_rebalancing="availabilityZoneRebalancing",
8151
8152
  capacity_provider_strategy=[ecs.CfnService.CapacityProviderStrategyItemProperty(
8152
8153
  base=123,
8153
8154
  capacity_provider="capacityProvider",
@@ -8285,6 +8286,11 @@ class CfnService(
8285
8286
  throughput=123,
8286
8287
  volume_type="volumeType"
8287
8288
  )
8289
+ )],
8290
+ vpc_lattice_configurations=[ecs.CfnService.VpcLatticeConfigurationProperty(
8291
+ port_name="portName",
8292
+ role_arn="roleArn",
8293
+ target_group_arn="targetGroupArn"
8288
8294
  )]
8289
8295
  )
8290
8296
  '''
@@ -8294,6 +8300,7 @@ class CfnService(
8294
8300
  scope: _constructs_77d1e7e8.Construct,
8295
8301
  id: builtins.str,
8296
8302
  *,
8303
+ availability_zone_rebalancing: typing.Optional[builtins.str] = None,
8297
8304
  capacity_provider_strategy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnService.CapacityProviderStrategyItemProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
8298
8305
  cluster: typing.Optional[builtins.str] = None,
8299
8306
  deployment_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnService.DeploymentConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -8317,10 +8324,12 @@ class CfnService(
8317
8324
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
8318
8325
  task_definition: typing.Optional[builtins.str] = None,
8319
8326
  volume_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnService.ServiceVolumeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
8327
+ vpc_lattice_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnService.VpcLatticeConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
8320
8328
  ) -> None:
8321
8329
  '''
8322
8330
  :param scope: Scope in which this resource is defined.
8323
8331
  :param id: Construct identifier for this resource (unique in its scope).
8332
+ :param availability_zone_rebalancing: Default: - "DISABLED"
8324
8333
  :param capacity_provider_strategy: The capacity provider strategy to use for the service. If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used. A capacity provider strategy may contain a maximum of 6 capacity providers.
8325
8334
  :param cluster: The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.
8326
8335
  :param deployment_configuration: Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
@@ -8328,7 +8337,7 @@ class CfnService(
8328
8337
  :param desired_count: The number of instantiations of the specified task definition to place and keep running in your service. For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
8329
8338
  :param enable_ecs_managed_tags: Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see `Tagging your Amazon ECS resources <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html>`_ in the *Amazon Elastic Container Service Developer Guide* . When you use Amazon ECS managed tags, you need to set the ``propagateTags`` request parameter.
8330
8339
  :param enable_execute_command: Determines whether the execute command functionality is turned on for the service. If ``true`` , the execute command functionality is turned on for all containers in tasks as part of the service.
8331
- :param health_check_grace_period_seconds: 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. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of ``0`` is used. If you do not use an Elastic Load Balancing, we recommend that you use the ``startPeriod`` in the task definition health check parameters. For more information, see `Health check <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html>`_ . If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
8340
+ :param health_check_grace_period_seconds: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you don't specify a health check grace period value, the default value of ``0`` is used. If you don't use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service's tasks take a while to start and respond to health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
8332
8341
  :param launch_type: The launch type on which to run your service. For more information, see `Amazon ECS Launch Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
8333
8342
  :param load_balancers: A list of load balancer objects to associate with the service. If you specify the ``Role`` property, ``LoadBalancers`` must be specified as well. For information about the number of load balancers that you can specify per service, see `Service Load Balancing <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
8334
8343
  :param network_configuration: The network configuration for the service. This parameter is required for task definitions that use the ``awsvpc`` network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see `Task Networking <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
@@ -8344,12 +8353,14 @@ class CfnService(
8344
8353
  :param tags: The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well. The following basic restrictions apply to tags: - Maximum number of tags per resource - 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length - 128 Unicode characters in UTF-8 - Maximum value length - 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
8345
8354
  :param task_definition: The ``family`` and ``revision`` ( ``family:revision`` ) or full ARN of the task definition to run in your service. If a ``revision`` isn't specified, the latest ``ACTIVE`` revision is used. A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers. For more information about deployment types, see `Amazon ECS deployment types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ .
8346
8355
  :param volume_configurations: The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume.
8356
+ :param vpc_lattice_configurations: The VPC Lattice configuration for the service being created.
8347
8357
  '''
8348
8358
  if __debug__:
8349
8359
  type_hints = typing.get_type_hints(_typecheckingstub__ec1192a1d20e03deef75c7fa1457b92ecf9506c5c5df97b5a4473fc3a9a714ef)
8350
8360
  check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
8351
8361
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
8352
8362
  props = CfnServiceProps(
8363
+ availability_zone_rebalancing=availability_zone_rebalancing,
8353
8364
  capacity_provider_strategy=capacity_provider_strategy,
8354
8365
  cluster=cluster,
8355
8366
  deployment_configuration=deployment_configuration,
@@ -8373,6 +8384,7 @@ class CfnService(
8373
8384
  tags=tags,
8374
8385
  task_definition=task_definition,
8375
8386
  volume_configurations=volume_configurations,
8387
+ vpc_lattice_configurations=vpc_lattice_configurations,
8376
8388
  )
8377
8389
 
8378
8390
  jsii.create(self.__class__, self, [scope, id, props])
@@ -8436,6 +8448,21 @@ class CfnService(
8436
8448
  '''Tag Manager which manages the tags for this resource.'''
8437
8449
  return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
8438
8450
 
8451
+ @builtins.property
8452
+ @jsii.member(jsii_name="availabilityZoneRebalancing")
8453
+ def availability_zone_rebalancing(self) -> typing.Optional[builtins.str]:
8454
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "availabilityZoneRebalancing"))
8455
+
8456
+ @availability_zone_rebalancing.setter
8457
+ def availability_zone_rebalancing(
8458
+ self,
8459
+ value: typing.Optional[builtins.str],
8460
+ ) -> None:
8461
+ if __debug__:
8462
+ type_hints = typing.get_type_hints(_typecheckingstub__52cbfeaf8fbad41fd40801af6ef8ccd8415f38381fd4fba04e60fdfe449d1ea1)
8463
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8464
+ jsii.set(self, "availabilityZoneRebalancing", value) # pyright: ignore[reportArgumentType]
8465
+
8439
8466
  @builtins.property
8440
8467
  @jsii.member(jsii_name="capacityProviderStrategy")
8441
8468
  def capacity_provider_strategy(
@@ -8555,7 +8582,7 @@ class CfnService(
8555
8582
  @builtins.property
8556
8583
  @jsii.member(jsii_name="healthCheckGracePeriodSeconds")
8557
8584
  def health_check_grace_period_seconds(self) -> typing.Optional[jsii.Number]:
8558
- '''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.'''
8585
+ '''The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started.'''
8559
8586
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "healthCheckGracePeriodSeconds"))
8560
8587
 
8561
8588
  @health_check_grace_period_seconds.setter
@@ -8804,6 +8831,24 @@ class CfnService(
8804
8831
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8805
8832
  jsii.set(self, "volumeConfigurations", value) # pyright: ignore[reportArgumentType]
8806
8833
 
8834
+ @builtins.property
8835
+ @jsii.member(jsii_name="vpcLatticeConfigurations")
8836
+ def vpc_lattice_configurations(
8837
+ self,
8838
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnService.VpcLatticeConfigurationProperty"]]]]:
8839
+ '''The VPC Lattice configuration for the service being created.'''
8840
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnService.VpcLatticeConfigurationProperty"]]]], jsii.get(self, "vpcLatticeConfigurations"))
8841
+
8842
+ @vpc_lattice_configurations.setter
8843
+ def vpc_lattice_configurations(
8844
+ self,
8845
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnService.VpcLatticeConfigurationProperty"]]]],
8846
+ ) -> None:
8847
+ if __debug__:
8848
+ type_hints = typing.get_type_hints(_typecheckingstub__e2af64fb9defca157f1246b9e5c27f87c21cd5930eb232ddeb8f17161a2498af)
8849
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8850
+ jsii.set(self, "vpcLatticeConfigurations", value) # pyright: ignore[reportArgumentType]
8851
+
8807
8852
  @jsii.data_type(
8808
8853
  jsii_type="aws-cdk-lib.aws_ecs.CfnService.AwsVpcConfigurationProperty",
8809
8854
  jsii_struct_bases=[],
@@ -11317,11 +11362,106 @@ class CfnService(
11317
11362
  k + "=" + repr(v) for k, v in self._values.items()
11318
11363
  )
11319
11364
 
11365
+ @jsii.data_type(
11366
+ jsii_type="aws-cdk-lib.aws_ecs.CfnService.VpcLatticeConfigurationProperty",
11367
+ jsii_struct_bases=[],
11368
+ name_mapping={
11369
+ "port_name": "portName",
11370
+ "role_arn": "roleArn",
11371
+ "target_group_arn": "targetGroupArn",
11372
+ },
11373
+ )
11374
+ class VpcLatticeConfigurationProperty:
11375
+ def __init__(
11376
+ self,
11377
+ *,
11378
+ port_name: builtins.str,
11379
+ role_arn: builtins.str,
11380
+ target_group_arn: builtins.str,
11381
+ ) -> None:
11382
+ '''The VPC Lattice configuration for your service that holds the information for the target group(s) Amazon ECS tasks will be registered to.
11383
+
11384
+ :param port_name: The name of the port mapping to register in the VPC Lattice target group. This is the name of the ``portMapping`` you defined in your task definition.
11385
+ :param role_arn: The ARN of the IAM role to associate with this VPC Lattice configuration. This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.
11386
+ :param target_group_arn: The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.
11387
+
11388
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-vpclatticeconfiguration.html
11389
+ :exampleMetadata: fixture=_generated
11390
+
11391
+ Example::
11392
+
11393
+ # The code below shows an example of how to instantiate this type.
11394
+ # The values are placeholders you should change.
11395
+ from aws_cdk import aws_ecs as ecs
11396
+
11397
+ vpc_lattice_configuration_property = ecs.CfnService.VpcLatticeConfigurationProperty(
11398
+ port_name="portName",
11399
+ role_arn="roleArn",
11400
+ target_group_arn="targetGroupArn"
11401
+ )
11402
+ '''
11403
+ if __debug__:
11404
+ type_hints = typing.get_type_hints(_typecheckingstub__6d05b4cedc8504915f9e19862e91955355b21b1ceedc604b97b7b446d31f62e1)
11405
+ check_type(argname="argument port_name", value=port_name, expected_type=type_hints["port_name"])
11406
+ check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
11407
+ check_type(argname="argument target_group_arn", value=target_group_arn, expected_type=type_hints["target_group_arn"])
11408
+ self._values: typing.Dict[builtins.str, typing.Any] = {
11409
+ "port_name": port_name,
11410
+ "role_arn": role_arn,
11411
+ "target_group_arn": target_group_arn,
11412
+ }
11413
+
11414
+ @builtins.property
11415
+ def port_name(self) -> builtins.str:
11416
+ '''The name of the port mapping to register in the VPC Lattice target group.
11417
+
11418
+ This is the name of the ``portMapping`` you defined in your task definition.
11419
+
11420
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-vpclatticeconfiguration.html#cfn-ecs-service-vpclatticeconfiguration-portname
11421
+ '''
11422
+ result = self._values.get("port_name")
11423
+ assert result is not None, "Required property 'port_name' is missing"
11424
+ return typing.cast(builtins.str, result)
11425
+
11426
+ @builtins.property
11427
+ def role_arn(self) -> builtins.str:
11428
+ '''The ARN of the IAM role to associate with this VPC Lattice configuration.
11429
+
11430
+ This is the Amazon ECS infrastructure IAM role that is used to manage your VPC Lattice infrastructure.
11431
+
11432
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-vpclatticeconfiguration.html#cfn-ecs-service-vpclatticeconfiguration-rolearn
11433
+ '''
11434
+ result = self._values.get("role_arn")
11435
+ assert result is not None, "Required property 'role_arn' is missing"
11436
+ return typing.cast(builtins.str, result)
11437
+
11438
+ @builtins.property
11439
+ def target_group_arn(self) -> builtins.str:
11440
+ '''The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice configuration that the Amazon ECS tasks will be registered to.
11441
+
11442
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-vpclatticeconfiguration.html#cfn-ecs-service-vpclatticeconfiguration-targetgrouparn
11443
+ '''
11444
+ result = self._values.get("target_group_arn")
11445
+ assert result is not None, "Required property 'target_group_arn' is missing"
11446
+ return typing.cast(builtins.str, result)
11447
+
11448
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
11449
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
11450
+
11451
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
11452
+ return not (rhs == self)
11453
+
11454
+ def __repr__(self) -> str:
11455
+ return "VpcLatticeConfigurationProperty(%s)" % ", ".join(
11456
+ k + "=" + repr(v) for k, v in self._values.items()
11457
+ )
11458
+
11320
11459
 
11321
11460
  @jsii.data_type(
11322
11461
  jsii_type="aws-cdk-lib.aws_ecs.CfnServiceProps",
11323
11462
  jsii_struct_bases=[],
11324
11463
  name_mapping={
11464
+ "availability_zone_rebalancing": "availabilityZoneRebalancing",
11325
11465
  "capacity_provider_strategy": "capacityProviderStrategy",
11326
11466
  "cluster": "cluster",
11327
11467
  "deployment_configuration": "deploymentConfiguration",
@@ -11345,12 +11485,14 @@ class CfnService(
11345
11485
  "tags": "tags",
11346
11486
  "task_definition": "taskDefinition",
11347
11487
  "volume_configurations": "volumeConfigurations",
11488
+ "vpc_lattice_configurations": "vpcLatticeConfigurations",
11348
11489
  },
11349
11490
  )
11350
11491
  class CfnServiceProps:
11351
11492
  def __init__(
11352
11493
  self,
11353
11494
  *,
11495
+ availability_zone_rebalancing: typing.Optional[builtins.str] = None,
11354
11496
  capacity_provider_strategy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.CapacityProviderStrategyItemProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
11355
11497
  cluster: typing.Optional[builtins.str] = None,
11356
11498
  deployment_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.DeploymentConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -11374,9 +11516,11 @@ class CfnServiceProps:
11374
11516
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
11375
11517
  task_definition: typing.Optional[builtins.str] = None,
11376
11518
  volume_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.ServiceVolumeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
11519
+ vpc_lattice_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.VpcLatticeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
11377
11520
  ) -> None:
11378
11521
  '''Properties for defining a ``CfnService``.
11379
11522
 
11523
+ :param availability_zone_rebalancing: Default: - "DISABLED"
11380
11524
  :param capacity_provider_strategy: The capacity provider strategy to use for the service. If a ``capacityProviderStrategy`` is specified, the ``launchType`` parameter must be omitted. If no ``capacityProviderStrategy`` or ``launchType`` is specified, the ``defaultCapacityProviderStrategy`` for the cluster is used. A capacity provider strategy may contain a maximum of 6 capacity providers.
11381
11525
  :param cluster: The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on. If you do not specify a cluster, the default cluster is assumed.
11382
11526
  :param deployment_configuration: Optional deployment parameters that control how many tasks run during the deployment and the ordering of stopping and starting tasks.
@@ -11384,7 +11528,7 @@ class CfnServiceProps:
11384
11528
  :param desired_count: The number of instantiations of the specified task definition to place and keep running in your service. For new services, if a desired count is not specified, a default value of ``1`` is used. When using the ``DAEMON`` scheduling strategy, the desired count is not required. For existing services, if a desired count is not specified, it is omitted from the operation.
11385
11529
  :param enable_ecs_managed_tags: Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For more information, see `Tagging your Amazon ECS resources <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html>`_ in the *Amazon Elastic Container Service Developer Guide* . When you use Amazon ECS managed tags, you need to set the ``propagateTags`` request parameter.
11386
11530
  :param enable_execute_command: Determines whether the execute command functionality is turned on for the service. If ``true`` , the execute command functionality is turned on for all containers in tasks as part of the service.
11387
- :param health_check_grace_period_seconds: 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. This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of ``0`` is used. If you do not use an Elastic Load Balancing, we recommend that you use the ``startPeriod`` in the task definition health check parameters. For more information, see `Health check <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html>`_ . If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
11531
+ :param health_check_grace_period_seconds: The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you don't specify a health check grace period value, the default value of ``0`` is used. If you don't use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service's tasks take a while to start and respond to health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
11388
11532
  :param launch_type: The launch type on which to run your service. For more information, see `Amazon ECS Launch Types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
11389
11533
  :param load_balancers: A list of load balancer objects to associate with the service. If you specify the ``Role`` property, ``LoadBalancers`` must be specified as well. For information about the number of load balancers that you can specify per service, see `Service Load Balancing <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
11390
11534
  :param network_configuration: The network configuration for the service. This parameter is required for task definitions that use the ``awsvpc`` network mode to receive their own elastic network interface, and it is not supported for other network modes. For more information, see `Task Networking <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
@@ -11400,6 +11544,7 @@ class CfnServiceProps:
11400
11544
  :param tags: The metadata that you apply to the service to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. When a service is deleted, the tags are deleted as well. The following basic restrictions apply to tags: - Maximum number of tags per resource - 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length - 128 Unicode characters in UTF-8 - Maximum value length - 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
11401
11545
  :param task_definition: The ``family`` and ``revision`` ( ``family:revision`` ) or full ARN of the task definition to run in your service. If a ``revision`` isn't specified, the latest ``ACTIVE`` revision is used. A task definition must be specified if the service uses either the ``ECS`` or ``CODE_DEPLOY`` deployment controllers. For more information about deployment types, see `Amazon ECS deployment types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-types.html>`_ .
11402
11546
  :param volume_configurations: The configuration for a volume specified in the task definition as a volume that is configured at launch time. Currently, the only supported volume type is an Amazon EBS volume.
11547
+ :param vpc_lattice_configurations: The VPC Lattice configuration for the service being created.
11403
11548
 
11404
11549
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html
11405
11550
  :exampleMetadata: fixture=_generated
@@ -11411,6 +11556,7 @@ class CfnServiceProps:
11411
11556
  from aws_cdk import aws_ecs as ecs
11412
11557
 
11413
11558
  cfn_service_props = ecs.CfnServiceProps(
11559
+ availability_zone_rebalancing="availabilityZoneRebalancing",
11414
11560
  capacity_provider_strategy=[ecs.CfnService.CapacityProviderStrategyItemProperty(
11415
11561
  base=123,
11416
11562
  capacity_provider="capacityProvider",
@@ -11548,11 +11694,17 @@ class CfnServiceProps:
11548
11694
  throughput=123,
11549
11695
  volume_type="volumeType"
11550
11696
  )
11697
+ )],
11698
+ vpc_lattice_configurations=[ecs.CfnService.VpcLatticeConfigurationProperty(
11699
+ port_name="portName",
11700
+ role_arn="roleArn",
11701
+ target_group_arn="targetGroupArn"
11551
11702
  )]
11552
11703
  )
11553
11704
  '''
11554
11705
  if __debug__:
11555
11706
  type_hints = typing.get_type_hints(_typecheckingstub__7f93658ccdbf3f250d0d1ce12224e9eddaef71a8f664c6a279122f60df5b8e83)
11707
+ check_type(argname="argument availability_zone_rebalancing", value=availability_zone_rebalancing, expected_type=type_hints["availability_zone_rebalancing"])
11556
11708
  check_type(argname="argument capacity_provider_strategy", value=capacity_provider_strategy, expected_type=type_hints["capacity_provider_strategy"])
11557
11709
  check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
11558
11710
  check_type(argname="argument deployment_configuration", value=deployment_configuration, expected_type=type_hints["deployment_configuration"])
@@ -11576,7 +11728,10 @@ class CfnServiceProps:
11576
11728
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
11577
11729
  check_type(argname="argument task_definition", value=task_definition, expected_type=type_hints["task_definition"])
11578
11730
  check_type(argname="argument volume_configurations", value=volume_configurations, expected_type=type_hints["volume_configurations"])
11731
+ check_type(argname="argument vpc_lattice_configurations", value=vpc_lattice_configurations, expected_type=type_hints["vpc_lattice_configurations"])
11579
11732
  self._values: typing.Dict[builtins.str, typing.Any] = {}
11733
+ if availability_zone_rebalancing is not None:
11734
+ self._values["availability_zone_rebalancing"] = availability_zone_rebalancing
11580
11735
  if capacity_provider_strategy is not None:
11581
11736
  self._values["capacity_provider_strategy"] = capacity_provider_strategy
11582
11737
  if cluster is not None:
@@ -11623,6 +11778,18 @@ class CfnServiceProps:
11623
11778
  self._values["task_definition"] = task_definition
11624
11779
  if volume_configurations is not None:
11625
11780
  self._values["volume_configurations"] = volume_configurations
11781
+ if vpc_lattice_configurations is not None:
11782
+ self._values["vpc_lattice_configurations"] = vpc_lattice_configurations
11783
+
11784
+ @builtins.property
11785
+ def availability_zone_rebalancing(self) -> typing.Optional[builtins.str]:
11786
+ '''
11787
+ :default: - "DISABLED"
11788
+
11789
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-availabilityzonerebalancing
11790
+ '''
11791
+ result = self._values.get("availability_zone_rebalancing")
11792
+ return typing.cast(typing.Optional[builtins.str], result)
11626
11793
 
11627
11794
  @builtins.property
11628
11795
  def capacity_provider_strategy(
@@ -11717,13 +11884,11 @@ class CfnServiceProps:
11717
11884
 
11718
11885
  @builtins.property
11719
11886
  def health_check_grace_period_seconds(self) -> typing.Optional[jsii.Number]:
11720
- '''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.
11887
+ '''The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started.
11721
11888
 
11722
- This is only used when your service is configured to use a load balancer. If your service has a load balancer defined and you don't specify a health check grace period value, the default value of ``0`` is used.
11889
+ If you don't specify a health check grace period value, the default value of ``0`` is used. If you don't use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused.
11723
11890
 
11724
- If you do not use an Elastic Load Balancing, we recommend that you use the ``startPeriod`` in the task definition health check parameters. For more information, see `Health check <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_HealthCheck.html>`_ .
11725
-
11726
- If your service's tasks take a while to start and respond to Elastic Load Balancing health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
11891
+ If your service's tasks take a while to start and respond to health checks, you can specify a health check grace period of up to 2,147,483,647 seconds (about 69 years). During that time, the Amazon ECS service scheduler ignores health check status. This grace period can prevent the service scheduler from marking tasks as unhealthy and stopping them before they have time to come up.
11727
11892
 
11728
11893
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-healthcheckgraceperiodseconds
11729
11894
  '''
@@ -11950,6 +12115,17 @@ class CfnServiceProps:
11950
12115
  result = self._values.get("volume_configurations")
11951
12116
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnService.ServiceVolumeConfigurationProperty]]]], result)
11952
12117
 
12118
+ @builtins.property
12119
+ def vpc_lattice_configurations(
12120
+ self,
12121
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnService.VpcLatticeConfigurationProperty]]]]:
12122
+ '''The VPC Lattice configuration for the service being created.
12123
+
12124
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html#cfn-ecs-service-vpclatticeconfigurations
12125
+ '''
12126
+ result = self._values.get("vpc_lattice_configurations")
12127
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnService.VpcLatticeConfigurationProperty]]]], result)
12128
+
11953
12129
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
11954
12130
  return isinstance(rhs, self.__class__) and rhs._values == self._values
11955
12131
 
@@ -12116,6 +12292,7 @@ class CfnTaskDefinition(
12116
12292
  soft_limit=123
12117
12293
  )],
12118
12294
  user="user",
12295
+ version_consistency="versionConsistency",
12119
12296
  volumes_from=[ecs.CfnTaskDefinition.VolumeFromProperty(
12120
12297
  read_only=False,
12121
12298
  source_container="sourceContainer"
@@ -12701,6 +12878,7 @@ class CfnTaskDefinition(
12701
12878
  "system_controls": "systemControls",
12702
12879
  "ulimits": "ulimits",
12703
12880
  "user": "user",
12881
+ "version_consistency": "versionConsistency",
12704
12882
  "volumes_from": "volumesFrom",
12705
12883
  "working_directory": "workingDirectory",
12706
12884
  },
@@ -12748,6 +12926,7 @@ class CfnTaskDefinition(
12748
12926
  system_controls: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.SystemControlProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
12749
12927
  ulimits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.UlimitProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
12750
12928
  user: typing.Optional[builtins.str] = None,
12929
+ version_consistency: typing.Optional[builtins.str] = None,
12751
12930
  volumes_from: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.VolumeFromProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
12752
12931
  working_directory: typing.Optional[builtins.str] = None,
12753
12932
  ) -> None:
@@ -12794,6 +12973,7 @@ class CfnTaskDefinition(
12794
12973
  :param system_controls: A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in the docker container create command and the ``--sysctl`` option to docker run. For example, you can configure ``net.ipv4.tcp_keepalive_time`` setting to maintain longer lived connections.
12795
12974
  :param ulimits: A list of ``ulimits`` to set in the container. This parameter maps to ``Ulimits`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.35/>`_ and the ``--ulimit`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/>`_ . Valid naming values are displayed in the `Ulimit <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html>`_ data type. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: ``sudo docker version --format '{{.Server.APIVersion}}'`` .. epigraph:: This parameter is not supported for Windows containers.
12796
12975
  :param user: The user to use inside the container. This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run. .. epigraph:: When running tasks using the ``host`` network mode, don't run containers using the root user (UID 0). We recommend using a non-root user for better security. You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer. - ``user`` - ``user:group`` - ``uid`` - ``uid:gid`` - ``user:gid`` - ``uid:group`` .. epigraph:: This parameter is not supported for Windows containers.
12976
+ :param version_consistency: Default: - "enabled"
12797
12977
  :param volumes_from: Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in the docker container create command and the ``--volumes-from`` option to docker run.
12798
12978
  :param working_directory: The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run.
12799
12979
 
@@ -12935,6 +13115,7 @@ class CfnTaskDefinition(
12935
13115
  soft_limit=123
12936
13116
  )],
12937
13117
  user="user",
13118
+ version_consistency="versionConsistency",
12938
13119
  volumes_from=[ecs.CfnTaskDefinition.VolumeFromProperty(
12939
13120
  read_only=False,
12940
13121
  source_container="sourceContainer"
@@ -12983,6 +13164,7 @@ class CfnTaskDefinition(
12983
13164
  check_type(argname="argument system_controls", value=system_controls, expected_type=type_hints["system_controls"])
12984
13165
  check_type(argname="argument ulimits", value=ulimits, expected_type=type_hints["ulimits"])
12985
13166
  check_type(argname="argument user", value=user, expected_type=type_hints["user"])
13167
+ check_type(argname="argument version_consistency", value=version_consistency, expected_type=type_hints["version_consistency"])
12986
13168
  check_type(argname="argument volumes_from", value=volumes_from, expected_type=type_hints["volumes_from"])
12987
13169
  check_type(argname="argument working_directory", value=working_directory, expected_type=type_hints["working_directory"])
12988
13170
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -13063,6 +13245,8 @@ class CfnTaskDefinition(
13063
13245
  self._values["ulimits"] = ulimits
13064
13246
  if user is not None:
13065
13247
  self._values["user"] = user
13248
+ if version_consistency is not None:
13249
+ self._values["version_consistency"] = version_consistency
13066
13250
  if volumes_from is not None:
13067
13251
  self._values["volumes_from"] = volumes_from
13068
13252
  if working_directory is not None:
@@ -13714,6 +13898,16 @@ class CfnTaskDefinition(
13714
13898
  result = self._values.get("user")
13715
13899
  return typing.cast(typing.Optional[builtins.str], result)
13716
13900
 
13901
+ @builtins.property
13902
+ def version_consistency(self) -> typing.Optional[builtins.str]:
13903
+ '''
13904
+ :default: - "enabled"
13905
+
13906
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-versionconsistency
13907
+ '''
13908
+ result = self._values.get("version_consistency")
13909
+ return typing.cast(typing.Optional[builtins.str], result)
13910
+
13717
13911
  @builtins.property
13718
13912
  def volumes_from(
13719
13913
  self,
@@ -15677,7 +15871,7 @@ class CfnTaskDefinition(
15677
15871
  :param container_port: The port number on the container that's bound to the user-specified or automatically assigned host port. If you use containers in a task with the ``awsvpc`` or ``host`` network mode, specify the exposed ports using ``containerPort`` . If you use containers in a task with the ``bridge`` network mode and you specify a container port and not a host port, your container automatically receives a host port in the ephemeral port range. For more information, see ``hostPort`` . Port mappings that are automatically assigned in this way do not count toward the 100 reserved ports limit of a container instance.
15678
15872
  :param container_port_range: The port number range on the container that's bound to the dynamically mapped host port range. The following rules apply when you specify a ``containerPortRange`` : - You must use either the ``bridge`` network mode or the ``awsvpc`` network mode. - This parameter is available for both the EC2 and AWS Fargate launch types. - This parameter is available for both the Linux and Windows operating systems. - The container instance must have at least version 1.67.0 of the container agent and at least version 1.67.0-1 of the ``ecs-init`` package - You can specify a maximum of 100 port ranges per container. - You do not specify a ``hostPortRange`` . The value of the ``hostPortRange`` is set as follows: - For containers in a task with the ``awsvpc`` network mode, the ``hostPortRange`` is set to the same value as the ``containerPortRange`` . This is a static mapping strategy. - For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports. - The ``containerPortRange`` valid values are between 1 and 65535. - A port can only be included in one port mapping per container. - You cannot specify overlapping port ranges. - The first port in the range must be less than last port in the range. - Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports. For more information, see `Issue #11185 <https://docs.aws.amazon.com/https://github.com/moby/moby/issues/11185>`_ on the Github website. For information about how to turn off the docker-proxy in the Docker daemon config file, see `Docker daemon <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon>`_ in the *Amazon ECS Developer Guide* . You can call ```DescribeTasks`` <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html>`_ to view the ``hostPortRange`` which are the host ports that are bound to the container ports.
15679
15873
  :param host_port: The port number on the container instance to reserve for your container. If you specify a ``containerPortRange`` , leave this field empty and the value of the ``hostPort`` is set as follows: - For containers in a task with the ``awsvpc`` network mode, the ``hostPort`` is set to the same value as the ``containerPort`` . This is a static mapping strategy. - For containers in a task with the ``bridge`` network mode, the Amazon ECS agent finds open ports on the host and automatically binds them to the container ports. This is a dynamic mapping strategy. If you use containers in a task with the ``awsvpc`` or ``host`` network mode, the ``hostPort`` can either be left blank or set to the same value as the ``containerPort`` . If you use containers in a task with the ``bridge`` network mode, you can specify a non-reserved host port for your container port mapping, or you can omit the ``hostPort`` (or set it to ``0`` ) while specifying a ``containerPort`` and your container automatically receives a port in the ephemeral port range for your container instance operating system and Docker version. The default ephemeral port range for Docker version 1.6.0 and later is listed on the instance under ``/proc/sys/net/ipv4/ip_local_port_range`` . If this kernel parameter is unavailable, the default ephemeral port range from 49153 through 65535 (Linux) or 49152 through 65535 (Windows) is used. Do not attempt to specify a host port in the ephemeral port range as these are reserved for automatic assignment. In general, ports below 32768 are outside of the ephemeral port range. The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the Amazon ECS container agent ports 51678-51680. Any host port that was previously specified in a running task is also reserved while the task is running. That is, after a task stops, the host port is released. The current reserved ports are displayed in the ``remainingResources`` of `DescribeContainerInstances <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html>`_ output. A container instance can have up to 100 reserved ports at a time. This number includes the default reserved ports. Automatically assigned ports aren't included in the 100 reserved ports quota.
15680
- :param name: The name that's used for the port mapping. This parameter only applies to Service Connect. This parameter is the name that you use in the ``serviceConnectConfiguration`` of a service. The name can include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen. For more information, see `Service Connect <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
15874
+ :param name: The name that's used for the port mapping. This parameter is the name that you use in the ``serviceConnectConfiguration`` and the ``vpcLatticeConfigurations`` of a service. The name can include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.
15681
15875
  :param protocol: The protocol used for the port mapping. Valid values are ``tcp`` and ``udp`` . The default is ``tcp`` . ``protocol`` is immutable in a Service Connect service. Updating this field requires a service deletion and redeployment.
15682
15876
 
15683
15877
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-portmapping.html
@@ -15807,9 +16001,7 @@ class CfnTaskDefinition(
15807
16001
  def name(self) -> typing.Optional[builtins.str]:
15808
16002
  '''The name that's used for the port mapping.
15809
16003
 
15810
- This parameter only applies to Service Connect. This parameter is the name that you use in the ``serviceConnectConfiguration`` of a service. The name can include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.
15811
-
15812
- For more information, see `Service Connect <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
16004
+ This parameter is the name that you use in the ``serviceConnectConfiguration`` and the ``vpcLatticeConfigurations`` of a service. The name can include up to 64 characters. The characters can include lowercase letters, numbers, underscores (_), and hyphens (-). The name can't start with a hyphen.
15813
16005
 
15814
16006
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-portmapping.html#cfn-ecs-taskdefinition-portmapping-name
15815
16007
  '''
@@ -17179,6 +17371,7 @@ class CfnTaskDefinitionProps:
17179
17371
  soft_limit=123
17180
17372
  )],
17181
17373
  user="user",
17374
+ version_consistency="versionConsistency",
17182
17375
  volumes_from=[ecs.CfnTaskDefinition.VolumeFromProperty(
17183
17376
  read_only=False,
17184
17377
  source_container="sourceContainer"
@@ -42480,6 +42673,7 @@ def _typecheckingstub__ec1192a1d20e03deef75c7fa1457b92ecf9506c5c5df97b5a4473fc3a
42480
42673
  scope: _constructs_77d1e7e8.Construct,
42481
42674
  id: builtins.str,
42482
42675
  *,
42676
+ availability_zone_rebalancing: typing.Optional[builtins.str] = None,
42483
42677
  capacity_provider_strategy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.CapacityProviderStrategyItemProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
42484
42678
  cluster: typing.Optional[builtins.str] = None,
42485
42679
  deployment_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.DeploymentConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -42503,6 +42697,7 @@ def _typecheckingstub__ec1192a1d20e03deef75c7fa1457b92ecf9506c5c5df97b5a4473fc3a
42503
42697
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
42504
42698
  task_definition: typing.Optional[builtins.str] = None,
42505
42699
  volume_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.ServiceVolumeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
42700
+ vpc_lattice_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.VpcLatticeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
42506
42701
  ) -> None:
42507
42702
  """Type checking stubs"""
42508
42703
  pass
@@ -42519,6 +42714,12 @@ def _typecheckingstub__b2418aef5740852913fc8b9231af6ac6ece638d13d24b7a51e74b98f2
42519
42714
  """Type checking stubs"""
42520
42715
  pass
42521
42716
 
42717
+ def _typecheckingstub__52cbfeaf8fbad41fd40801af6ef8ccd8415f38381fd4fba04e60fdfe449d1ea1(
42718
+ value: typing.Optional[builtins.str],
42719
+ ) -> None:
42720
+ """Type checking stubs"""
42721
+ pass
42722
+
42522
42723
  def _typecheckingstub__2cc9404cedce0aac2d2f2061fe9ad3f442cf33919c1a9f64eb934ded9311df13(
42523
42724
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnService.CapacityProviderStrategyItemProperty]]]],
42524
42725
  ) -> None:
@@ -42657,6 +42858,12 @@ def _typecheckingstub__f2ac135ae7ca091933f2f2f9baca1914fdf096339b6f1599966b809b9
42657
42858
  """Type checking stubs"""
42658
42859
  pass
42659
42860
 
42861
+ def _typecheckingstub__e2af64fb9defca157f1246b9e5c27f87c21cd5930eb232ddeb8f17161a2498af(
42862
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnService.VpcLatticeConfigurationProperty]]]],
42863
+ ) -> None:
42864
+ """Type checking stubs"""
42865
+ pass
42866
+
42660
42867
  def _typecheckingstub__40010db1fb42b63f942b5b11b7277545c2a1bffc42369636da9c14f813a744c5(
42661
42868
  *,
42662
42869
  assign_public_ip: typing.Optional[builtins.str] = None,
@@ -42856,8 +43063,18 @@ def _typecheckingstub__423b1a2c8c794083bf78a0cbae86dce8440201fe1e7b653bc2f6df2fb
42856
43063
  """Type checking stubs"""
42857
43064
  pass
42858
43065
 
43066
+ def _typecheckingstub__6d05b4cedc8504915f9e19862e91955355b21b1ceedc604b97b7b446d31f62e1(
43067
+ *,
43068
+ port_name: builtins.str,
43069
+ role_arn: builtins.str,
43070
+ target_group_arn: builtins.str,
43071
+ ) -> None:
43072
+ """Type checking stubs"""
43073
+ pass
43074
+
42859
43075
  def _typecheckingstub__7f93658ccdbf3f250d0d1ce12224e9eddaef71a8f664c6a279122f60df5b8e83(
42860
43076
  *,
43077
+ availability_zone_rebalancing: typing.Optional[builtins.str] = None,
42861
43078
  capacity_provider_strategy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.CapacityProviderStrategyItemProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
42862
43079
  cluster: typing.Optional[builtins.str] = None,
42863
43080
  deployment_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.DeploymentConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -42881,6 +43098,7 @@ def _typecheckingstub__7f93658ccdbf3f250d0d1ce12224e9eddaef71a8f664c6a279122f60d
42881
43098
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
42882
43099
  task_definition: typing.Optional[builtins.str] = None,
42883
43100
  volume_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.ServiceVolumeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
43101
+ vpc_lattice_configurations: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnService.VpcLatticeConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
42884
43102
  ) -> None:
42885
43103
  """Type checking stubs"""
42886
43104
  pass
@@ -43073,6 +43291,7 @@ def _typecheckingstub__d367f5be98d90056ca7f199c577c5744b20417ce5d1c8ad339824ec9d
43073
43291
  system_controls: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.SystemControlProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
43074
43292
  ulimits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.UlimitProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
43075
43293
  user: typing.Optional[builtins.str] = None,
43294
+ version_consistency: typing.Optional[builtins.str] = None,
43076
43295
  volumes_from: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.VolumeFromProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
43077
43296
  working_directory: typing.Optional[builtins.str] = None,
43078
43297
  ) -> None: