aws-cdk-lib 2.156.0__py3-none-any.whl → 2.157.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 (53) hide show
  1. aws_cdk/__init__.py +26 -22
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.156.0.jsii.tgz → aws-cdk-lib@2.157.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +10 -75
  5. aws_cdk/aws_amplify/__init__.py +106 -0
  6. aws_cdk/aws_apigatewayv2/__init__.py +81 -13
  7. aws_cdk/aws_appintegrations/__init__.py +14 -14
  8. aws_cdk/aws_applicationsignals/__init__.py +750 -1
  9. aws_cdk/aws_appsync/__init__.py +50 -18
  10. aws_cdk/aws_autoscaling/__init__.py +6 -6
  11. aws_cdk/aws_backup/__init__.py +39 -0
  12. aws_cdk/aws_batch/__init__.py +41 -0
  13. aws_cdk/aws_bedrock/__init__.py +1513 -94
  14. aws_cdk/aws_chatbot/__init__.py +6 -6
  15. aws_cdk/aws_cloudformation/__init__.py +22 -22
  16. aws_cdk/aws_cloudfront/experimental/__init__.py +30 -3
  17. aws_cdk/aws_datasync/__init__.py +40 -29
  18. aws_cdk/aws_ec2/__init__.py +373 -49
  19. aws_cdk/aws_ecs/__init__.py +253 -87
  20. aws_cdk/aws_elasticloadbalancingv2/__init__.py +4 -4
  21. aws_cdk/aws_entityresolution/__init__.py +117 -4
  22. aws_cdk/aws_glue/__init__.py +0 -8
  23. aws_cdk/aws_groundstation/__init__.py +27 -16
  24. aws_cdk/aws_guardduty/__init__.py +26 -14
  25. aws_cdk/aws_iotfleetwise/__init__.py +108 -0
  26. aws_cdk/aws_lambda/__init__.py +147 -17
  27. aws_cdk/aws_lambda_nodejs/__init__.py +30 -3
  28. aws_cdk/aws_macie/__init__.py +4 -4
  29. aws_cdk/aws_medialive/__init__.py +348 -0
  30. aws_cdk/aws_mediapackagev2/__init__.py +38 -38
  31. aws_cdk/aws_neptune/__init__.py +14 -8
  32. aws_cdk/aws_opensearchservice/__init__.py +194 -0
  33. aws_cdk/aws_pcaconnectorscep/__init__.py +884 -0
  34. aws_cdk/aws_personalize/__init__.py +2 -2
  35. aws_cdk/aws_pipes/__init__.py +22 -22
  36. aws_cdk/aws_qbusiness/__init__.py +675 -6
  37. aws_cdk/aws_quicksight/__init__.py +3285 -0
  38. aws_cdk/aws_rds/__init__.py +18 -0
  39. aws_cdk/aws_sagemaker/__init__.py +1167 -0
  40. aws_cdk/aws_secretsmanager/__init__.py +2 -3
  41. aws_cdk/aws_securityhub/__init__.py +108 -103
  42. aws_cdk/aws_ses/__init__.py +31 -0
  43. aws_cdk/aws_sns/__init__.py +19 -13
  44. aws_cdk/aws_ssm/__init__.py +10 -6
  45. aws_cdk/aws_ssmquicksetup/__init__.py +967 -0
  46. aws_cdk/aws_stepfunctions_tasks/__init__.py +4 -4
  47. aws_cdk/triggers/__init__.py +30 -3
  48. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.157.0.dist-info}/METADATA +1 -1
  49. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.157.0.dist-info}/RECORD +53 -51
  50. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.157.0.dist-info}/LICENSE +0 -0
  51. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.157.0.dist-info}/NOTICE +0 -0
  52. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.157.0.dist-info}/WHEEL +0 -0
  53. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.157.0.dist-info}/top_level.txt +0 -0
