aws-cdk-lib 2.219.0__py3-none-any.whl → 2.220.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 (51) hide show
  1. aws_cdk/__init__.py +12 -17
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.219.0.jsii.tgz → aws-cdk-lib@2.220.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_applicationsignals/__init__.py +450 -2
  5. aws_cdk/aws_arcregionswitch/__init__.py +8 -0
  6. aws_cdk/aws_backup/__init__.py +29 -0
  7. aws_cdk/aws_batch/__init__.py +109 -7
  8. aws_cdk/aws_bedrock/__init__.py +44 -16
  9. aws_cdk/aws_bedrockagentcore/__init__.py +7872 -1718
  10. aws_cdk/aws_cloudfront/experimental/__init__.py +4 -0
  11. aws_cdk/aws_cloudfront_origins/__init__.py +87 -6
  12. aws_cdk/aws_cloudwatch/__init__.py +5 -5
  13. aws_cdk/aws_cognito/__init__.py +6 -4
  14. aws_cdk/aws_dax/__init__.py +12 -3
  15. aws_cdk/aws_directoryservice/__init__.py +29 -0
  16. aws_cdk/aws_ec2/__init__.py +99 -8
  17. aws_cdk/aws_ecs/__init__.py +342 -134
  18. aws_cdk/aws_eks/__init__.py +114 -9
  19. aws_cdk/aws_fsx/__init__.py +4 -4
  20. aws_cdk/aws_imagebuilder/__init__.py +397 -0
  21. aws_cdk/aws_iotsitewise/__init__.py +136 -80
  22. aws_cdk/aws_kinesis/__init__.py +95 -4
  23. aws_cdk/aws_lambda/__init__.py +43 -0
  24. aws_cdk/aws_lightsail/__init__.py +584 -0
  25. aws_cdk/aws_logs/__init__.py +57 -0
  26. aws_cdk/aws_lookoutmetrics/__init__.py +14 -2
  27. aws_cdk/aws_m2/__init__.py +59 -13
  28. aws_cdk/aws_medialive/__init__.py +108 -0
  29. aws_cdk/aws_mwaa/__init__.py +5 -5
  30. aws_cdk/aws_neptune/__init__.py +133 -70
  31. aws_cdk/aws_networkmanager/__init__.py +29 -0
  32. aws_cdk/aws_observabilityadmin/__init__.py +1227 -83
  33. aws_cdk/aws_omics/__init__.py +7 -1
  34. aws_cdk/aws_opensearchservice/__init__.py +6 -0
  35. aws_cdk/aws_pcs/__init__.py +224 -33
  36. aws_cdk/aws_pinpoint/__init__.py +58 -0
  37. aws_cdk/aws_quicksight/__init__.py +80 -0
  38. aws_cdk/aws_rds/__init__.py +29 -23
  39. aws_cdk/aws_refactorspaces/__init__.py +18 -6
  40. aws_cdk/aws_route53/__init__.py +130 -6
  41. aws_cdk/aws_s3/__init__.py +29 -2
  42. aws_cdk/aws_s3objectlambda/__init__.py +44 -12
  43. aws_cdk/aws_servicecatalog/__init__.py +25 -20
  44. aws_cdk/aws_ssmquicksetup/__init__.py +3 -3
  45. aws_cdk/aws_synthetics/__init__.py +21 -1
  46. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/METADATA +1 -1
  47. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/RECORD +51 -51
  48. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/LICENSE +0 -0
  49. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/NOTICE +0 -0
  50. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/WHEEL +0 -0
  51. {aws_cdk_lib-2.219.0.dist-info → aws_cdk_lib-2.220.0.dist-info}/top_level.txt +0 -0
@@ -6882,7 +6882,7 @@ class CfnCapacityProviderProps:
6882
6882
 
6883
6883
  :param auto_scaling_group_provider: The Auto Scaling group settings for the capacity provider.
6884
6884
  :param cluster_name:
6885
- :param managed_instances_provider:
6885
+ :param managed_instances_provider: The configuration for the Amazon ECS Managed Instances provider. This includes the infrastructure role, the launch template configuration, and tag propagation settings.
6886
6886
  :param name: The name of the capacity provider. If a name is specified, it cannot start with ``aws`` , ``ecs`` , or ``fargate`` . If no name is specified, a default name in the ``CFNStackName-CFNResourceName-RandomString`` format is used.
6887
6887
  :param tags: The metadata that you apply to the capacity provider to help you categorize and organize it. Each tag consists of a key and an optional value. You define both. 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: + - = . _ : /
6888
6888
 