@@ -6152,7 +6152,7 @@ class CfnCapacityProvider(
6152
6152
  '''The managed scaling settings for the Auto Scaling group capacity provider.
6153
6153
 
6154
6154
  :param instance_warmup_period: The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value of ``300`` seconds is used.
6155
- :param maximum_scaling_step_size: The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale in process is not affected by this parameter. If this parameter is omitted, the default value of ``10000`` is used.
6155
+ :param maximum_scaling_step_size: The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this parameter is omitted, the default value of ``10000`` is used.
6156
6156
  :param minimum_scaling_step_size: The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale in process is not affected by this parameter If this parameter is omitted, the default value of ``1`` is used. When additional capacity is required, Amazon ECS will scale up the minimum scaling step size even if the actual demand is less than the minimum scaling step size. If you use a capacity provider with an Auto Scaling group configured with more than one Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the exact minimum scaling step size value and will ignore both the maximum scaling step size as well as the capacity demand.
6157
6157
  :param status: Determines whether to use managed scaling for the capacity provider.
6158
6158
  :param target_capacity: The target capacity utilization as a percentage for the capacity provider. The specified value must be greater than ``0`` and less than or equal to ``100`` . For example, if you want the capacity provider to maintain 10% spare capacity, then that means the utilization is 90%, so use a ``targetCapacity`` of ``90`` . The default value of ``100`` percent results in the Amazon EC2 instances in your Auto Scaling group being completely used.
@@ -6208,7 +6208,7 @@ class CfnCapacityProvider(
6208
6208
  def maximum_scaling_step_size(self) -> typing.Optional[jsii.Number]:
6209
6209
  '''The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time.
6210
6210
 
6211
- The scale in process is not affected by this parameter. If this parameter is omitted, the default value of ``10000`` is used.
6211
+ If this parameter is omitted, the default value of ``10000`` is used.
6212
6212
 
6213
6213
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-capacityprovider-managedscaling.html#cfn-ecs-capacityprovider-managedscaling-maximumscalingstepsize
6214
6214
  '''
@@ -8782,8 +8782,8 @@ class CfnService(
8782
8782
  For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` .
8783
8783
 
8784
8784
  :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. The default value is ``DISABLED`` .
8785
- :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration`` . .. epigraph:: All specified security groups must be from the same VPC.
8786
- :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration`` . .. epigraph:: All specified subnets must be from the same VPC.
8785
+ :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified security groups must be from the same VPC.
8786
+ :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified subnets must be from the same VPC.
8787
8787
 
8788
8788
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html
8789
8789
  :exampleMetadata: fixture=_generated
@@ -8828,7 +8828,7 @@ class CfnService(
8828
8828
  def security_groups(self) -> typing.Optional[typing.List[builtins.str]]:
8829
8829
  '''The IDs of the security groups associated with the task or service.
8830
8830
 
8831
- If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration`` .
8831
+ If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` .
8832
8832
  .. epigraph::
8833
8833
 
8834
8834
  All specified security groups must be from the same VPC.
@@ -8842,7 +8842,7 @@ class CfnService(
8842
8842
  def subnets(self) -> typing.Optional[typing.List[builtins.str]]:
8843
8843
  '''The IDs of the subnets associated with the task or service.
8844
8844
 
8845
- There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration`` .
8845
+ There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` .
8846
8846
  .. epigraph::
8847
8847
 
8848
8848
  All specified subnets must be from the same VPC.
@@ -9170,8 +9170,8 @@ class CfnService(
9170
9170
 
9171
9171
  :param alarms: Information about the CloudWatch alarms.
9172
9172
  :param deployment_circuit_breaker: .. epigraph:: The deployment circuit breaker can only be used for services using the rolling update ( ``ECS`` ) deployment type. The *deployment circuit breaker* determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see `Rolling update <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html>`_ in the *Amazon Elastic Container Service Developer Guide*
9173
- :param maximum_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.
9174
- :param minimum_healthy_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. For services that *do not* use a load balancer, the following should be noted: - A service is considered healthy if all essential containers within the tasks in the service pass their health checks. - If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total. - If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. For services that *do* use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. - If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the AWS CLI , the AWS SDKs, and the APIs and 50% for the AWS Management Console. The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent`` /100, rounded up to the nearest integer value. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
9173
+ :param maximum_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``maximumPercent`` parameter represents an upper limit on the number of your service's tasks that are allowed in the ``RUNNING`` or ``PENDING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. .. epigraph:: You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.
9174
+ :param minimum_healthy_percent: If a service is using the rolling update ( ``ECS`` ) deployment type, the ``minimumHealthyPercent`` represents a lower limit on the number of your service's tasks that must remain in the ``RUNNING`` state during a deployment, as a percentage of the ``desiredCount`` (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a ``desiredCount`` of four tasks and a ``minimumHealthyPercent`` of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. For services that *do not* use a load balancer, the following should be noted: - A service is considered healthy if all essential containers within the tasks in the service pass their health checks. - If a task has no essential containers with a health check defined, the service scheduler will wait for 40 seconds after a task reaches a ``RUNNING`` state before the task is counted towards the minimum healthy percent total. - If a task has one or more essential containers with a health check defined, the service scheduler will wait for the task to reach a healthy status before counting it towards the minimum healthy percent total. A task is considered healthy when all essential containers within the task have passed their health checks. The amount of time the service scheduler can wait for is determined by the container health check settings. For services that *do* use a load balancer, the following should be noted: - If a task has no essential containers with a health check defined, the service scheduler will wait for the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. - If a task has an essential container with a health check defined, the service scheduler will wait for both the task to reach a healthy status and the load balancer target group health check to return a healthy status before counting the task towards the minimum healthy percent total. The default value for a replica service for ``minimumHealthyPercent`` is 100%. The default ``minimumHealthyPercent`` value for a service using the ``DAEMON`` service schedule is 0% for the AWS CLI , the AWS SDKs, and the APIs and 50% for the AWS Management Console. The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent`` /100, rounded up to the nearest integer value. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. .. epigraph:: You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
9175
9175
 
9176
9176
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html
9177
9177
  :exampleMetadata: fixture=_generated
@@ -9244,7 +9244,12 @@ class CfnService(
9244
9244
 
9245
9245
  This parameter enables you to define the deployment batch size. For example, if your service is using the ``REPLICA`` service scheduler and has a ``desiredCount`` of four tasks and a ``maximumPercent`` value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default ``maximumPercent`` value for a service using the ``REPLICA`` service scheduler is 200%.
9246
9246
 
9247
- If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and tasks that use the EC2 launch type, the *maximum percent* value is set to the default value and is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.
9247
+ If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types, and tasks in the service use the EC2 launch type, the *maximum percent* value is set to the default value. The *maximum percent* value is used to define the upper limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.
9248
+ .. epigraph::
9249
+
9250
+ You can't specify a custom ``maximumPercent`` value for a service that uses either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.
9251
+
9252
+ If the tasks in the service use the Fargate launch type, the maximum percent value is not used, although it is returned when describing your service.
9248
9253
 
9249
9254
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-maximumpercent
9250
9255
  '''
@@ -9272,7 +9277,12 @@ class CfnService(
9272
9277
 
9273
9278
  The minimum number of healthy tasks during a deployment is the ``desiredCount`` multiplied by the ``minimumHealthyPercent`` /100, rounded up to the nearest integer value.
9274
9279
 
9275
- If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value and is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state. If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
9280
+ If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the EC2 launch type, the *minimum healthy percent* value is set to the default value. The *minimum healthy percent* value is used to define the lower limit on the number of the tasks in the service that remain in the ``RUNNING`` state while the container instances are in the ``DRAINING`` state.
9281
+ .. epigraph::
9282
+
9283
+ You can't specify a custom ``minimumHealthyPercent`` value for a service that uses either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and has tasks that use the EC2 launch type.
9284
+
9285
+ If a service is using either the blue/green ( ``CODE_DEPLOY`` ) or ``EXTERNAL`` deployment types and is running tasks that use the Fargate launch type, the minimum healthy percent value is not used, although it is returned when describing your service.
9276
9286
 
9277
9287
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-deploymentconfiguration.html#cfn-ecs-service-deploymentconfiguration-minimumhealthypercent
9278
9288
  '''
@@ -9589,7 +9599,7 @@ class CfnService(
9589
9599
  ) -> None:
9590
9600
  '''The log configuration for the container.
9591
9601
 
9592
- This parameter maps to ``LogConfig`` in the docker conainer create command and the ``--log-driver`` option to docker run.
9602
+ This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run.
9593
9603
 
9594
9604
  By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.
9595
9605
 
@@ -10118,7 +10128,7 @@ class CfnService(
10118
10128
  Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. 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* .
10119
10129
 
10120
10130
  :param enabled: Specifies whether to use Service Connect with this service.
10121
- :param log_configuration: The log configuration for the container. This parameter maps to ``LogConfig`` in the docker conainer create command and the ``--log-driver`` option to docker run. By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. Understand the following when specifying a log configuration for your containers. - Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. For tasks on AWS Fargate , the supported log drivers are ``awslogs`` , ``splunk`` , and ``awsfirelens`` . For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs`` , ``fluentd`` , ``gelf`` , ``json-file`` , ``journald`` , ``syslog`` , ``splunk`` , and ``awsfirelens`` . - This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. - For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see `Amazon ECS container agent configuration <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html>`_ in the *Amazon Elastic Container Service Developer Guide* . - For tasks that are on AWS Fargate , because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.
10131
+ :param log_configuration: The log configuration for the container. This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run. By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition. Understand the following when specifying a log configuration for your containers. - Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon. Additional log drivers may be available in future releases of the Amazon ECS container agent. For tasks on AWS Fargate , the supported log drivers are ``awslogs`` , ``splunk`` , and ``awsfirelens`` . For tasks hosted on Amazon EC2 instances, the supported log drivers are ``awslogs`` , ``fluentd`` , ``gelf`` , ``json-file`` , ``journald`` , ``syslog`` , ``splunk`` , and ``awsfirelens`` . - This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. - For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must register the available logging drivers with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see `Amazon ECS container agent configuration <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html>`_ in the *Amazon Elastic Container Service Developer Guide* . - For tasks that are on AWS Fargate , because you don't have access to the underlying infrastructure your tasks are hosted on, any additional software needed must be installed outside of the task. For example, the Fluentd output aggregators or a remote host running Logstash to send Gelf logs to.
10122
10132
  :param namespace: The namespace name or full Amazon Resource Name (ARN) of the AWS Cloud Map namespace for use with Service Connect. The namespace must be in the same AWS Region as the Amazon ECS service and cluster. The type of namespace doesn't affect Service Connect. For more information about AWS Cloud Map , see `Working with Services <https://docs.aws.amazon.com/cloud-map/latest/dg/working-with-services.html>`_ in the *AWS Cloud Map Developer Guide* .
10123
10133
  :param services: The list of Service Connect service objects. These are names and aliases (also known as endpoints) that are used by other Amazon ECS services to connect to this service. This field is not required for a "client" Amazon ECS service that's a member of a namespace only to connect to other services within the namespace. An example of this would be a frontend application that accepts incoming requests from either a load balancer that's attached to the service or by other means. An object selects a port from the task definition, assigns a name for the AWS Cloud Map service, and a list of aliases (endpoints) and ports for client applications to refer to this service.
10124
10134
 
@@ -10206,7 +10216,7 @@ class CfnService(
10206
10216
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnService.LogConfigurationProperty"]]:
10207
10217
  '''The log configuration for the container.
10208
10218
 
10209
- This parameter maps to ``LogConfig`` in the docker conainer create command and the ``--log-driver`` option to docker run.
10219
+ This parameter maps to ``LogConfig`` in the docker container create command and the ``--log-driver`` option to docker run.
10210
10220
 
10211
10221
  By default, containers use the same logging driver that the Docker daemon uses. However, the container might use a different logging driver than the Docker daemon by specifying a log driver configuration in the container definition.
10212
10222
 
@@ -11958,6 +11968,11 @@ class CfnTaskDefinition(
11958
11968
  type="type",
11959
11969
  value="value"
11960
11970
  )],
11971
+ restart_policy=ecs.CfnTaskDefinition.RestartPolicyProperty(
11972
+ enabled=False,
11973
+ ignored_exit_codes=[123],
11974
+ restart_attempt_period=123
11975
+ ),
11961
11976
  secrets=[ecs.CfnTaskDefinition.SecretProperty(
11962
11977
  name="name",
11963
11978
  value_from="valueFrom"
@@ -12552,6 +12567,7 @@ class CfnTaskDefinition(
12552
12567
  "readonly_root_filesystem": "readonlyRootFilesystem",
12553
12568
  "repository_credentials": "repositoryCredentials",
12554
12569
  "resource_requirements": "resourceRequirements",
12570
+ "restart_policy": "restartPolicy",
12555
12571
  "secrets": "secrets",
12556
12572
  "start_timeout": "startTimeout",
12557
12573
  "stop_timeout": "stopTimeout",
@@ -12598,6 +12614,7 @@ class CfnTaskDefinition(
12598
12614
  readonly_root_filesystem: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
12599
12615
  repository_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.RepositoryCredentialsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
12600
12616
  resource_requirements: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.ResourceRequirementProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
12617
+ restart_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.RestartPolicyProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
12601
12618
  secrets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnTaskDefinition.SecretProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
12602
12619
  start_timeout: typing.Optional[jsii.Number] = None,
12603
12620
  stop_timeout: typing.Optional[jsii.Number] = None,
@@ -12611,46 +12628,47 @@ class CfnTaskDefinition(
12611
12628
 
12612
12629
  Container definitions are used in task definitions to describe the different containers that are launched as part of a task.
12613
12630
 
12614
- :param image: The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``*repository-url* / *image* : *tag*`` or ``*repository-url* / *image* @ *digest*`` . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run. - When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. - Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest`` . For example, ``012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest`` or ``012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE`` . - Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo`` ). - Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent`` ). - Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu`` ).
12615
- :param name: The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run.
12616
- :param command: The command that's passed to the container. This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array.
12617
- :param cpu: The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run. This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. .. epigraph:: You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the `Amazon EC2 Instances <https://docs.aws.amazon.com/ec2/instance-types/>`_ detail page by 1,024. Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version: - *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares. - *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2. - *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares. On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0`` , which Windows interprets as 1% of one CPU.
12631
+ :param image: The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``*repository-url* / *image* : *tag*`` or ``*repository-url* / *image* @ *digest*`` . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run. - When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks. - Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest`` . For example, ``012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest`` or ``012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE`` . - Images in official repositories on Docker Hub use a single name (for example, ``ubuntu`` or ``mongo`` ). - Images in other repositories on Docker Hub are qualified with an organization name (for example, ``amazon/amazon-ecs-agent`` ). - Images in other online repositories are qualified further by a domain name (for example, ``quay.io/assemblyline/ubuntu`` ).
12632
+ :param name: The name of a container. If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run.
12633
+ :param command: The command that's passed to the container. This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array.
12634
+ :param cpu: The number of ``cpu`` units reserved for the container. This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run. This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value. .. epigraph:: You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the `Amazon EC2 Instances <https://docs.aws.amazon.com/ec2/instance-types/>`_ detail page by 1,024. Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version: - *Agent versions less than or equal to 1.1.0:* Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares. - *Agent versions greater than or equal to 1.2.0:* Null, zero, and CPU values of 1 are passed to Docker as 2. - *Agent versions greater than or equal to 1.84.0:* CPU values greater than 256 vCPU are passed to Docker as 256, which is equivalent to 262144 CPU shares. On Windows container instances, the CPU limit is enforced as an absolute limit, or a quota. Windows containers only have access to the specified amount of CPU that's described in the task definition. A null or zero CPU value is passed to Docker as ``0`` , which Windows interprets as 1% of one CPU.
12618
12635
  :param credential_specs: A list of ARNs in SSM or Amazon S3 to a credential spec ( ``CredSpec`` ) file that configures the container for Active Directory authentication. We recommend that you use this parameter instead of the ``dockerSecurityOptions`` . The maximum number of ARNs is 1. There are two formats for each ARN. - **credentialspecdomainless:MyARN** - You use ``credentialspecdomainless:MyARN`` to provide a ``CredSpec`` with an additional section for a secret in AWS Secrets Manager . You provide the login credentials to the domain in the secret. Each task that runs on any container instance can join different domains. You can use this format without joining the container instance to a domain. - **credentialspec:MyARN** - You use ``credentialspec:MyARN`` to provide a ``CredSpec`` for a single domain. You must join the container instance to the domain before you start any tasks that use this task definition. In both formats, replace ``MyARN`` with the ARN in SSM or Amazon S3. If you provide a ``credentialspecdomainless:MyARN`` , the ``credspec`` must provide a ARN in AWS Secrets Manager for a secret containing the username, password, and the domain to connect to. For better security, the instance isn't joined to the domain for domainless authentication. Other applications on the instance can't use the domainless credentials. You can use this parameter to run tasks on the same instance, even it the tasks need to join different domains. For more information, see `Using gMSAs for Windows Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html>`_ and `Using gMSAs for Linux Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html>`_ .
12619
12636
  :param depends_on: The dependencies defined for container startup and shutdown. A container can contain multiple dependencies. When a dependency is defined for container startup, for container shutdown it is reversed. For tasks using the EC2 launch type, the container instances require at least version 1.26.0 of the container agent to turn on container dependencies. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see `Updating the Amazon ECS Container Agent <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html>`_ in the *Amazon Elastic Container Service Developer Guide* . If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then 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* . For tasks using the Fargate launch type, the task or service requires the following platforms: - Linux platform version ``1.3.0`` or later. - Windows platform version ``1.0.0`` or later. If the task definition is used in a blue/green deployment that uses `AWS::CodeDeploy::DeploymentGroup BlueGreenDeploymentConfiguration <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codedeploy-deploymentgroup-bluegreendeploymentconfiguration.html>`_ , the ``dependsOn`` parameter is not supported. For more information see `Issue #680 <https://docs.aws.amazon.com/https://github.com/aws-cloudformation/cloudformation-coverage-roadmap/issues/680>`_ on the on the GitHub website.
12620
- :param disable_networking: When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker conainer create command. .. epigraph:: This parameter is not supported for Windows containers.
12621
- :param dns_search_domains: A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run. .. epigraph:: This parameter is not supported for Windows containers.
12622
- :param dns_servers: A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run. .. epigraph:: This parameter is not supported for Windows containers.
12623
- :param docker_labels: A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. 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}}'``
12624
- :param docker_security_options: A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see `Using gMSAs for Windows Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html>`_ and `Using gMSAs for Linux Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html>`_ in the *Amazon Elastic Container Service Developer Guide* . This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run. .. epigraph:: The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see `Amazon ECS Container Agent Configuration <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html>`_ in the *Amazon Elastic Container Service Developer Guide* . Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath"
12625
- :param entry_point: .. epigraph:: Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint`` , update your container agent or enter your commands and arguments as ``command`` array items instead. The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run.
12626
- :param environment: The environment variables to pass to a container. This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run. .. epigraph:: We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.
12637
+ :param disable_networking: When this parameter is true, networking is off within the container. This parameter maps to ``NetworkDisabled`` in the docker container create command. .. epigraph:: This parameter is not supported for Windows containers.
12638
+ :param dns_search_domains: A list of DNS search domains that are presented to the container. This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run. .. epigraph:: This parameter is not supported for Windows containers.
12639
+ :param dns_servers: A list of DNS servers that are presented to the container. This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run. .. epigraph:: This parameter is not supported for Windows containers.
12640
+ :param docker_labels: A key/value map of labels to add to the container. This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. 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}}'``
12641
+ :param docker_security_options: A list of strings to provide custom configuration for multiple security systems. This field isn't valid for containers in tasks using the Fargate launch type. For Linux tasks on EC2, this parameter can be used to reference custom labels for SELinux and AppArmor multi-level security systems. For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see `Using gMSAs for Windows Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html>`_ and `Using gMSAs for Linux Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html>`_ in the *Amazon Elastic Container Service Developer Guide* . This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run. .. epigraph:: The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see `Amazon ECS Container Agent Configuration <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html>`_ in the *Amazon Elastic Container Service Developer Guide* . Valid values: "no-new-privileges" | "apparmor:PROFILE" | "label:value" | "credentialspec:CredentialSpecFilePath"
12642
+ :param entry_point: .. epigraph:: Early versions of the Amazon ECS container agent don't properly handle ``entryPoint`` parameters. If you have problems using ``entryPoint`` , update your container agent or enter your commands and arguments as ``command`` array items instead. The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run.
12643
+ :param environment: The environment variables to pass to a container. This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run. .. epigraph:: We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.
12627
12644
  :param environment_files: A list of files containing the environment variables to pass to a container. This parameter maps to the ``--env-file`` option to docker run. You can specify up to ten environment files. The file must have a ``.env`` file extension. Each line in an environment file contains an environment variable in ``VARIABLE=VALUE`` format. Lines beginning with ``#`` are treated as comments and are ignored. If there are environment variables specified using the ``environment`` parameter in a container definition, they take precedence over the variables contained within an environment file. If multiple environment files are specified that contain the same variable, they're processed from the top down. We recommend that you use unique variable names. For more information, see `Specifying Environment Variables <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/taskdef-envfiles.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
12628
12645
  :param essential: If the ``essential`` parameter of a container is marked as ``true`` , and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the ``essential`` parameter of a container is marked as ``false`` , its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential. All tasks must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see `Application Architecture <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
12629
- :param extra_hosts: A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run. .. epigraph:: This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode.
12646
+ :param extra_hosts: A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container. This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run. .. epigraph:: This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode.
12630
12647
  :param firelens_configuration: The FireLens configuration for the container. This is used to specify and configure a log router for container logs. For more information, see `Custom Log Routing <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
12631
- :param health_check: The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run.
12632
- :param hostname: The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run. .. epigraph:: The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.
12633
- :param interactive: When this parameter is ``true`` , you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run.
12634
- :param links: The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge`` . The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run. .. epigraph:: This parameter is not supported for Windows containers. > Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.
12648
+ :param health_check: The container health check command and associated configuration parameters for the container. This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run.
12649
+ :param hostname: The hostname to use for your container. This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run. .. epigraph:: The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.
12650
+ :param interactive: When this parameter is ``true`` , you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated. This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run.
12651
+ :param links: The ``links`` parameter allows containers to communicate with each other without the need for port mappings. This parameter is only supported if the network mode of a task definition is ``bridge`` . The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run. .. epigraph:: This parameter is not supported for Windows containers. > Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.
12635
12652
  :param linux_parameters: Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information see `KernelCapabilities <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html>`_ . .. epigraph:: This parameter is not supported for Windows containers.
12636
12653
  :param log_configuration: The log configuration specification for the container. This parameter maps to ``LogConfig`` in the docker Create a container command and the ``--log-driver`` option to docker run. By default, containers use the same logging driver that the Docker daemon uses. However, the container may use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see `Configure logging drivers <https://docs.aws.amazon.com/https://docs.docker.com/engine/admin/logging/overview/>`_ in the Docker documentation. .. epigraph:: Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the `LogConfiguration <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html>`_ data type). Additional log drivers may be available in future releases of the Amazon ECS container agent. 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:: The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ``ECS_AVAILABLE_LOGGING_DRIVERS`` environment variable before containers placed on that instance can use these log configuration options. For more information, see `Amazon ECS Container Agent Configuration <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
12637
12654
  :param memory: The amount (in MiB) of memory to present to the container. If your container attempts to exceed the memory specified here, the container is killed. The total amount of memory reserved for all containers within a task must be lower than the task ``memory`` value, if one is specified. This parameter maps to ``Memory`` 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 ``--memory`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . If using the Fargate launch type, this parameter is optional. If using the EC2 launch type, you must specify either a task-level memory value or a container-level memory value. If you specify both a container-level ``memory`` and ``memoryReservation`` value, ``memory`` must be greater than ``memoryReservation`` . If you specify ``memoryReservation`` , then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container, so you should not specify fewer than 6 MiB of memory for your containers. The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container, so you should not specify fewer than 4 MiB of memory for your containers.