@@ -7040,7 +7040,10 @@ class CfnCapacityProviderProps:
7040
7040
  def managed_instances_provider(
7041
7041
  self,
7042
7042
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.ManagedInstancesProviderProperty"]]:
7043
- '''
7043
+ '''The configuration for the Amazon ECS Managed Instances provider.
7044
+
7045
+ This includes the infrastructure role, the launch template configuration, and tag propagation settings.
7046
+
7044
7047
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html#cfn-ecs-capacityprovider-managedinstancesprovider
7045
7048
  '''
7046
7049
  result = self._values.get("managed_instances_provider")
@@ -7586,7 +7589,7 @@ class CfnServiceProps:
7586
7589
  :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 must set the ``propagateTags`` request parameter.
7587
7590
  :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.
7588
7591
  :param force_new_deployment: Determines whether to force a new deployment of the service. By default, deployments aren't forced. You can use this option to start a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination ( ``my_image:latest`` ) or to roll Fargate tasks onto a newer platform version.
7589
- :param health_check_grace_period_seconds: The period of time, in seconds, that the Amazon Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
7592
+ :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 do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
7590
7593
  :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* .
7591
7594
  :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* . .. epigraph:: To remove this property from your service resource, specify an empty ``LoadBalancer`` array.
7592
7595
  :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* .
@@ -8004,7 +8007,7 @@ class CfnServiceProps:
8004
8007
 
8005
8008
  @builtins.property
8006
8009
  def health_check_grace_period_seconds(self) -> typing.Optional[jsii.Number]:
8007
- '''The period of time, in seconds, that the Amazon Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started.
8010
+ '''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.
8008
8011
 
8009
8012
  If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused.
8010
8013
 
@@ -8332,7 +8335,7 @@ class CfnTaskDefinitionProps:
8332
8335
  :param pid_mode: The process namespace to use for the containers in the task. The valid values are ``host`` or ``task`` . On Fargate for Linux containers, the only valid value is ``task`` . For example, monitoring sidecars might need ``pidMode`` to access information about other containers running in the same task. If ``host`` is specified, all containers within the tasks that specified the ``host`` PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace for each container. If the ``host`` PID mode is used, there's a heightened risk of undesired process namespace exposure. .. epigraph:: This parameter is not supported for Windows containers. > This parameter is only supported for tasks that are hosted on AWS Fargate if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.
8333
8336
  :param placement_constraints: An array of placement constraint objects to use for tasks. .. epigraph:: This parameter isn't supported for tasks run on AWS Fargate .
8334
8337
  :param proxy_configuration: The configuration details for the App Mesh proxy. Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, they contain the required versions of the container agent and ``ecs-init`` . For more information, see `Amazon ECS-optimized Linux AMI <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
8335
- :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
8338
+ :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``MANAGED_INSTANCES`` , ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
8336
8339
  :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.
8337
8340
  :param tags: The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. 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: + - = . _ : /
8338
8341
  :param task_role_arn: The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see `Amazon ECS Task Role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . IAM roles for tasks on Windows require that the ``-EnableTaskIAMRole`` option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code to use the feature. For more information, see `Windows IAM roles for tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . .. epigraph:: String validation is done on the ECS side. If an invalid string value is given for ``TaskRoleArn`` , it may cause the Cloudformation job to hang.
@@ -8841,7 +8844,7 @@ class CfnTaskDefinitionProps:
8841
8844
  def requires_compatibilities(self) -> typing.Optional[typing.List[builtins.str]]:
8842
8845
  '''The task launch types the task definition was validated against.
8843
8846
 
8844
- The valid values are ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
8847
+ The valid values are ``MANAGED_INSTANCES`` , ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
8845
8848
 
8846
8849
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-requirescompatibilities
8847
8850
  '''
@@ -31367,11 +31370,9 @@ class CfnCapacityProvider(
31367
31370
  metaclass=jsii.JSIIMeta,
31368
31371
  jsii_type="aws-cdk-lib.aws_ecs.CfnCapacityProvider",
31369
31372
  ):
31370
- '''Creates a new capacity provider.
31371
-
31372
- Capacity providers are associated with an Amazon ECS cluster and are used in capacity provider strategies to facilitate cluster auto scaling.
31373
+ '''Creates a capacity provider.
31373
31374
 
31374
- Only capacity providers that use an Auto Scaling group can be created. Amazon ECS tasks on AWS Fargate use the ``FARGATE`` and ``FARGATE_SPOT`` capacity providers. These providers are available to all accounts in the AWS Regions that AWS Fargate supports.
31375
+ Capacity providers are associated with a cluster and are used in capacity provider strategies to facilitate cluster auto scaling. You can create capacity providers for Amazon ECS Managed Instances and EC2 instances. AWS Fargate has the predefined ``FARGATE`` and ``FARGATE_SPOT`` capacity providers.
31375
31376
 
31376
31377
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-capacityprovider.html
31377
31378
  :cloudformationResource: AWS::ECS::CapacityProvider
@@ -31503,7 +31504,7 @@ class CfnCapacityProvider(
31503
31504
  :param id: Construct identifier for this resource (unique in its scope).
31504
31505
  :param auto_scaling_group_provider: The Auto Scaling group settings for the capacity provider.
31505
31506
  :param cluster_name:
31506
- :param managed_instances_provider:
31507
+ :param managed_instances_provider: The configuration for the Amazon ECS Managed Instances provider. This includes the infrastructure role, the launch template configuration, and tag propagation settings.
31507
31508
  :param name: The name of the capacity provider. If a name is specified, it cannot start with ``aws`` , ``ecs`` , or ``fargate`` . If no name is specified, a default name in the ``CFNStackName-CFNResourceName-RandomString`` format is used.
31508
31509
  :param tags: The metadata that you apply to the capacity provider to help you categorize and organize it. Each tag consists of a key and an optional value. You define both. 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: + - = . _ : /
31509
31510
  '''
@@ -31624,6 +31625,7 @@ class CfnCapacityProvider(
31624
31625
  def managed_instances_provider(
31625
31626
  self,
31626
31627
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.ManagedInstancesProviderProperty"]]:
31628
+ '''The configuration for the Amazon ECS Managed Instances provider.'''
31627
31629
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.ManagedInstancesProviderProperty"]], jsii.get(self, "managedInstancesProvider"))
31628
31630
 
31629
31631
  @managed_instances_provider.setter
@@ -31674,9 +31676,12 @@ class CfnCapacityProvider(
31674
31676
  max: typing.Optional[jsii.Number] = None,
31675
31677
  min: typing.Optional[jsii.Number] = None,
31676
31678
  ) -> None:
31677
- '''
31678
- :param max:
31679
- :param min:
31679
+ '''The minimum and maximum number of accelerators (such as GPUs) for instance type selection.
31680
+
31681
+ This is used for workloads that require specific numbers of accelerators.
31682
+
31683
+ :param max: The maximum number of accelerators. Instance types with more accelerators are excluded from selection.
31684
+ :param min: The minimum number of accelerators. Instance types with fewer accelerators are excluded from selection.
31680
31685
 
31681
31686
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratorcountrequest.html
31682
31687
  :exampleMetadata: fixture=_generated
@@ -31704,7 +31709,10 @@ class CfnCapacityProvider(
31704
31709
 
31705
31710
  @builtins.property
31706
31711
  def max(self) -> typing.Optional[jsii.Number]:
31707
- '''
31712
+ '''The maximum number of accelerators.
31713
+
31714
+ Instance types with more accelerators are excluded from selection.
31715
+
31708
31716
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratorcountrequest.html#cfn-ecs-capacityprovider-acceleratorcountrequest-max
31709
31717
  '''
31710
31718
  result = self._values.get("max")
@@ -31712,7 +31720,10 @@ class CfnCapacityProvider(
31712
31720
 
31713
31721
  @builtins.property
31714
31722
  def min(self) -> typing.Optional[jsii.Number]:
31715
- '''
31723
+ '''The minimum number of accelerators.
31724
+
31725
+ Instance types with fewer accelerators are excluded from selection.
31726
+
31716
31727
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratorcountrequest.html#cfn-ecs-capacityprovider-acceleratorcountrequest-min
31717
31728
  '''
31718
31729
  result = self._values.get("min")
@@ -31741,9 +31752,12 @@ class CfnCapacityProvider(
31741
31752
  max: typing.Optional[jsii.Number] = None,
31742
31753
  min: typing.Optional[jsii.Number] = None,
31743
31754
  ) -> None:
31744
- '''
31745
- :param max:
31746
- :param min:
31755
+ '''The minimum and maximum total accelerator memory in mebibytes (MiB) for instance type selection.
31756
+
31757
+ This is important for GPU workloads that require specific amounts of video memory.
31758
+
31759
+ :param max: The maximum total accelerator memory in MiB. Instance types with more accelerator memory are excluded from selection.
31760
+ :param min: The minimum total accelerator memory in MiB. Instance types with less accelerator memory are excluded from selection.
31747
31761
 
31748
31762
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratortotalmemorymibrequest.html
31749
31763
  :exampleMetadata: fixture=_generated
@@ -31771,7 +31785,10 @@ class CfnCapacityProvider(
31771
31785
 
31772
31786
  @builtins.property
31773
31787
  def max(self) -> typing.Optional[jsii.Number]:
31774
- '''
31788
+ '''The maximum total accelerator memory in MiB.
31789
+
31790
+ Instance types with more accelerator memory are excluded from selection.
31791
+
31775
31792
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratortotalmemorymibrequest.html#cfn-ecs-capacityprovider-acceleratortotalmemorymibrequest-max
31776
31793
  '''
31777
31794
  result = self._values.get("max")
@@ -31779,7 +31796,10 @@ class CfnCapacityProvider(
31779
31796
 
31780
31797
  @builtins.property
31781
31798
  def min(self) -> typing.Optional[jsii.Number]:
31782
- '''
31799
+ '''The minimum total accelerator memory in MiB.
31800
+
31801
+ Instance types with less accelerator memory are excluded from selection.
31802
+
31783
31803
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-acceleratortotalmemorymibrequest.html#cfn-ecs-capacityprovider-acceleratortotalmemorymibrequest-min
31784
31804
  '''
31785
31805
  result = self._values.get("min")
@@ -31935,9 +31955,12 @@ class CfnCapacityProvider(
31935
31955
  max: typing.Optional[jsii.Number] = None,
31936
31956
  min: typing.Optional[jsii.Number] = None,
31937
31957
  ) -> None:
31938
- '''
31939
- :param max:
31940
- :param min:
31958
+ '''The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps) for instance type selection.
31959
+
31960
+ This is important for workloads with high storage I/O requirements.
31961
+
31962
+ :param max: The maximum baseline Amazon EBS bandwidth in Mbps. Instance types with higher Amazon EBS bandwidth are excluded from selection.
31963
+ :param min: The minimum baseline Amazon EBS bandwidth in Mbps. Instance types with lower Amazon EBS bandwidth are excluded from selection.
31941
31964
 
31942
31965
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-baselineebsbandwidthmbpsrequest.html
31943
31966
  :exampleMetadata: fixture=_generated
@@ -31965,7 +31988,10 @@ class CfnCapacityProvider(
31965
31988
 
31966
31989
  @builtins.property
31967
31990
  def max(self) -> typing.Optional[jsii.Number]:
31968
- '''
31991
+ '''The maximum baseline Amazon EBS bandwidth in Mbps.
31992
+
31993
+ Instance types with higher Amazon EBS bandwidth are excluded from selection.
31994
+
31969
31995
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-baselineebsbandwidthmbpsrequest.html#cfn-ecs-capacityprovider-baselineebsbandwidthmbpsrequest-max
31970
31996
  '''
31971
31997
  result = self._values.get("max")
@@ -31973,7 +31999,10 @@ class CfnCapacityProvider(
31973
31999
 
31974
32000
  @builtins.property
31975
32001
  def min(self) -> typing.Optional[jsii.Number]:
31976
- '''
32002
+ '''The minimum baseline Amazon EBS bandwidth in Mbps.
32003
+
32004
+ Instance types with lower Amazon EBS bandwidth are excluded from selection.
32005
+
31977
32006
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-baselineebsbandwidthmbpsrequest.html#cfn-ecs-capacityprovider-baselineebsbandwidthmbpsrequest-min
31978
32007
  '''
31979
32008
  result = self._values.get("min")
@@ -32011,12 +32040,15 @@ class CfnCapacityProvider(
32011
32040
  monitoring: typing.Optional[builtins.str] = None,
32012
32041
  storage_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCapacityProvider.ManagedInstancesStorageConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
32013
32042
  ) -> None:
32014
- '''
32015
- :param ec2_instance_profile_arn:
32016
- :param network_configuration:
32017
- :param instance_requirements:
32018
- :param monitoring:
32019
- :param storage_configuration:
32043
+ '''The launch template configuration for Amazon ECS Managed Instances.
32044
+
32045
+ This defines how Amazon ECS launches Amazon EC2 instances, including the instance profile for your tasks, network and storage configuration, capacity options, and instance requirements for flexible instance type selection.
32046
+
32047
+ :param ec2_instance_profile_arn: The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access AWS services and resources. For more information, see `Amazon ECS instance profile for Managed Instances <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html>`_ in the *Amazon ECS Developer Guide* .
32048
+ :param network_configuration: The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity.
32049
+ :param instance_requirements: The instance requirements. You can specify:. - The instance types - Instance requirements such as vCPU count, memory, network performance, and accelerator specifications Amazon ECS automatically selects the instances that match the specified criteria.
32050
+ :param monitoring: CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see `Detailed monitoring for Amazon ECS Managed Instances <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/detailed-monitoring-managed-instances.html>`_ in the Amazon ECS Developer Guide.
32051
+ :param storage_configuration: The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances.
32020
32052
 
32021
32053
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html
32022
32054
  :exampleMetadata: fixture=_generated
@@ -32122,7 +32154,12 @@ class CfnCapacityProvider(
32122
32154
 
32123
32155
  @builtins.property
32124
32156
  def ec2_instance_profile_arn(self) -> builtins.str:
32125
- '''
32157
+ '''The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances.
32158
+
32159
+ This instance profile must include the necessary permissions for your tasks to access AWS services and resources.
32160
+
32161
+ For more information, see `Amazon ECS instance profile for Managed Instances <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/managed-instances-instance-profile.html>`_ in the *Amazon ECS Developer Guide* .
32162
+
32126
32163
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html#cfn-ecs-capacityprovider-instancelaunchtemplate-ec2instanceprofilearn
32127
32164
  '''
32128
32165
  result = self._values.get("ec2_instance_profile_arn")
@@ -32133,7 +32170,10 @@ class CfnCapacityProvider(
32133
32170
  def network_configuration(
32134
32171
  self,
32135
32172
  ) -> typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.ManagedInstancesNetworkConfigurationProperty"]:
32136
- '''
32173
+ '''The network configuration for Amazon ECS Managed Instances.
32174
+
32175
+ This specifies the subnets and security groups that instances use for network connectivity.
32176
+
32137
32177
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html#cfn-ecs-capacityprovider-instancelaunchtemplate-networkconfiguration
32138
32178
  '''
32139
32179
  result = self._values.get("network_configuration")
@@ -32144,7 +32184,13 @@ class CfnCapacityProvider(
32144
32184
  def instance_requirements(
32145
32185
  self,
32146
32186
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.InstanceRequirementsRequestProperty"]]:
32147
- '''
32187
+ '''The instance requirements. You can specify:.
32188
+
32189
+ - The instance types
32190
+ - Instance requirements such as vCPU count, memory, network performance, and accelerator specifications
32191
+
32192
+ Amazon ECS automatically selects the instances that match the specified criteria.
32193
+
32148
32194
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html#cfn-ecs-capacityprovider-instancelaunchtemplate-instancerequirements
32149
32195
  '''
32150
32196
  result = self._values.get("instance_requirements")
@@ -32152,7 +32198,10 @@ class CfnCapacityProvider(
32152
32198
 
32153
32199
  @builtins.property
32154
32200
  def monitoring(self) -> typing.Optional[builtins.str]:
32155
- '''
32201
+ '''CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring.
32202
+
32203
+ By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see `Detailed monitoring for Amazon ECS Managed Instances <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/detailed-monitoring-managed-instances.html>`_ in the Amazon ECS Developer Guide.
32204
+
32156
32205
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html#cfn-ecs-capacityprovider-instancelaunchtemplate-monitoring
32157
32206
  '''
32158
32207
  result = self._values.get("monitoring")
@@ -32162,7 +32211,10 @@ class CfnCapacityProvider(
32162
32211
  def storage_configuration(
32163
32212
  self,
32164
32213
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.ManagedInstancesStorageConfigurationProperty"]]:
32165
- '''
32214
+ '''The storage configuration for Amazon ECS Managed Instances.
32215
+
32216
+ This defines the root volume size and type for the instances.
32217
+
32166
32218
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancelaunchtemplate.html#cfn-ecs-capacityprovider-instancelaunchtemplate-storageconfiguration
32167
32219
  '''
32168
32220
  result = self._values.get("storage_configuration")
@@ -32238,31 +32290,34 @@ class CfnCapacityProvider(
32238
32290
  spot_max_price_percentage_over_lowest_price: typing.Optional[jsii.Number] = None,
32239
32291
  total_local_storage_gb: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCapacityProvider.TotalLocalStorageGBRequestProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
32240
32292
  ) -> None:
32241
- '''
32242
- :param memory_mib:
32243
- :param v_cpu_count:
32244
- :param accelerator_count:
32245
- :param accelerator_manufacturers:
32246
- :param accelerator_names:
32247
- :param accelerator_total_memory_mib:
32248
- :param accelerator_types:
32249
- :param allowed_instance_types:
32250
- :param bare_metal:
32251
- :param baseline_ebs_bandwidth_mbps:
32252
- :param burstable_performance:
32253
- :param cpu_manufacturers:
32254
- :param excluded_instance_types:
32255
- :param instance_generations:
32256
- :param local_storage:
32257
- :param local_storage_types:
32258
- :param max_spot_price_as_percentage_of_optimal_on_demand_price:
32259
- :param memory_gib_per_v_cpu:
32260
- :param network_bandwidth_gbps:
32261
- :param network_interface_count:
32262
- :param on_demand_max_price_percentage_over_lowest_price:
32263
- :param require_hibernate_support:
32264
- :param spot_max_price_percentage_over_lowest_price:
32265
- :param total_local_storage_gb:
32293
+ '''The instance requirements for attribute-based instance type selection.
32294
+
32295
+ Instead of specifying exact instance types, you define requirements such as vCPU count, memory size, network performance, and accelerator specifications. Amazon ECS automatically selects Amazon EC2 instance types that match these requirements, providing flexibility and helping to mitigate capacity constraints.
32296
+
32297
+ :param memory_mib: The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.
32298
+ :param v_cpu_count: The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.
32299
+ :param accelerator_count: The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.
32300
+ :param accelerator_manufacturers: The accelerator manufacturers to include. You can specify ``nvidia`` , ``amd`` , ``amazon-web-services`` , or ``xilinx`` depending on your accelerator requirements.
32301
+ :param accelerator_names: The specific accelerator names to include. For example, you can specify ``a100`` , ``v100`` , ``k80`` , or other specific accelerator models.
32302
+ :param accelerator_total_memory_mib: The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.
32303
+ :param accelerator_types: The accelerator types to include. You can specify ``gpu`` for graphics processing units, ``fpga`` for field programmable gate arrays, or ``inference`` for machine learning inference accelerators.
32304
+ :param allowed_instance_types: The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.
32305
+ :param bare_metal: Indicates whether to include bare metal instance types. Set to ``included`` to allow bare metal instances, ``excluded`` to exclude them, or ``required`` to use only bare metal instances.
32306
+ :param baseline_ebs_bandwidth_mbps: The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.
32307
+ :param burstable_performance: Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to ``included`` to allow burstable instances, ``excluded`` to exclude them, or ``required`` to use only burstable instances.
32308
+ :param cpu_manufacturers: The CPU manufacturers to include or exclude. You can specify ``intel`` , ``amd`` , or ``amazon-web-services`` to control which CPU types are used for your workloads.
32309
+ :param excluded_instance_types: The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads.
32310
+ :param instance_generations: The instance generations to include. You can specify ``current`` to use the latest generation instances, or ``previous`` to include previous generation instances for cost optimization.
32311
+ :param local_storage: Indicates whether to include instance types with local storage. Set to ``included`` to allow local storage, ``excluded`` to exclude it, or ``required`` to use only instances with local storage.
32312
+ :param local_storage_types: The local storage types to include. You can specify ``hdd`` for hard disk drives, ``ssd`` for solid state drives, or both.
32313
+ :param max_spot_price_as_percentage_of_optimal_on_demand_price: The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.
32314
+ :param memory_gib_per_v_cpu: The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
32315
+ :param network_bandwidth_gbps: The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.
32316
+ :param network_interface_count: The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.
32317
+ :param on_demand_max_price_percentage_over_lowest_price: The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.
32318
+ :param require_hibernate_support: Indicates whether the instance types must support hibernation. When set to ``true`` , only instance types that support hibernation are selected.
32319
+ :param spot_max_price_percentage_over_lowest_price: The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.
32320
+ :param total_local_storage_gb: The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
32266
32321
 
32267
32322
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html
32268
32323
  :exampleMetadata: fixture=_generated
@@ -32412,7 +32467,10 @@ class CfnCapacityProvider(
32412
32467
  def memory_mib(
32413
32468
  self,
32414
32469
  ) -> typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.MemoryMiBRequestProperty"]:
32415
- '''
32470
+ '''The minimum and maximum amount of memory in mebibytes (MiB) for the instance types.
32471
+
32472
+ Amazon ECS selects instance types that have memory within this range.
32473
+
32416
32474
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-memorymib
32417
32475
  '''
32418
32476
  result = self._values.get("memory_mib")
@@ -32423,7 +32481,10 @@ class CfnCapacityProvider(
32423
32481
  def v_cpu_count(
32424
32482
  self,
32425
32483
  ) -> typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.VCpuCountRangeRequestProperty"]:
32426
- '''
32484
+ '''The minimum and maximum number of vCPUs for the instance types.
32485
+
32486
+ Amazon ECS selects instance types that have vCPU counts within this range.
32487
+
32427
32488
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-vcpucount
32428
32489
  '''
32429
32490
  result = self._values.get("v_cpu_count")
@@ -32434,7 +32495,10 @@ class CfnCapacityProvider(
32434
32495
  def accelerator_count(
32435
32496
  self,
32436
32497
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.AcceleratorCountRequestProperty"]]:
32437
- '''
32498
+ '''The minimum and maximum number of accelerators for the instance types.
32499
+
32500
+ This is used when you need instances with specific numbers of GPUs or other accelerators.
32501
+
32438
32502
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-acceleratorcount
32439
32503
  '''
32440
32504
  result = self._values.get("accelerator_count")
@@ -32444,7 +32508,10 @@ class CfnCapacityProvider(
32444
32508
  def accelerator_manufacturers(
32445
32509
  self,
32446
32510
  ) -> typing.Optional[typing.List[builtins.str]]:
32447
- '''
32511
+ '''The accelerator manufacturers to include.
32512
+
32513
+ You can specify ``nvidia`` , ``amd`` , ``amazon-web-services`` , or ``xilinx`` depending on your accelerator requirements.
32514
+
32448
32515
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-acceleratormanufacturers
32449
32516
  '''
32450
32517
  result = self._values.get("accelerator_manufacturers")
@@ -32452,7 +32519,10 @@ class CfnCapacityProvider(
32452
32519
 
32453
32520
  @builtins.property
32454
32521
  def accelerator_names(self) -> typing.Optional[typing.List[builtins.str]]:
32455
- '''
32522
+ '''The specific accelerator names to include.
32523
+
32524
+ For example, you can specify ``a100`` , ``v100`` , ``k80`` , or other specific accelerator models.
32525
+
32456
32526
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-acceleratornames
32457
32527
  '''
32458
32528
  result = self._values.get("accelerator_names")
@@ -32462,7 +32532,10 @@ class CfnCapacityProvider(
32462
32532
  def accelerator_total_memory_mib(
32463
32533
  self,
32464
32534
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.AcceleratorTotalMemoryMiBRequestProperty"]]:
32465
- '''
32535
+ '''The minimum and maximum total accelerator memory in mebibytes (MiB).
32536
+
32537
+ This is important for GPU workloads that require specific amounts of video memory.
32538
+
32466
32539
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-acceleratortotalmemorymib
32467
32540
  '''
32468
32541
  result = self._values.get("accelerator_total_memory_mib")
@@ -32470,7 +32543,10 @@ class CfnCapacityProvider(
32470
32543
 
32471
32544
  @builtins.property
32472
32545
  def accelerator_types(self) -> typing.Optional[typing.List[builtins.str]]:
32473
- '''
32546
+ '''The accelerator types to include.
32547
+
32548
+ You can specify ``gpu`` for graphics processing units, ``fpga`` for field programmable gate arrays, or ``inference`` for machine learning inference accelerators.
32549
+
32474
32550
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-acceleratortypes
32475
32551
  '''
32476
32552
  result = self._values.get("accelerator_types")
@@ -32478,7 +32554,10 @@ class CfnCapacityProvider(
32478
32554
 
32479
32555
  @builtins.property
32480
32556
  def allowed_instance_types(self) -> typing.Optional[typing.List[builtins.str]]:
32481
- '''
32557
+ '''The instance types to include in the selection.
32558
+
32559
+ When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.
32560
+
32482
32561
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-allowedinstancetypes
32483
32562
  '''
32484
32563
  result = self._values.get("allowed_instance_types")
@@ -32486,7 +32565,10 @@ class CfnCapacityProvider(
32486
32565
 
32487
32566
  @builtins.property
32488
32567
  def bare_metal(self) -> typing.Optional[builtins.str]:
32489
- '''
32568
+ '''Indicates whether to include bare metal instance types.
32569
+
32570
+ Set to ``included`` to allow bare metal instances, ``excluded`` to exclude them, or ``required`` to use only bare metal instances.
32571
+
32490
32572
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-baremetal
32491
32573
  '''
32492
32574
  result = self._values.get("bare_metal")
@@ -32496,7 +32578,10 @@ class CfnCapacityProvider(
32496
32578
  def baseline_ebs_bandwidth_mbps(
32497
32579
  self,
32498
32580
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.BaselineEbsBandwidthMbpsRequestProperty"]]:
32499
- '''
32581
+ '''The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps).
32582
+
32583
+ This is important for workloads with high storage I/O requirements.
32584
+
32500
32585
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-baselineebsbandwidthmbps
32501
32586
  '''
32502
32587
  result = self._values.get("baseline_ebs_bandwidth_mbps")
@@ -32504,7 +32589,10 @@ class CfnCapacityProvider(
32504
32589
 
32505
32590
  @builtins.property
32506
32591
  def burstable_performance(self) -> typing.Optional[builtins.str]:
32507
- '''
32592
+ '''Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g).
32593
+
32594
+ Set to ``included`` to allow burstable instances, ``excluded`` to exclude them, or ``required`` to use only burstable instances.
32595
+
32508
32596
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-burstableperformance
32509
32597
  '''
32510
32598
  result = self._values.get("burstable_performance")
@@ -32512,7 +32600,10 @@ class CfnCapacityProvider(
32512
32600
 
32513
32601
  @builtins.property
32514
32602
  def cpu_manufacturers(self) -> typing.Optional[typing.List[builtins.str]]:
32515
- '''
32603
+ '''The CPU manufacturers to include or exclude.
32604
+
32605
+ You can specify ``intel`` , ``amd`` , or ``amazon-web-services`` to control which CPU types are used for your workloads.
32606
+
32516
32607
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-cpumanufacturers
32517
32608
  '''
32518
32609
  result = self._values.get("cpu_manufacturers")
@@ -32520,7 +32611,10 @@ class CfnCapacityProvider(
32520
32611
 
32521
32612
  @builtins.property
32522
32613
  def excluded_instance_types(self) -> typing.Optional[typing.List[builtins.str]]:
32523
- '''
32614
+ '''The instance types to exclude from selection.
32615
+
32616
+ Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads.
32617
+
32524
32618
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-excludedinstancetypes
32525
32619
  '''
32526
32620
  result = self._values.get("excluded_instance_types")
@@ -32528,7 +32622,10 @@ class CfnCapacityProvider(
32528
32622
 
32529
32623
  @builtins.property
32530
32624
  def instance_generations(self) -> typing.Optional[typing.List[builtins.str]]:
32531
- '''
32625
+ '''The instance generations to include.
32626
+
32627
+ You can specify ``current`` to use the latest generation instances, or ``previous`` to include previous generation instances for cost optimization.
32628
+
32532
32629
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-instancegenerations
32533
32630
  '''
32534
32631
  result = self._values.get("instance_generations")
@@ -32536,7 +32633,10 @@ class CfnCapacityProvider(
32536
32633
 
32537
32634
  @builtins.property
32538
32635
  def local_storage(self) -> typing.Optional[builtins.str]:
32539
- '''
32636
+ '''Indicates whether to include instance types with local storage.
32637
+
32638
+ Set to ``included`` to allow local storage, ``excluded`` to exclude it, or ``required`` to use only instances with local storage.
32639
+
32540
32640
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-localstorage
32541
32641
  '''
32542
32642
  result = self._values.get("local_storage")
@@ -32544,7 +32644,10 @@ class CfnCapacityProvider(
32544
32644
 
32545
32645
  @builtins.property
32546
32646
  def local_storage_types(self) -> typing.Optional[typing.List[builtins.str]]:
32547
- '''
32647
+ '''The local storage types to include.
32648
+
32649
+ You can specify ``hdd`` for hard disk drives, ``ssd`` for solid state drives, or both.
32650
+
32548
32651
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-localstoragetypes
32549
32652
  '''
32550
32653
  result = self._values.get("local_storage_types")
@@ -32554,7 +32657,10 @@ class CfnCapacityProvider(
32554
32657
  def max_spot_price_as_percentage_of_optimal_on_demand_price(
32555
32658
  self,
32556
32659
  ) -> typing.Optional[jsii.Number]:
32557
- '''
32660
+ '''The maximum price for Spot instances as a percentage of the optimal On-Demand price.
32661
+
32662
+ This provides more precise cost control for Spot instance selection.
32663
+
32558
32664
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-maxspotpriceaspercentageofoptimalondemandprice
32559
32665
  '''
32560
32666
  result = self._values.get("max_spot_price_as_percentage_of_optimal_on_demand_price")
@@ -32564,7 +32670,10 @@ class CfnCapacityProvider(
32564
32670
  def memory_gib_per_v_cpu(
32565
32671
  self,
32566
32672
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.MemoryGiBPerVCpuRequestProperty"]]:
32567
- '''
32673
+ '''The minimum and maximum amount of memory per vCPU in gibibytes (GiB).
32674
+
32675
+ This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
32676
+
32568
32677
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-memorygibpervcpu
32569
32678
  '''
32570
32679
  result = self._values.get("memory_gib_per_v_cpu")
@@ -32574,7 +32683,10 @@ class CfnCapacityProvider(
32574
32683
  def network_bandwidth_gbps(
32575
32684
  self,
32576
32685
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.NetworkBandwidthGbpsRequestProperty"]]:
32577
- '''
32686
+ '''The minimum and maximum network bandwidth in gigabits per second (Gbps).
32687
+
32688
+ This is crucial for network-intensive workloads that require high throughput.
32689
+
32578
32690
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-networkbandwidthgbps
32579
32691
  '''
32580
32692
  result = self._values.get("network_bandwidth_gbps")
@@ -32584,7 +32696,10 @@ class CfnCapacityProvider(
32584
32696
  def network_interface_count(
32585
32697
  self,
32586
32698
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.NetworkInterfaceCountRequestProperty"]]:
32587
- '''
32699
+ '''The minimum and maximum number of network interfaces for the instance types.
32700
+
32701
+ This is useful for workloads that require multiple network interfaces.
32702
+
32588
32703
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-networkinterfacecount
32589
32704
  '''
32590
32705
  result = self._values.get("network_interface_count")
@@ -32594,7 +32709,10 @@ class CfnCapacityProvider(
32594
32709
  def on_demand_max_price_percentage_over_lowest_price(
32595
32710
  self,
32596
32711
  ) -> typing.Optional[jsii.Number]:
32597
- '''
32712
+ '''The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price.
32713
+
32714
+ The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.
32715
+
32598
32716
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-ondemandmaxpricepercentageoverlowestprice
32599
32717
  '''
32600
32718
  result = self._values.get("on_demand_max_price_percentage_over_lowest_price")
@@ -32604,7 +32722,10 @@ class CfnCapacityProvider(
32604
32722
  def require_hibernate_support(
32605
32723
  self,
32606
32724
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
32607
- '''
32725
+ '''Indicates whether the instance types must support hibernation.
32726
+
32727
+ When set to ``true`` , only instance types that support hibernation are selected.
32728
+
32608
32729
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-requirehibernatesupport
32609
32730
  '''
32610
32731
  result = self._values.get("require_hibernate_support")
@@ -32614,7 +32735,10 @@ class CfnCapacityProvider(
32614
32735
  def spot_max_price_percentage_over_lowest_price(
32615
32736
  self,
32616
32737
  ) -> typing.Optional[jsii.Number]:
32617
- '''
32738
+ '''The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance.
32739
+
32740
+ This helps control Spot instance costs while maintaining access to capacity.
32741
+
32618
32742
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-spotmaxpricepercentageoverlowestprice
32619
32743
  '''
32620
32744
  result = self._values.get("spot_max_price_percentage_over_lowest_price")
@@ -32624,7 +32748,8 @@ class CfnCapacityProvider(
32624
32748
  def total_local_storage_gb(
32625
32749
  self,
32626
32750
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.TotalLocalStorageGBRequestProperty"]]:
32627
- '''
32751
+ '''The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
32752
+
32628
32753
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-instancerequirementsrequest.html#cfn-ecs-capacityprovider-instancerequirementsrequest-totallocalstoragegb
32629
32754
  '''
32630
32755
  result = self._values.get("total_local_storage_gb")
@@ -32653,9 +32778,12 @@ class CfnCapacityProvider(
32653
32778
  subnets: typing.Sequence[builtins.str],
32654
32779
  security_groups: typing.Optional[typing.Sequence[builtins.str]] = None,
32655
32780
  ) -> None:
32656
- '''
32657
- :param subnets:
32658
- :param security_groups:
32781
+ '''The network configuration for Amazon ECS Managed Instances.
32782
+
32783
+ This specifies the VPC subnets and security groups that instances use for network connectivity. Amazon ECS Managed Instances support multiple network modes including ``awsvpc`` (instances receive ENIs for task isolation), ``host`` (instances share network namespace with tasks), and ``none`` (no external network connectivity), ensuring backward compatibility for migrating workloads from Fargate or Amazon EC2.
32784
+
32785
+ :param subnets: The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
32786
+ :param security_groups: The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.
32659
32787
 
32660
32788
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesnetworkconfiguration.html
32661
32789
  :exampleMetadata: fixture=_generated
@@ -32685,7 +32813,10 @@ class CfnCapacityProvider(
32685
32813
 
32686
32814
  @builtins.property
32687
32815
  def subnets(self) -> typing.List[builtins.str]:
32688
- '''
32816
+ '''The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances.
32817
+
32818
+ Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.
32819
+
32689
32820
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesnetworkconfiguration.html#cfn-ecs-capacityprovider-managedinstancesnetworkconfiguration-subnets
32690
32821
  '''
32691
32822
  result = self._values.get("subnets")
@@ -32694,7 +32825,10 @@ class CfnCapacityProvider(
32694
32825
 
32695
32826
  @builtins.property
32696
32827
  def security_groups(self) -> typing.Optional[typing.List[builtins.str]]:
32697
- '''
32828
+ '''The list of security group IDs to apply to Amazon ECS Managed Instances.
32829
+
32830
+ These security groups control the network traffic allowed to and from the instances.
32831
+
32698
32832
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesnetworkconfiguration.html#cfn-ecs-capacityprovider-managedinstancesnetworkconfiguration-securitygroups
32699
32833
  '''
32700
32834
  result = self._values.get("security_groups")
@@ -32728,10 +32862,13 @@ class CfnCapacityProvider(
32728
32862
  instance_launch_template: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCapacityProvider.InstanceLaunchTemplateProperty", typing.Dict[builtins.str, typing.Any]]],
32729
32863
  propagate_tags: typing.Optional[builtins.str] = None,
32730
32864
  ) -> None:
32731
- '''
32732
- :param infrastructure_role_arn:
32733
- :param instance_launch_template:
32734
- :param propagate_tags:
32865
+ '''The configuration for a Amazon ECS Managed Instances provider.
32866
+
32867
+ Amazon ECS uses this configuration to automatically launch, manage, and terminate Amazon EC2 instances on your behalf. Managed instances provide access to the full range of Amazon EC2 instance types and features while offloading infrastructure management to AWS .
32868
+
32869
+ :param infrastructure_role_arn: The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS assumes to manage instances. This role must include permissions for Amazon EC2 instance lifecycle management, networking, and any additional AWS services required for your workloads. For more information, see `Amazon ECS infrastructure IAM role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html>`_ in the *Amazon ECS Developer Guide* .
32870
+ :param instance_launch_template: The launch template that defines how Amazon ECS launches Amazon ECS Managed Instances. This includes the instance profile for your tasks, network and storage configuration, and instance requirements that determine which Amazon EC2 instance types can be used. For more information, see `Store instance launch parameters in Amazon EC2 launch templates <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html>`_ in the *Amazon EC2 User Guide* .
32871
+ :param propagate_tags: Determines whether tags from the capacity provider are automatically applied to Amazon ECS Managed Instances. This helps with cost allocation and resource management by ensuring consistent tagging across your infrastructure.
32735
32872
 
32736
32873
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesprovider.html
32737
32874
  :exampleMetadata: fixture=_generated
@@ -32837,7 +32974,12 @@ class CfnCapacityProvider(
32837
32974
 
32838
32975
  @builtins.property
32839
32976
  def infrastructure_role_arn(self) -> builtins.str:
32840
- '''
32977
+ '''The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS assumes to manage instances.
32978
+
32979
+ This role must include permissions for Amazon EC2 instance lifecycle management, networking, and any additional AWS services required for your workloads.
32980
+
32981
+ For more information, see `Amazon ECS infrastructure IAM role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/infrastructure_IAM_role.html>`_ in the *Amazon ECS Developer Guide* .
32982
+
32841
32983
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesprovider.html#cfn-ecs-capacityprovider-managedinstancesprovider-infrastructurerolearn
32842
32984
  '''
32843
32985
  result = self._values.get("infrastructure_role_arn")
@@ -32848,7 +32990,12 @@ class CfnCapacityProvider(
32848
32990
  def instance_launch_template(
32849
32991
  self,
32850
32992
  ) -> typing.Union[_IResolvable_da3f097b, "CfnCapacityProvider.InstanceLaunchTemplateProperty"]:
32851
- '''
32993
+ '''The launch template that defines how Amazon ECS launches Amazon ECS Managed Instances.
32994
+
32995
+ This includes the instance profile for your tasks, network and storage configuration, and instance requirements that determine which Amazon EC2 instance types can be used.
32996
+
32997
+ For more information, see `Store instance launch parameters in Amazon EC2 launch templates <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html>`_ in the *Amazon EC2 User Guide* .
32998
+
32852
32999
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesprovider.html#cfn-ecs-capacityprovider-managedinstancesprovider-instancelaunchtemplate
32853
33000
  '''
32854
33001
  result = self._values.get("instance_launch_template")
@@ -32857,7 +33004,10 @@ class CfnCapacityProvider(
32857
33004
 
32858
33005
  @builtins.property
32859
33006
  def propagate_tags(self) -> typing.Optional[builtins.str]:
32860
- '''
33007
+ '''Determines whether tags from the capacity provider are automatically applied to Amazon ECS Managed Instances.
33008
+
33009
+ This helps with cost allocation and resource management by ensuring consistent tagging across your infrastructure.
33010
+
32861
33011
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesprovider.html#cfn-ecs-capacityprovider-managedinstancesprovider-propagatetags
32862
33012
  '''
32863
33013
  result = self._values.get("propagate_tags")
@@ -32881,8 +33031,11 @@ class CfnCapacityProvider(
32881
33031
  )
32882
33032
  class ManagedInstancesStorageConfigurationProperty:
32883
33033
  def __init__(self, *, storage_size_gib: jsii.Number) -> None:
32884
- '''
32885
- :param storage_size_gib:
33034
+ '''The storage configuration for Amazon ECS Managed Instances.
33035
+
33036
+ This defines the root volume configuration for the instances.
33037
+
33038
+ :param storage_size_gib: The size of the tasks volume.
32886
33039
 
32887
33040
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesstorageconfiguration.html
32888
33041
  :exampleMetadata: fixture=_generated
@@ -32906,7 +33059,8 @@ class CfnCapacityProvider(
32906
33059
 
32907
33060
  @builtins.property
32908
33061
  def storage_size_gib(self) -> jsii.Number:
32909
- '''
33062
+ '''The size of the tasks volume.
33063
+
32910
33064
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedinstancesstorageconfiguration.html#cfn-ecs-capacityprovider-managedinstancesstorageconfiguration-storagesizegib
32911
33065
  '''
32912
33066
  result = self._values.get("storage_size_gib")
@@ -33071,9 +33225,12 @@ class CfnCapacityProvider(
33071
33225
  max: typing.Optional[jsii.Number] = None,
33072
33226
  min: typing.Optional[jsii.Number] = None,
33073
33227
  ) -> None:
33074
- '''
33075
- :param max:
33076
- :param min:
33228
+ '''The minimum and maximum amount of memory per vCPU in gibibytes (GiB).
33229
+
33230
+ This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.
33231
+
33232
+ :param max: The maximum amount of memory per vCPU in GiB. Instance types with a higher memory-to-vCPU ratio are excluded from selection.
33233
+ :param min: The minimum amount of memory per vCPU in GiB. Instance types with a lower memory-to-vCPU ratio are excluded from selection.
33077
33234
 
33078
33235
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorygibpervcpurequest.html
33079
33236
  :exampleMetadata: fixture=_generated
@@ -33101,7 +33258,10 @@ class CfnCapacityProvider(
33101
33258
 
33102
33259
  @builtins.property
33103
33260
  def max(self) -> typing.Optional[jsii.Number]:
33104
- '''
33261
+ '''The maximum amount of memory per vCPU in GiB.
33262
+
33263
+ Instance types with a higher memory-to-vCPU ratio are excluded from selection.
33264
+
33105
33265
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorygibpervcpurequest.html#cfn-ecs-capacityprovider-memorygibpervcpurequest-max
33106
33266
  '''
33107
33267
  result = self._values.get("max")
@@ -33109,7 +33269,10 @@ class CfnCapacityProvider(
33109
33269
 
33110
33270
  @builtins.property
33111
33271
  def min(self) -> typing.Optional[jsii.Number]:
33112
- '''
33272
+ '''The minimum amount of memory per vCPU in GiB.
33273
+
33274
+ Instance types with a lower memory-to-vCPU ratio are excluded from selection.
33275
+
33113
33276
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorygibpervcpurequest.html#cfn-ecs-capacityprovider-memorygibpervcpurequest-min
33114
33277
  '''
33115
33278
  result = self._values.get("min")
@@ -33138,9 +33301,12 @@ class CfnCapacityProvider(
33138
33301
  min: jsii.Number,
33139
33302
  max: typing.Optional[jsii.Number] = None,
33140
33303
  ) -> None:
33141
- '''
33142
- :param min:
33143
- :param max:
33304
+ '''The minimum and maximum amount of memory in mebibytes (MiB) for instance type selection.
33305
+
33306
+ This ensures that selected instance types have adequate memory for your workloads.
33307
+
33308
+ :param min: The minimum amount of memory in MiB. Instance types with less memory than this value are excluded from selection.
33309
+ :param max: The maximum amount of memory in MiB. Instance types with more memory than this value are excluded from selection.
33144
33310
 
33145
33311
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorymibrequest.html
33146
33312
  :exampleMetadata: fixture=_generated
@@ -33170,7 +33336,10 @@ class CfnCapacityProvider(
33170
33336
 
33171
33337
  @builtins.property
33172
33338
  def min(self) -> jsii.Number:
33173
- '''
33339
+ '''The minimum amount of memory in MiB.
33340
+
33341
+ Instance types with less memory than this value are excluded from selection.
33342
+
33174
33343
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorymibrequest.html#cfn-ecs-capacityprovider-memorymibrequest-min
33175
33344
  '''
33176
33345
  result = self._values.get("min")
@@ -33179,7 +33348,10 @@ class CfnCapacityProvider(
33179
33348
 
33180
33349
  @builtins.property
33181
33350
  def max(self) -> typing.Optional[jsii.Number]:
33182
- '''
33351
+ '''The maximum amount of memory in MiB.
33352
+
33353
+ Instance types with more memory than this value are excluded from selection.
33354
+
33183
33355
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-memorymibrequest.html#cfn-ecs-capacityprovider-memorymibrequest-max
33184
33356
  '''
33185
33357
  result = self._values.get("max")
@@ -33208,9 +33380,12 @@ class CfnCapacityProvider(
33208
33380
  max: typing.Optional[jsii.Number] = None,
33209
33381
  min: typing.Optional[jsii.Number] = None,
33210
33382
  ) -> None:
33211
- '''
33212
- :param max:
33213
- :param min:
33383
+ '''The minimum and maximum network bandwidth in gigabits per second (Gbps) for instance type selection.
33384
+
33385
+ This is important for network-intensive workloads.
33386
+
33387
+ :param max: The maximum network bandwidth in Gbps. Instance types with higher network bandwidth are excluded from selection.
33388
+ :param min: The minimum network bandwidth in Gbps. Instance types with lower network bandwidth are excluded from selection.
33214
33389
 
33215
33390
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkbandwidthgbpsrequest.html
33216
33391
  :exampleMetadata: fixture=_generated
@@ -33238,7 +33413,10 @@ class CfnCapacityProvider(
33238
33413
 
33239
33414
  @builtins.property
33240
33415
  def max(self) -> typing.Optional[jsii.Number]:
33241
- '''
33416
+ '''The maximum network bandwidth in Gbps.
33417
+
33418
+ Instance types with higher network bandwidth are excluded from selection.
33419
+
33242
33420
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkbandwidthgbpsrequest.html#cfn-ecs-capacityprovider-networkbandwidthgbpsrequest-max
33243
33421
  '''
33244
33422
  result = self._values.get("max")
@@ -33246,7 +33424,10 @@ class CfnCapacityProvider(
33246
33424
 
33247
33425
  @builtins.property
33248
33426
  def min(self) -> typing.Optional[jsii.Number]:
33249
- '''
33427
+ '''The minimum network bandwidth in Gbps.
33428
+
33429
+ Instance types with lower network bandwidth are excluded from selection.
33430
+
33250
33431
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkbandwidthgbpsrequest.html#cfn-ecs-capacityprovider-networkbandwidthgbpsrequest-min
33251
33432
  '''
33252
33433
  result = self._values.get("min")
@@ -33275,9 +33456,12 @@ class CfnCapacityProvider(
33275
33456
  max: typing.Optional[jsii.Number] = None,
33276
33457
  min: typing.Optional[jsii.Number] = None,
33277
33458
  ) -> None:
33278
- '''
33279
- :param max:
33280
- :param min:
33459
+ '''The minimum and maximum number of network interfaces for instance type selection.
33460
+
33461
+ This is useful for workloads that require multiple network interfaces.
33462
+
33463
+ :param max: The maximum number of network interfaces. Instance types that support more network interfaces are excluded from selection.
33464
+ :param min: The minimum number of network interfaces. Instance types that support fewer network interfaces are excluded from selection.
33281
33465
 
33282
33466
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkinterfacecountrequest.html
33283
33467
  :exampleMetadata: fixture=_generated
@@ -33305,7 +33489,10 @@ class CfnCapacityProvider(
33305
33489
 
33306
33490
  @builtins.property
33307
33491
  def max(self) -> typing.Optional[jsii.Number]:
33308
- '''
33492
+ '''The maximum number of network interfaces.
33493
+
33494
+ Instance types that support more network interfaces are excluded from selection.
33495
+
33309
33496
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkinterfacecountrequest.html#cfn-ecs-capacityprovider-networkinterfacecountrequest-max
33310
33497
  '''
33311
33498
  result = self._values.get("max")
@@ -33313,7 +33500,10 @@ class CfnCapacityProvider(
33313
33500
 
33314
33501
  @builtins.property
33315
33502
  def min(self) -> typing.Optional[jsii.Number]:
33316
- '''
33503
+ '''The minimum number of network interfaces.
33504
+
33505
+ Instance types that support fewer network interfaces are excluded from selection.
33506
+
33317
33507
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-networkinterfacecountrequest.html#cfn-ecs-capacityprovider-networkinterfacecountrequest-min
33318
33508
  '''
33319
33509
  result = self._values.get("min")
@@ -33342,9 +33532,12 @@ class CfnCapacityProvider(
33342
33532
  max: typing.Optional[jsii.Number] = None,
33343
33533
  min: typing.Optional[jsii.Number] = None,
33344
33534
  ) -> None:
33345
- '''
33346
- :param max:
33347
- :param min:
33535
+ '''The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.
33536
+
33537
+ This is useful for workloads that require local storage for temporary data or caching.
33538
+
33539
+ :param max: The maximum total local storage in GB. Instance types with more local storage are excluded from selection.
33540
+ :param min: The minimum total local storage in GB. Instance types with less local storage are excluded from selection.
33348
33541
 
33349
33542
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-totallocalstoragegbrequest.html
33350
33543
  :exampleMetadata: fixture=_generated
@@ -33372,7 +33565,10 @@ class CfnCapacityProvider(
33372
33565
 
33373
33566
  @builtins.property
33374
33567
  def max(self) -> typing.Optional[jsii.Number]:
33375
- '''
33568
+ '''The maximum total local storage in GB.
33569
+
33570
+ Instance types with more local storage are excluded from selection.
33571
+
33376
33572
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-totallocalstoragegbrequest.html#cfn-ecs-capacityprovider-totallocalstoragegbrequest-max
33377
33573
  '''
33378
33574
  result = self._values.get("max")
@@ -33380,7 +33576,10 @@ class CfnCapacityProvider(
33380
33576
 
33381
33577
  @builtins.property
33382
33578
  def min(self) -> typing.Optional[jsii.Number]:
33383
- '''
33579
+ '''The minimum total local storage in GB.
33580
+
33581
+ Instance types with less local storage are excluded from selection.
33582
+
33384
33583
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-totallocalstoragegbrequest.html#cfn-ecs-capacityprovider-totallocalstoragegbrequest-min
33385
33584
  '''
33386
33585
  result = self._values.get("min")
@@ -33409,9 +33608,12 @@ class CfnCapacityProvider(
33409
33608
  min: jsii.Number,
33410
33609
  max: typing.Optional[jsii.Number] = None,
33411
33610
  ) -> None:
33412
- '''
33413
- :param min:
33414
- :param max:
33611
+ '''The minimum and maximum number of vCPUs for instance type selection.
33612
+
33613
+ This allows you to specify a range of vCPU counts that meet your workload requirements.
33614
+
33615
+ :param min: The minimum number of vCPUs. Instance types with fewer vCPUs than this value are excluded from selection.
33616
+ :param max: The maximum number of vCPUs. Instance types with more vCPUs than this value are excluded from selection.
33415
33617
 
33416
33618
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-vcpucountrangerequest.html
33417
33619
  :exampleMetadata: fixture=_generated
@@ -33441,7 +33643,10 @@ class CfnCapacityProvider(
33441
33643
 
33442
33644
  @builtins.property
33443
33645
  def min(self) -> jsii.Number:
33444
- '''
33646
+ '''The minimum number of vCPUs.
33647
+
33648
+ Instance types with fewer vCPUs than this value are excluded from selection.
33649
+
33445
33650
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-vcpucountrangerequest.html#cfn-ecs-capacityprovider-vcpucountrangerequest-min
33446
33651
  '''
33447
33652
  result = self._values.get("min")
@@ -33450,7 +33655,10 @@ class CfnCapacityProvider(
33450
33655
 
33451
33656
  @builtins.property
33452
33657
  def max(self) -> typing.Optional[jsii.Number]:
33453
- '''
33658
+ '''The maximum number of vCPUs.
33659
+
33660
+ Instance types with more vCPUs than this value are excluded from selection.
33661
+
33454
33662
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-vcpucountrangerequest.html#cfn-ecs-capacityprovider-vcpucountrangerequest-max
33455
33663
  '''
33456
33664
  result = self._values.get("max")
@@ -35148,7 +35356,7 @@ class CfnService(
35148
35356
  :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 must set the ``propagateTags`` request parameter.
35149
35357
  :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.
35150
35358
  :param force_new_deployment: Determines whether to force a new deployment of the service. By default, deployments aren't forced. You can use this option to start a new deployment with no service definition changes. For example, you can update a service's tasks to use a newer Docker image with the same image/tag combination ( ``my_image:latest`` ) or to roll Fargate tasks onto a newer platform version.
35151
- :param health_check_grace_period_seconds: The period of time, in seconds, that the Amazon Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
35359
+ :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 do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then ``healthCheckGracePeriodSeconds`` is unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.
35152
35360
  :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* .
35153
35361
  :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* . .. epigraph:: To remove this property from your service resource, specify an empty ``LoadBalancer`` array.
35154
35362
  :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* .
@@ -35421,7 +35629,7 @@ class CfnService(
35421
35629
  @builtins.property
35422
35630
  @jsii.member(jsii_name="healthCheckGracePeriodSeconds")
35423
35631
  def health_check_grace_period_seconds(self) -> typing.Optional[jsii.Number]:
35424
- '''The period of time, in seconds, that the Amazon Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started.'''
35632
+ '''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.'''
35425
35633
  return typing.cast(typing.Optional[jsii.Number], jsii.get(self, "healthCheckGracePeriodSeconds"))
35426
35634
 
35427
35635
  @health_check_grace_period_seconds.setter
@@ -39381,7 +39589,7 @@ class CfnTaskDefinition(
39381
39589
  :param pid_mode: The process namespace to use for the containers in the task. The valid values are ``host`` or ``task`` . On Fargate for Linux containers, the only valid value is ``task`` . For example, monitoring sidecars might need ``pidMode`` to access information about other containers running in the same task. If ``host`` is specified, all containers within the tasks that specified the ``host`` PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace for each container. If the ``host`` PID mode is used, there's a heightened risk of undesired process namespace exposure. .. epigraph:: This parameter is not supported for Windows containers. > This parameter is only supported for tasks that are hosted on AWS Fargate if the tasks are using platform version ``1.4.0`` or later (Linux). This isn't supported for Windows containers on Fargate.
39382
39590
  :param placement_constraints: An array of placement constraint objects to use for tasks. .. epigraph:: This parameter isn't supported for tasks run on AWS Fargate .
39383
39591
  :param proxy_configuration: The configuration details for the App Mesh proxy. Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, they contain the required versions of the container agent and ``ecs-init`` . For more information, see `Amazon ECS-optimized Linux AMI <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
39384
- :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
39592
+ :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``MANAGED_INSTANCES`` , ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . 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* .
39385
39593
  :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.
39386
39594
  :param tags: The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. 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: + - = . _ : /
39387
39595
  :param task_role_arn: The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see `Amazon ECS Task Role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . IAM roles for tasks on Windows require that the ``-EnableTaskIAMRole`` option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code to use the feature. For more information, see `Windows IAM roles for tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . .. epigraph:: String validation is done on the ECS side. If an invalid string value is given for ``TaskRoleArn`` , it may cause the Cloudformation job to hang.