12638
- :param memory_reservation: The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run. If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation`` . If you specify ``memoryReservation`` , then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers.
12639
- :param mount_points: The mount points for data volumes in your container. This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run. Windows containers can mount whole directories on the same drive as ``$env:ProgramData`` . Windows containers can't mount directories on a different drive, and mount point can't be across drives.
12655
+ :param memory_reservation: The soft limit (in MiB) of memory to reserve for the container. When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run. If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation`` . If you specify ``memoryReservation`` , then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used. For example, if your container normally uses 128 MiB of memory, but occasionally bursts to 256 MiB of memory for short periods of time, you can set a ``memoryReservation`` of 128 MiB, and a ``memory`` hard limit of 300 MiB. This configuration would allow the container to only reserve 128 MiB of memory from the remaining resources on the container instance, but also allow the container to consume more memory resources when needed. The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a container. So, don't specify less than 6 MiB of memory for your containers. The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a container. So, don't specify less than 4 MiB of memory for your containers.
12656
+ :param mount_points: The mount points for data volumes in your container. This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run. Windows containers can mount whole directories on the same drive as ``$env:ProgramData`` . Windows containers can't mount directories on a different drive, and mount point can't be across drives.
12640
12657
  :param port_mappings: The list of port mappings for the container. Port mappings allow containers to access ports on the host container instance to send or receive traffic. For task definitions that use the ``awsvpc`` network mode, you should only specify the ``containerPort`` . The ``hostPort`` can be left blank or it must be the same value as the ``containerPort`` . Port mappings on Windows use the ``NetNAT`` gateway address rather than ``localhost`` . There is no loopback for port mappings on Windows, so you cannot access a container's mapped port from the host itself. This parameter maps to ``PortBindings`` 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 ``--publish`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/>`_ . If the network mode of a task definition is set to ``none`` , then you can't specify port mappings. If the network mode of a task definition is set to ``host`` , then host ports must either be undefined or they must match the container port in the port mapping. .. epigraph:: After a task reaches the ``RUNNING`` status, manual and automatic host and container port assignments are visible in the *Network Bindings* section of a container description for a selected task in the Amazon ECS console. The assignments are also visible in the ``networkBindings`` section `DescribeTasks <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html>`_ responses.
12641
- :param privileged: When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run .. epigraph:: This parameter is not supported for Windows containers or tasks run on AWS Fargate .
12642
- :param pseudo_terminal: When this parameter is ``true`` , a TTY is allocated. This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run.
12643
- :param readonly_root_filesystem: When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run. .. epigraph:: This parameter is not supported for Windows containers.
12658
+ :param privileged: When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user). This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run .. epigraph:: This parameter is not supported for Windows containers or tasks run on AWS Fargate .
12659
+ :param pseudo_terminal: When this parameter is ``true`` , a TTY is allocated. This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run.
12660
+ :param readonly_root_filesystem: When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run. .. epigraph:: This parameter is not supported for Windows containers.
12644
12661
  :param repository_credentials: The private repository authentication credentials to use.
12645
12662
  :param resource_requirements: The type and amount of a resource to assign to a container. The only supported resource is a GPU.
12663
+ :param restart_policy: The restart policy for a container. When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see `Restart individual containers in Amazon ECS tasks with container restart policies <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
12646
12664
  :param secrets: The secrets to pass to the container. For more information, see `Specifying Sensitive Data <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
12647
12665
  :param start_timeout: Time duration (in seconds) to wait before giving up on resolving dependencies for a container. For example, you specify two containers in a task definition with containerA having a dependency on containerB reaching a ``COMPLETE`` , ``SUCCESS`` , or ``HEALTHY`` status. If a ``startTimeout`` value is specified for containerB and it doesn't reach the desired status within that time then containerA gives up and not start. This results in the task transitioning to a ``STOPPED`` state. .. epigraph:: When the ``ECS_CONTAINER_START_TIMEOUT`` container agent configuration variable is used, it's enforced independently from this start timeout value. For tasks using the Fargate launch type, the task or service requires the following platforms: - Linux platform version ``1.3.0`` or later. - Windows platform version ``1.0.0`` or later. For tasks using the EC2 launch type, your container instances require at least version ``1.26.0`` of the container agent to use a container start timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see `Updating the Amazon ECS Container Agent <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html>`_ in the *Amazon Elastic Container Service Developer Guide* . If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version ``1.26.0-1`` of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then 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* . The valid values for Fargate are 2-120 seconds.
12648
12666
  :param stop_timeout: Time duration (in seconds) to wait before the container is forcefully killed if it doesn't exit normally on its own. For tasks using the Fargate launch type, the task or service requires the following platforms: - Linux platform version ``1.3.0`` or later. - Windows platform version ``1.0.0`` or later. The max stop timeout value is 120 seconds and if the parameter is not specified, the default value of 30 seconds is used. For tasks that use the EC2 launch type, if the ``stopTimeout`` parameter isn't specified, the value set for the Amazon ECS container agent configuration variable ``ECS_CONTAINER_STOP_TIMEOUT`` is used. If neither the ``stopTimeout`` parameter or the ``ECS_CONTAINER_STOP_TIMEOUT`` agent configuration variable are set, then the default values of 30 seconds for Linux containers and 30 seconds on Windows containers are used. Your container instances require at least version 1.26.0 of the container agent to use a container stop timeout value. However, we recommend using the latest container agent version. For information about checking your agent version and updating to the latest version, see `Updating the Amazon ECS Container Agent <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-update.html>`_ in the *Amazon Elastic Container Service Developer Guide* . If you're using an Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the ``ecs-init`` package. If your container instances are launched from version ``20190301`` or later, then 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* . The valid values are 2-120 seconds.
12649
- :param system_controls: A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe docker conainer 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.
12667
+ :param system_controls: A list of namespaced kernel parameters to set in the container. This parameter maps to ``Sysctls`` in tthe 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.
12650
12668
  :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.
12651
- :param user: The user to use inside the container. This parameter maps to ``User`` in the docker conainer 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.
12652
- :param volumes_from: Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run.
12653
- :param working_directory: The working directory to run commands inside the container in. This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run.
12669
+ :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.
12670
+ :param volumes_from: Data volumes to mount from another container. This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run.
12671
+ :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.
12654
12672
 
12655
12673
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html
12656
12674
  :exampleMetadata: fixture=_generated
@@ -12769,6 +12787,11 @@ class CfnTaskDefinition(
12769
12787
  type="type",
12770
12788
  value="value"
12771
12789
  )],
12790
+ restart_policy=ecs.CfnTaskDefinition.RestartPolicyProperty(
12791
+ enabled=False,
12792
+ ignored_exit_codes=[123],
12793
+ restart_attempt_period=123
12794
+ ),
12772
12795
  secrets=[ecs.CfnTaskDefinition.SecretProperty(
12773
12796
  name="name",
12774
12797
  value_from="valueFrom"
@@ -12826,6 +12849,7 @@ class CfnTaskDefinition(
12826
12849
  check_type(argname="argument readonly_root_filesystem", value=readonly_root_filesystem, expected_type=type_hints["readonly_root_filesystem"])
12827
12850
  check_type(argname="argument repository_credentials", value=repository_credentials, expected_type=type_hints["repository_credentials"])
12828
12851
  check_type(argname="argument resource_requirements", value=resource_requirements, expected_type=type_hints["resource_requirements"])
12852
+ check_type(argname="argument restart_policy", value=restart_policy, expected_type=type_hints["restart_policy"])
12829
12853
  check_type(argname="argument secrets", value=secrets, expected_type=type_hints["secrets"])
12830
12854
  check_type(argname="argument start_timeout", value=start_timeout, expected_type=type_hints["start_timeout"])
12831
12855
  check_type(argname="argument stop_timeout", value=stop_timeout, expected_type=type_hints["stop_timeout"])
@@ -12898,6 +12922,8 @@ class CfnTaskDefinition(
12898
12922
  self._values["repository_credentials"] = repository_credentials
12899
12923
  if resource_requirements is not None:
12900
12924
  self._values["resource_requirements"] = resource_requirements
12925
+ if restart_policy is not None:
12926
+ self._values["restart_policy"] = restart_policy
12901
12927
  if secrets is not None:
12902
12928
  self._values["secrets"] = secrets
12903
12929
  if start_timeout is not None:
@@ -12919,7 +12945,7 @@ class CfnTaskDefinition(
12919
12945
  def image(self) -> builtins.str:
12920
12946
  '''The image used to start a container.
12921
12947
 
12922
- This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``*repository-url* / *image* : *tag*`` or ``*repository-url* / *image* @ *digest*`` . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker conainer create command and the ``IMAGE`` parameter of docker run.
12948
+ This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either ``*repository-url* / *image* : *tag*`` or ``*repository-url* / *image* @ *digest*`` . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to ``Image`` in the docker container create command and the ``IMAGE`` parameter of docker run.
12923
12949
 
12924
12950
  - When a new task starts, the Amazon ECS container agent pulls the latest version of the specified image and tag for the container to use. However, subsequent updates to a repository image aren't propagated to already running tasks.
12925
12951
  - Images in Amazon ECR repositories can be specified by either using the full ``registry/repository:tag`` or ``registry/repository@digest`` . For example, ``012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>:latest`` or ``012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE`` .
@@ -12937,7 +12963,7 @@ class CfnTaskDefinition(
12937
12963
  def name(self) -> builtins.str:
12938
12964
  '''The name of a container.
12939
12965
 
12940
- If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker conainer create command and the ``--name`` option to docker run.
12966
+ If you're linking multiple containers together in a task definition, the ``name`` of one container can be entered in the ``links`` of another container to connect the containers. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to ``name`` in tthe docker container create command and the ``--name`` option to docker run.
12941
12967
 
12942
12968
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-name
12943
12969
  '''
@@ -12949,7 +12975,7 @@ class CfnTaskDefinition(
12949
12975
  def command(self) -> typing.Optional[typing.List[builtins.str]]:
12950
12976
  '''The command that's passed to the container.
12951
12977
 
12952
- This parameter maps to ``Cmd`` in the docker conainer create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array.
12978
+ This parameter maps to ``Cmd`` in the docker container create command and the ``COMMAND`` parameter to docker run. If there are multiple arguments, each argument is a separated string in the array.
12953
12979
 
12954
12980
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-command
12955
12981
  '''
@@ -12960,7 +12986,7 @@ class CfnTaskDefinition(
12960
12986
  def cpu(self) -> typing.Optional[jsii.Number]:
12961
12987
  '''The number of ``cpu`` units reserved for the container.
12962
12988
 
12963
- This parameter maps to ``CpuShares`` in the docker conainer create commandand the ``--cpu-shares`` option to docker run.
12989
+ This parameter maps to ``CpuShares`` in the docker container create commandand the ``--cpu-shares`` option to docker run.
12964
12990
 
12965
12991
  This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level ``cpu`` value.
12966
12992
  .. epigraph::
@@ -13037,7 +13063,7 @@ class CfnTaskDefinition(
13037
13063
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
13038
13064
  '''When this parameter is true, networking is off within the container.
13039
13065
 
13040
- This parameter maps to ``NetworkDisabled`` in the docker conainer create command.
13066
+ This parameter maps to ``NetworkDisabled`` in the docker container create command.
13041
13067
  .. epigraph::
13042
13068
 
13043
13069
  This parameter is not supported for Windows containers.
@@ -13051,7 +13077,7 @@ class CfnTaskDefinition(
13051
13077
  def dns_search_domains(self) -> typing.Optional[typing.List[builtins.str]]:
13052
13078
  '''A list of DNS search domains that are presented to the container.
13053
13079
 
13054
- This parameter maps to ``DnsSearch`` in the docker conainer create command and the ``--dns-search`` option to docker run.
13080
+ This parameter maps to ``DnsSearch`` in the docker container create command and the ``--dns-search`` option to docker run.
13055
13081
  .. epigraph::
13056
13082
 
13057
13083
  This parameter is not supported for Windows containers.
@@ -13065,7 +13091,7 @@ class CfnTaskDefinition(
13065
13091
  def dns_servers(self) -> typing.Optional[typing.List[builtins.str]]:
13066
13092
  '''A list of DNS servers that are presented to the container.
13067
13093
 
13068
- This parameter maps to ``Dns`` in the the docker conainer create command and the ``--dns`` option to docker run.
13094
+ This parameter maps to ``Dns`` in the docker container create command and the ``--dns`` option to docker run.
13069
13095
  .. epigraph::
13070
13096
 
13071
13097
  This parameter is not supported for Windows containers.
@@ -13081,7 +13107,7 @@ class CfnTaskDefinition(
13081
13107
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
13082
13108
  '''A key/value map of labels to add to the container.
13083
13109
 
13084
- This parameter maps to ``Labels`` in the docker conainer create command and the ``--label`` option to docker run. 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}}'``
13110
+ This parameter maps to ``Labels`` in the docker container create command and the ``--label`` option to docker run. 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}}'``
13085
13111
 
13086
13112
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-dockerlabels
13087
13113
  '''
@@ -13098,7 +13124,7 @@ class CfnTaskDefinition(
13098
13124
 
13099
13125
  For any tasks on EC2, this parameter can be used to reference a credential spec file that configures a container for Active Directory authentication. For more information, see `Using gMSAs for Windows Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html>`_ and `Using gMSAs for Linux Containers <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
13100
13126
 
13101
- This parameter maps to ``SecurityOpt`` in the docker conainer create command and the ``--security-opt`` option to docker run.
13127
+ This parameter maps to ``SecurityOpt`` in the docker container create command and the ``--security-opt`` option to docker run.
13102
13128
  .. epigraph::
13103
13129
 
13104
13130
  The Amazon ECS container agent running on a container instance must register with the ``ECS_SELINUX_CAPABLE=true`` or ``ECS_APPARMOR_CAPABLE=true`` environment variables before containers placed on that instance can use these security options. For more information, see `Amazon ECS Container Agent Configuration <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
@@ -13118,7 +13144,7 @@ class CfnTaskDefinition(
13118
13144
 
13119
13145
  If you have problems using ``entryPoint`` , update your container agent or enter your commands and arguments as ``command`` array items instead.
13120
13146
 
13121
- The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker conainer create command and the ``--entrypoint`` option to docker run.
13147
+ The entry point that's passed to the container. This parameter maps to ``Entrypoint`` in tthe docker container create command and the ``--entrypoint`` option to docker run.
13122
13148
 
13123
13149
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-entrypoint
13124
13150
  '''
@@ -13131,7 +13157,7 @@ class CfnTaskDefinition(
13131
13157
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.KeyValuePairProperty"]]]]:
13132
13158
  '''The environment variables to pass to a container.
13133
13159
 
13134
- This parameter maps to ``Env`` in the docker conainer create command and the ``--env`` option to docker run.
13160
+ This parameter maps to ``Env`` in the docker container create command and the ``--env`` option to docker run.
13135
13161
  .. epigraph::
13136
13162
 
13137
13163
  We don't recommend that you use plaintext environment variables for sensitive information, such as credential data.
@@ -13179,7 +13205,7 @@ class CfnTaskDefinition(
13179
13205
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.HostEntryProperty"]]]]:
13180
13206
  '''A list of hostnames and IP address mappings to append to the ``/etc/hosts`` file on the container.
13181
13207
 
13182
- This parameter maps to ``ExtraHosts`` in the docker conainer create command and the ``--add-host`` option to docker run.
13208
+ This parameter maps to ``ExtraHosts`` in the docker container create command and the ``--add-host`` option to docker run.
13183
13209
  .. epigraph::
13184
13210
 
13185
13211
  This parameter isn't supported for Windows containers or tasks that use the ``awsvpc`` network mode.
@@ -13208,7 +13234,7 @@ class CfnTaskDefinition(
13208
13234
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.HealthCheckProperty"]]:
13209
13235
  '''The container health check command and associated configuration parameters for the container.
13210
13236
 
13211
- This parameter maps to ``HealthCheck`` in the docker conainer create command and the ``HEALTHCHECK`` parameter of docker run.
13237
+ This parameter maps to ``HealthCheck`` in the docker container create command and the ``HEALTHCHECK`` parameter of docker run.
13212
13238
 
13213
13239
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-healthcheck
13214
13240
  '''
@@ -13219,7 +13245,7 @@ class CfnTaskDefinition(
13219
13245
  def hostname(self) -> typing.Optional[builtins.str]:
13220
13246
  '''The hostname to use for your container.
13221
13247
 
13222
- This parameter maps to ``Hostname`` in thethe docker conainer create command and the ``--hostname`` option to docker run.
13248
+ This parameter maps to ``Hostname`` in thethe docker container create command and the ``--hostname`` option to docker run.
13223
13249
  .. epigraph::
13224
13250
 
13225
13251
  The ``hostname`` parameter is not supported if you're using the ``awsvpc`` network mode.
@@ -13235,7 +13261,7 @@ class CfnTaskDefinition(
13235
13261
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
13236
13262
  '''When this parameter is ``true`` , you can deploy containerized applications that require ``stdin`` or a ``tty`` to be allocated.
13237
13263
 
13238
- This parameter maps to ``OpenStdin`` in the docker conainer create command and the ``--interactive`` option to docker run.
13264
+ This parameter maps to ``OpenStdin`` in the docker container create command and the ``--interactive`` option to docker run.
13239
13265
 
13240
13266
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-interactive
13241
13267
  '''
@@ -13246,7 +13272,7 @@ class CfnTaskDefinition(
13246
13272
  def links(self) -> typing.Optional[typing.List[builtins.str]]:
13247
13273
  '''The ``links`` parameter allows containers to communicate with each other without the need for port mappings.
13248
13274
 
13249
- This parameter is only supported if the network mode of a task definition is ``bridge`` . The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker conainer create command and the ``--link`` option to docker run.
13275
+ This parameter is only supported if the network mode of a task definition is ``bridge`` . The ``name:internalName`` construct is analogous to ``name:alias`` in Docker links. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to ``Links`` in the docker container create command and the ``--link`` option to docker run.
13250
13276
  .. epigraph::
13251
13277
 
13252
13278
  This parameter is not supported for Windows containers. > Containers that are collocated on a single container instance may be able to communicate with each other without requiring links or host port mappings. Network isolation is achieved on the container instance using security groups and VPC settings.
@@ -13315,7 +13341,7 @@ class CfnTaskDefinition(
13315
13341
  def memory_reservation(self) -> typing.Optional[jsii.Number]:
13316
13342
  '''The soft limit (in MiB) of memory to reserve for the container.
13317
13343
 
13318
- When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the the docker conainer create command and the ``--memory-reservation`` option to docker run.
13344
+ When system memory is under heavy contention, Docker attempts to keep the container memory to this soft limit. However, your container can consume more memory when it needs to, up to either the hard limit specified with the ``memory`` parameter (if applicable), or all of the available memory on the container instance, whichever comes first. This parameter maps to ``MemoryReservation`` in the docker container create command and the ``--memory-reservation`` option to docker run.
13319
13345
 
13320
13346
  If a task-level memory value is not specified, you must specify a non-zero integer for one or both of ``memory`` or ``memoryReservation`` in a container definition. If you specify both, ``memory`` must be greater than ``memoryReservation`` . If you specify ``memoryReservation`` , then that value is subtracted from the available memory resources for the container instance where the container is placed. Otherwise, the value of ``memory`` is used.
13321
13347
 
@@ -13336,7 +13362,7 @@ class CfnTaskDefinition(
13336
13362
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.MountPointProperty"]]]]:
13337
13363
  '''The mount points for data volumes in your container.
13338
13364
 
13339
- This parameter maps to ``Volumes`` in the the docker conainer create command and the ``--volume`` option to docker run.
13365
+ This parameter maps to ``Volumes`` in the docker container create command and the ``--volume`` option to docker run.
13340
13366
 
13341
13367
  Windows containers can mount whole directories on the same drive as ``$env:ProgramData`` . Windows containers can't mount directories on a different drive, and mount point can't be across drives.
13342
13368
 
@@ -13373,7 +13399,7 @@ class CfnTaskDefinition(
13373
13399
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
13374
13400
  '''When this parameter is true, the container is given elevated privileges on the host container instance (similar to the ``root`` user).
13375
13401
 
13376
- This parameter maps to ``Privileged`` in the the docker conainer create command and the ``--privileged`` option to docker run
13402
+ This parameter maps to ``Privileged`` in the docker container create command and the ``--privileged`` option to docker run
13377
13403
  .. epigraph::
13378
13404
 
13379
13405
  This parameter is not supported for Windows containers or tasks run on AWS Fargate .
@@ -13389,7 +13415,7 @@ class CfnTaskDefinition(
13389
13415
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
13390
13416
  '''When this parameter is ``true`` , a TTY is allocated.
13391
13417
 
13392
- This parameter maps to ``Tty`` in tthe docker conainer create command and the ``--tty`` option to docker run.
13418
+ This parameter maps to ``Tty`` in tthe docker container create command and the ``--tty`` option to docker run.
13393
13419
 
13394
13420
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-pseudoterminal
13395
13421
  '''
@@ -13402,7 +13428,7 @@ class CfnTaskDefinition(
13402
13428
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
13403
13429
  '''When this parameter is true, the container is given read-only access to its root file system.
13404
13430
 
13405
- This parameter maps to ``ReadonlyRootfs`` in the docker conainer create command and the ``--read-only`` option to docker run.
13431
+ This parameter maps to ``ReadonlyRootfs`` in the docker container create command and the ``--read-only`` option to docker run.
13406
13432
  .. epigraph::
13407
13433
 
13408
13434
  This parameter is not supported for Windows containers.
@@ -13436,6 +13462,19 @@ class CfnTaskDefinition(
13436
13462
  result = self._values.get("resource_requirements")
13437
13463
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.ResourceRequirementProperty"]]]], result)
13438
13464
 
13465
+ @builtins.property
13466
+ def restart_policy(
13467
+ self,
13468
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.RestartPolicyProperty"]]:
13469
+ '''The restart policy for a container.
13470
+
13471
+ When you set up a restart policy, Amazon ECS can restart the container without needing to replace the task. For more information, see `Restart individual containers in Amazon ECS tasks with container restart policies <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
13472
+
13473
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-restartpolicy
13474
+ '''
13475
+ result = self._values.get("restart_policy")
13476
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.RestartPolicyProperty"]], result)
13477
+
13439
13478
  @builtins.property
13440
13479
  def secrets(
13441
13480
  self,
@@ -13498,7 +13537,7 @@ class CfnTaskDefinition(
13498
13537
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.SystemControlProperty"]]]]:
13499
13538
  '''A list of namespaced kernel parameters to set in the container.
13500
13539
 
13501
- This parameter maps to ``Sysctls`` in tthe docker conainer 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.
13540
+ This parameter maps to ``Sysctls`` in tthe 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.
13502
13541
 
13503
13542
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-systemcontrols
13504
13543
  '''
@@ -13525,7 +13564,7 @@ class CfnTaskDefinition(
13525
13564
  def user(self) -> typing.Optional[builtins.str]:
13526
13565
  '''The user to use inside the container.
13527
13566
 
13528
- This parameter maps to ``User`` in the docker conainer create command and the ``--user`` option to docker run.
13567
+ This parameter maps to ``User`` in the docker container create command and the ``--user`` option to docker run.
13529
13568
  .. epigraph::
13530
13569
 
13531
13570
  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.
@@ -13554,7 +13593,7 @@ class CfnTaskDefinition(
13554
13593
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.VolumeFromProperty"]]]]:
13555
13594
  '''Data volumes to mount from another container.
13556
13595
 
13557
- This parameter maps to ``VolumesFrom`` in tthe docker conainer create command and the ``--volumes-from`` option to docker run.
13596
+ This parameter maps to ``VolumesFrom`` in tthe docker container create command and the ``--volumes-from`` option to docker run.
13558
13597
 
13559
13598
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-volumesfrom
13560
13599
  '''
@@ -13565,7 +13604,7 @@ class CfnTaskDefinition(
13565
13604
  def working_directory(self) -> typing.Optional[builtins.str]:
13566
13605
  '''The working directory to run commands inside the container in.
13567
13606
 
13568
- This parameter maps to ``WorkingDir`` in the docker conainer create command and the ``--workdir`` option to docker run.
13607
+ This parameter maps to ``WorkingDir`` in the docker container create command and the ``--workdir`` option to docker run.
13569
13608
 
13570
13609
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinition.html#cfn-ecs-taskdefinition-containerdefinition-workingdirectory
13571
13610
  '''
@@ -13782,9 +13821,9 @@ class CfnTaskDefinition(
13782
13821
  Docker volumes are only supported when you are using the EC2 launch type. Windows containers only support the use of the ``local`` driver. To use bind mounts, specify a ``host`` instead.
13783
13822
 
13784
13823
  :param autoprovision: If this value is ``true`` , the Docker volume is created if it doesn't already exist. .. epigraph:: This field is only used if the ``scope`` is ``shared`` .
13785
- :param driver: The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create.
13824
+ :param driver: The Docker volume driver to use. The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create.
13786
13825
  :param driver_opts: A map of Docker driver-specific options passed through. This parameter maps to ``DriverOpts`` in the docker create-volume command and the ``xxopt`` option to docker volume create.
13787
- :param labels: Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create.
13826
+ :param labels: Custom metadata to add to your Docker volume. This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create.
13788
13827
  :param scope: The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a ``task`` are automatically provisioned when the task starts and destroyed when the task stops. Docker volumes that are scoped as ``shared`` persist after the task stops.
13789
13828
 
13790
13829
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html
@@ -13846,7 +13885,7 @@ class CfnTaskDefinition(
13846
13885
  def driver(self) -> typing.Optional[builtins.str]:
13847
13886
  '''The Docker volume driver to use.
13848
13887
 
13849
- The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker conainer create command and the ``xxdriver`` option to docker volume create.
13888
+ The driver value must match the driver name provided by Docker because it is used for task placement. If the driver was installed using the Docker plugin CLI, use ``docker plugin ls`` to retrieve the driver name from your container instance. If the driver was installed using another method, use Docker plugin discovery to retrieve the driver name. This parameter maps to ``Driver`` in the docker container create command and the ``xxdriver`` option to docker volume create.
13850
13889
 
13851
13890
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-driver
13852
13891
  '''
@@ -13872,7 +13911,7 @@ class CfnTaskDefinition(
13872
13911
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Mapping[builtins.str, builtins.str]]]:
13873
13912
  '''Custom metadata to add to your Docker volume.
13874
13913
 
13875
- This parameter maps to ``Labels`` in the docker conainer create command and the ``xxlabel`` option to docker volume create.
13914
+ This parameter maps to ``Labels`` in the docker container create command and the ``xxlabel`` option to docker volume create.
13876
13915
 
13877
13916
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-dockervolumeconfiguration.html#cfn-ecs-taskdefinition-dockervolumeconfiguration-labels
13878
13917
  '''
@@ -14206,9 +14245,14 @@ class CfnTaskDefinition(
14206
14245
  credentials_parameter: builtins.str,
14207
14246
  domain: builtins.str,
14208
14247
  ) -> None:
14209
- '''
14210
- :param credentials_parameter:
14211
- :param domain:
14248
+ '''The authorization configuration details for Amazon FSx for Windows File Server file system.
14249
+
14250
+ See `FSxWindowsFileServerVolumeConfiguration <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html>`_ in the *Amazon ECS API Reference* .
14251
+
14252
+ For more information and the input format, see `Amazon FSx for Windows File Server Volumes <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/wfsx-volumes.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
14253
+
14254
+ :param credentials_parameter: The authorization credential option to use. The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials.
14255
+ :param domain: A fully qualified domain name hosted by an `AWS Directory Service <https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html>`_ Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2.
14212
14256
 
14213
14257
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxauthorizationconfig.html
14214
14258
  :exampleMetadata: fixture=_generated
@@ -14235,7 +14279,10 @@ class CfnTaskDefinition(
14235
14279
 
14236
14280
  @builtins.property
14237
14281
  def credentials_parameter(self) -> builtins.str:
14238
- '''
14282
+ '''The authorization credential option to use.
14283
+
14284
+ The authorization credential options can be provided using either the Amazon Resource Name (ARN) of an AWS Secrets Manager secret or SSM Parameter Store parameter. The ARN refers to the stored credentials.
14285
+
14239
14286
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxauthorizationconfig.html#cfn-ecs-taskdefinition-fsxauthorizationconfig-credentialsparameter
14240
14287
  '''
14241
14288
  result = self._values.get("credentials_parameter")
@@ -14244,7 +14291,8 @@ class CfnTaskDefinition(
14244
14291
 
14245
14292
  @builtins.property
14246
14293
  def domain(self) -> builtins.str:
14247
- '''
14294
+ '''A fully qualified domain name hosted by an `AWS Directory Service <https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html>`_ Managed Microsoft AD (Active Directory) or self-hosted AD on Amazon EC2.
14295
+
14248
14296
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-fsxauthorizationconfig.html#cfn-ecs-taskdefinition-fsxauthorizationconfig-domain
14249
14297
  '''
14250
14298
  result = self._values.get("domain")
@@ -14483,7 +14531,7 @@ class CfnTaskDefinition(
14483
14531
  - Container health checks are supported for Fargate tasks if you are using platform version 1.1.0 or greater. For more information, see `AWS Fargate Platform Versions <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html>`_ .
14484
14532
  - Container health checks are not supported for tasks that are part of a service that is configured to use a Classic Load Balancer.
14485
14533
 
14486
- :param command: A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. When you use the AWS Management Console JSON panel, the AWS Command Line Interface , or the APIs, enclose the list of commands in double quotes and brackets. ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` You don't include the double quotes and brackets when you use the AWS Management Console. ``CMD-SHELL, curl -f http://localhost/ || exit 1`` An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command
14534
+ :param command: A string array representing the command that the container runs to determine if it is healthy. The string array must start with ``CMD`` to run the command arguments directly, or ``CMD-SHELL`` to run the command with the container's default shell. When you use the AWS Management Console JSON panel, the AWS Command Line Interface , or the APIs, enclose the list of commands in double quotes and brackets. ``[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]`` You don't include the double quotes and brackets when you use the AWS Management Console. ``CMD-SHELL, curl -f http://localhost/ || exit 1`` An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command
14487
14535
  :param interval: The time period in seconds between each health check execution. You may specify between 5 and 300 seconds. The default value is 30 seconds.
14488
14536
  :param retries: The number of times to retry a failed health check before the container is considered unhealthy. You may specify between 1 and 10 retries. The default value is 3.
14489
14537
  :param start_period: The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries. You can specify between 0 and 300 seconds. By default, the ``startPeriod`` is off. .. epigraph:: If a health check succeeds within the ``startPeriod`` , then the container is considered healthy and any subsequent failures count toward the maximum number of retries.
@@ -14539,7 +14587,7 @@ class CfnTaskDefinition(
14539
14587
 
14540
14588
  ``CMD-SHELL, curl -f http://localhost/ || exit 1``
14541
14589
 
14542
- An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker conainer create command
14590
+ An exit code of 0 indicates success, and non-zero exit code indicates failure. For more information, see ``HealthCheck`` in tthe docker container create command
14543
14591
 
14544
14592
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-healthcheck.html#cfn-ecs-taskdefinition-healthcheck-command
14545
14593
  '''
@@ -14823,8 +14871,8 @@ class CfnTaskDefinition(
14823
14871
 
14824
14872
  For more detailed information about these Linux capabilities, see the `capabilities(7) <https://docs.aws.amazon.com/http://man7.org/linux/man-pages/man7/capabilities.7.html>`_ Linux manual page.
14825
14873
 
14826
- :param add: The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run. .. epigraph:: Tasks launched on AWS Fargate only support adding the ``SYS_PTRACE`` kernel capability. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"``
14827
- :param drop: The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"``
14874
+ :param add: The Linux capabilities for the container that have been added to the default configuration provided by Docker. This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run. .. epigraph:: Tasks launched on AWS Fargate only support adding the ``SYS_PTRACE`` kernel capability. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"``
14875
+ :param drop: The Linux capabilities for the container that have been removed from the default configuration provided by Docker. This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run. Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"``
14828
14876
 
14829
14877
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-kernelcapabilities.html
14830
14878
  :exampleMetadata: fixture=_generated
@@ -14854,7 +14902,7 @@ class CfnTaskDefinition(
14854
14902
  def add(self) -> typing.Optional[typing.List[builtins.str]]:
14855
14903
  '''The Linux capabilities for the container that have been added to the default configuration provided by Docker.
14856
14904
 
14857
- This parameter maps to ``CapAdd`` in the docker conainer create command and the ``--cap-add`` option to docker run.
14905
+ This parameter maps to ``CapAdd`` in the docker container create command and the ``--cap-add`` option to docker run.
14858
14906
  .. epigraph::
14859
14907
 
14860
14908
  Tasks launched on AWS Fargate only support adding the ``SYS_PTRACE`` kernel capability.
@@ -14870,7 +14918,7 @@ class CfnTaskDefinition(
14870
14918
  def drop(self) -> typing.Optional[typing.List[builtins.str]]:
14871
14919
  '''The Linux capabilities for the container that have been removed from the default configuration provided by Docker.
14872
14920
 
14873
- This parameter maps to ``CapDrop`` in the docker conainer create command and the ``--cap-drop`` option to docker run.
14921
+ This parameter maps to ``CapDrop`` in the docker container create command and the ``--cap-drop`` option to docker run.
14874
14922
 
14875
14923
  Valid values: ``"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"``
14876
14924
 
@@ -14992,7 +15040,7 @@ class CfnTaskDefinition(
14992
15040
  '''The Linux-specific options that are applied to the container, such as Linux `KernelCapabilities <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html>`_ .
14993
15041
 
14994
15042
  :param capabilities: The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. .. epigraph:: For tasks that use the Fargate launch type, ``capabilities`` is supported for all platform versions but the ``add`` parameter is only supported if using platform version 1.4.0 or later.
14995
- :param devices: Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run. .. epigraph:: If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.
15043
+ :param devices: Any host devices to expose to the container. This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run. .. epigraph:: If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.
14996
15044
  :param init_process_enabled: Run an ``init`` process inside the container that forwards signals and reaps processes. This parameter maps to the ``--init`` option to docker run. This parameter requires version 1.25 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}}'``
14997
15045
  :param max_swap: The total amount of swap memory (in MiB) a container can use. This parameter will be translated to the ``--memory-swap`` option to docker run where the value would be the sum of the container memory plus the ``maxSwap`` value. If a ``maxSwap`` value of ``0`` is specified, the container will not use swap. Accepted values are ``0`` or any positive integer. If the ``maxSwap`` parameter is omitted, the container will use the swap configuration for the container instance it is running on. A ``maxSwap`` value must be set for the ``swappiness`` parameter to be used. .. epigraph:: If you're using tasks that use the Fargate launch type, the ``maxSwap`` parameter isn't supported. If you're using tasks on Amazon Linux 2023 the ``swappiness`` parameter isn't supported.
14998
15046
  :param shared_memory_size: The value for the size (in MiB) of the ``/dev/shm`` volume. This parameter maps to the ``--shm-size`` option to docker run. .. epigraph:: If you are using tasks that use the Fargate launch type, the ``sharedMemorySize`` parameter is not supported.
@@ -15077,7 +15125,7 @@ class CfnTaskDefinition(
15077
15125
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnTaskDefinition.DeviceProperty"]]]]:
15078
15126
  '''Any host devices to expose to the container.
15079
15127
 
15080
- This parameter maps to ``Devices`` in tthe docker conainer create command and the ``--device`` option to docker run.
15128
+ This parameter maps to ``Devices`` in tthe docker container create command and the ``--device`` option to docker run.
15081
15129
  .. epigraph::
15082
15130
 
15083
15131
  If you're using tasks that use the Fargate launch type, the ``devices`` parameter isn't supported.
@@ -15822,6 +15870,105 @@ class CfnTaskDefinition(
15822
15870
  k + "=" + repr(v) for k, v in self._values.items()
15823
15871
  )
15824
15872
 
15873
+ @jsii.data_type(
15874
+ jsii_type="aws-cdk-lib.aws_ecs.CfnTaskDefinition.RestartPolicyProperty",
15875
+ jsii_struct_bases=[],
15876
+ name_mapping={
15877
+ "enabled": "enabled",
15878
+ "ignored_exit_codes": "ignoredExitCodes",
15879
+ "restart_attempt_period": "restartAttemptPeriod",
15880
+ },
15881
+ )
15882
+ class RestartPolicyProperty:
15883
+ def __init__(
15884
+ self,
15885
+ *,
15886
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
15887
+ ignored_exit_codes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[jsii.Number]]] = None,
15888
+ restart_attempt_period: typing.Optional[jsii.Number] = None,
15889
+ ) -> None:
15890
+ '''You can enable a restart policy for each container defined in your task definition, to overcome transient failures faster and maintain task availability.
15891
+
15892
+ When you enable a restart policy for a container, Amazon ECS can restart the container if it exits, without needing to replace the task. For more information, see `Restart individual containers in Amazon ECS tasks with container restart policies <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container-restart-policy.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
15893
+
15894
+ :param enabled: Specifies whether a restart policy is enabled for the container.
15895
+ :param ignored_exit_codes: A list of exit codes that Amazon ECS will ignore and not attempt a restart on. You can specify a maximum of 50 container exit codes. By default, Amazon ECS does not ignore any exit codes.
15896
+ :param restart_attempt_period: A period of time (in seconds) that the container must run for before a restart can be attempted. A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted.
15897
+
15898
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-restartpolicy.html
15899
+ :exampleMetadata: fixture=_generated
15900
+
15901
+ Example::
15902
+
15903
+ # The code below shows an example of how to instantiate this type.
15904
+ # The values are placeholders you should change.
15905
+ from aws_cdk import aws_ecs as ecs
15906
+
15907
+ restart_policy_property = ecs.CfnTaskDefinition.RestartPolicyProperty(
15908
+ enabled=False,
15909
+ ignored_exit_codes=[123],
15910
+ restart_attempt_period=123
15911
+ )
15912
+ '''
15913
+ if __debug__:
15914
+ type_hints = typing.get_type_hints(_typecheckingstub__8ff4a086a815b10fb977e9150a7c099378c03c3a8fe78638f9abfeeaa1b6dad0)
15915
+ check_type(argname="argument enabled", value=enabled, expected_type=type_hints["enabled"])
15916
+ check_type(argname="argument ignored_exit_codes", value=ignored_exit_codes, expected_type=type_hints["ignored_exit_codes"])
15917
+ check_type(argname="argument restart_attempt_period", value=restart_attempt_period, expected_type=type_hints["restart_attempt_period"])
15918
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
15919
+ if enabled is not None:
15920
+ self._values["enabled"] = enabled
15921
+ if ignored_exit_codes is not None:
15922
+ self._values["ignored_exit_codes"] = ignored_exit_codes
15923
+ if restart_attempt_period is not None:
15924
+ self._values["restart_attempt_period"] = restart_attempt_period
15925
+
15926
+ @builtins.property
15927
+ def enabled(
15928
+ self,
15929
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
15930
+ '''Specifies whether a restart policy is enabled for the container.
15931
+
15932
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-restartpolicy.html#cfn-ecs-taskdefinition-restartpolicy-enabled
15933
+ '''
15934
+ result = self._values.get("enabled")
15935
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
15936
+
15937
+ @builtins.property
15938
+ def ignored_exit_codes(
15939
+ self,
15940
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[jsii.Number]]]:
15941
+ '''A list of exit codes that Amazon ECS will ignore and not attempt a restart on.
15942
+
15943
+ You can specify a maximum of 50 container exit codes. By default, Amazon ECS does not ignore any exit codes.
15944
+
15945
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-restartpolicy.html#cfn-ecs-taskdefinition-restartpolicy-ignoredexitcodes
15946
+ '''
15947
+ result = self._values.get("ignored_exit_codes")
15948
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[jsii.Number]]], result)
15949
+
15950
+ @builtins.property
15951
+ def restart_attempt_period(self) -> typing.Optional[jsii.Number]:
15952
+ '''A period of time (in seconds) that the container must run for before a restart can be attempted.
15953
+
15954
+ A container can be restarted only once every ``restartAttemptPeriod`` seconds. If a container isn't able to run for this time period and exits early, it will not be restarted. You can set a minimum ``restartAttemptPeriod`` of 60 seconds and a maximum ``restartAttemptPeriod`` of 1800 seconds. By default, a container must run for 300 seconds before it can be restarted.
15955
+
15956
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-restartpolicy.html#cfn-ecs-taskdefinition-restartpolicy-restartattemptperiod
15957
+ '''
15958
+ result = self._values.get("restart_attempt_period")
15959
+ return typing.cast(typing.Optional[jsii.Number], result)
15960
+
15961
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
15962
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
15963
+
15964
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
15965
+ return not (rhs == self)
15966
+
15967
+ def __repr__(self) -> str:
15968
+ return "RestartPolicyProperty(%s)" % ", ".join(
15969
+ k + "=" + repr(v) for k, v in self._values.items()
15970
+ )
15971
+
15825
15972
  @jsii.data_type(
15826
15973
  jsii_type="aws-cdk-lib.aws_ecs.CfnTaskDefinition.RuntimePlatformProperty",
15827
15974
  jsii_struct_bases=[],
@@ -15993,7 +16140,7 @@ class CfnTaskDefinition(
15993
16140
  ) -> None:
15994
16141
  '''A list of namespaced kernel parameters to set in the container.
15995
16142
 
15996
- This parameter maps to ``Sysctls`` in tthe docker conainer 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.
16143
+ This parameter maps to ``Sysctls`` in tthe 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.
15997
16144
 
15998
16145
  We don't recommend that you specify network-related ``systemControls`` parameters for multiple containers in a single task that also uses either the ``awsvpc`` or ``host`` network mode. Doing this has the following disadvantages:
15999
16146
 
@@ -16270,9 +16417,9 @@ class CfnTaskDefinition(
16270
16417
 
16271
16418
  You can specify the ``ulimit`` settings for a container in a task definition.
16272
16419
 
16273
- :param hard_limit: The hard limit for the ``ulimit`` type.
16420
+ :param hard_limit: The hard limit for the ``ulimit`` type. The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit`` .
16274
16421
  :param name: The ``type`` of the ``ulimit`` .
16275
- :param soft_limit: The soft limit for the ``ulimit`` type.
16422
+ :param soft_limit: The soft limit for the ``ulimit`` type. The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit`` .
16276
16423
 
16277
16424
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-ulimit.html
16278
16425
  :exampleMetadata: fixture=_generated
@@ -16304,6 +16451,8 @@ class CfnTaskDefinition(
16304
16451
  def hard_limit(self) -> jsii.Number:
16305
16452
  '''The hard limit for the ``ulimit`` type.
16306
16453
 
16454
+ The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit`` .
16455
+
16307
16456
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-ulimit.html#cfn-ecs-taskdefinition-ulimit-hardlimit
16308
16457
  '''
16309
16458
  result = self._values.get("hard_limit")
@@ -16324,6 +16473,8 @@ class CfnTaskDefinition(
16324
16473
  def soft_limit(self) -> jsii.Number:
16325
16474
  '''The soft limit for the ``ulimit`` type.
16326
16475
 
16476
+ The value can be specified in bytes, seconds, or as a count, depending on the ``type`` of the ``ulimit`` .
16477
+
16327
16478
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-ulimit.html#cfn-ecs-taskdefinition-ulimit-softlimit
16328
16479
  '''
16329
16480
  result = self._values.get("soft_limit")
@@ -16799,6 +16950,11 @@ class CfnTaskDefinitionProps:
16799
16950
  type="type",
16800
16951
  value="value"
16801
16952
  )],
16953
+ restart_policy=ecs.CfnTaskDefinition.RestartPolicyProperty(
16954
+ enabled=False,
16955
+ ignored_exit_codes=[123],
16956
+ restart_attempt_period=123
16957
+ ),
16802
16958
  secrets=[ecs.CfnTaskDefinition.SecretProperty(
16803
16959
  name="name",
16804
16960
  value_from="valueFrom"
@@ -17612,9 +17768,9 @@ class CfnTaskSet(
17612
17768
 
17613
17769
  For example ``awsVpcConfiguration={subnets=["subnet-12344321"],securityGroups=["sg-12344321"]}`` .
17614
17770
 
17615
- :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration`` . .. epigraph:: All specified subnets must be from the same VPC.
17771
+ :param subnets: The IDs of the subnets associated with the task or service. There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified subnets must be from the same VPC.
17616
17772
  :param assign_public_ip: Whether the task's elastic network interface receives a public IP address. The default value is ``DISABLED`` .
17617
- :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration`` . .. epigraph:: All specified security groups must be from the same VPC.
17773
+ :param security_groups: The IDs of the security groups associated with the task or service. If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` . .. epigraph:: All specified security groups must be from the same VPC.
17618
17774
 
17619
17775
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskset-awsvpcconfiguration.html
17620
17776
  :exampleMetadata: fixture=_generated
@@ -17650,7 +17806,7 @@ class CfnTaskSet(
17650
17806
  def subnets(self) -> typing.List[builtins.str]:
17651
17807
  '''The IDs of the subnets associated with the task or service.
17652
17808
 
17653
- There's a limit of 16 subnets that can be specified per ``AwsVpcConfiguration`` .
17809
+ There's a limit of 16 subnets that can be specified per ``awsvpcConfiguration`` .
17654
17810
  .. epigraph::
17655
17811
 
17656
17812
  All specified subnets must be from the same VPC.
@@ -17676,7 +17832,7 @@ class CfnTaskSet(
17676
17832
  def security_groups(self) -> typing.Optional[typing.List[builtins.str]]:
17677
17833
  '''The IDs of the security groups associated with the task or service.
17678
17834
 
17679
- If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``AwsVpcConfiguration`` .
17835
+ If you don't specify a security group, the default security group for the VPC is used. There's a limit of 5 security groups that can be specified per ``awsvpcConfiguration`` .
17680
17836
  .. epigraph::
17681
17837
 
17682
17838
  All specified security groups must be from the same VPC.
@@ -42164,6 +42320,7 @@ def _typecheckingstub__d367f5be98d90056ca7f199c577c5744b20417ce5d1c8ad339824ec9d
42164
42320
  readonly_root_filesystem: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
42165
42321
  repository_credentials: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.RepositoryCredentialsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
42166
42322
  resource_requirements: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.ResourceRequirementProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
42323
+ restart_policy: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.RestartPolicyProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
42167
42324
  secrets: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnTaskDefinition.SecretProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
42168
42325
  start_timeout: typing.Optional[jsii.Number] = None,
42169
42326
  stop_timeout: typing.Optional[jsii.Number] = None,
@@ -42372,6 +42529,15 @@ def _typecheckingstub__9f0e59715edb889cdb53a1111c692d2fcadb558bf86158ff87dec568d
42372
42529
  """Type checking stubs"""
42373
42530
  pass
42374
42531
 
42532
+ def _typecheckingstub__8ff4a086a815b10fb977e9150a7c099378c03c3a8fe78638f9abfeeaa1b6dad0(
42533
+ *,
42534
+ enabled: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
42535
+ ignored_exit_codes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[jsii.Number]]] = None,
42536
+ restart_attempt_period: typing.Optional[jsii.Number] = None,
42537
+ ) -> None:
42538
+ """Type checking stubs"""
42539
+ pass
42540
+
42375
42541
  def _typecheckingstub__13b8fed83205e8f8c805885892fec108a4cc1b8e74b0e647c14e5b5235ba8e7c(
42376
42542
  *,
42377
42543
  cpu_architecture: typing.Optional[builtins.str] = None,