aws-cdk-lib 2.133.0__py3-none-any.whl → 2.134.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 (56) hide show
  1. aws_cdk/__init__.py +9 -1
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.133.0.jsii.tgz → aws-cdk-lib@2.134.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_apigatewayv2/__init__.py +105 -3
  5. aws_cdk/aws_apigatewayv2_integrations/__init__.py +155 -3
  6. aws_cdk/aws_appconfig/__init__.py +186 -8
  7. aws_cdk/aws_appintegrations/__init__.py +551 -0
  8. aws_cdk/aws_appsync/__init__.py +71 -0
  9. aws_cdk/aws_autoscaling/__init__.py +6 -4
  10. aws_cdk/aws_backup/__init__.py +23 -12
  11. aws_cdk/aws_batch/__init__.py +423 -73
  12. aws_cdk/aws_bedrock/__init__.py +197 -2
  13. aws_cdk/aws_cloudformation/__init__.py +1 -1
  14. aws_cdk/aws_cloudfront/__init__.py +2 -2
  15. aws_cdk/aws_cloudtrail/__init__.py +44 -14
  16. aws_cdk/aws_cloudwatch/__init__.py +18 -0
  17. aws_cdk/aws_codeartifact/__init__.py +812 -2
  18. aws_cdk/aws_codebuild/__init__.py +21 -5
  19. aws_cdk/aws_codepipeline/__init__.py +24 -8
  20. aws_cdk/aws_cognito/__init__.py +41 -40
  21. aws_cdk/aws_connect/__init__.py +256 -0
  22. aws_cdk/aws_datasync/__init__.py +393 -13
  23. aws_cdk/aws_dlm/__init__.py +2 -2
  24. aws_cdk/aws_docdbelastic/__init__.py +117 -0
  25. aws_cdk/aws_dynamodb/__init__.py +416 -5
  26. aws_cdk/aws_ec2/__init__.py +493 -93
  27. aws_cdk/aws_ecs/__init__.py +6 -4
  28. aws_cdk/aws_eks/__init__.py +27 -25
  29. aws_cdk/aws_elasticloadbalancingv2/__init__.py +359 -60
  30. aws_cdk/aws_entityresolution/__init__.py +91 -64
  31. aws_cdk/aws_glue/__init__.py +137 -3
  32. aws_cdk/aws_iam/__init__.py +9 -10
  33. aws_cdk/aws_internetmonitor/__init__.py +85 -0
  34. aws_cdk/aws_iotsitewise/__init__.py +110 -50
  35. aws_cdk/aws_kafkaconnect/__init__.py +1237 -162
  36. aws_cdk/aws_kendra/__init__.py +34 -24
  37. aws_cdk/aws_kinesisanalytics/__init__.py +37 -37
  38. aws_cdk/aws_kinesisanalyticsv2/__init__.py +37 -37
  39. aws_cdk/aws_kinesisfirehose/__init__.py +6 -2
  40. aws_cdk/aws_msk/__init__.py +88 -0
  41. aws_cdk/aws_opensearchservice/__init__.py +19 -17
  42. aws_cdk/aws_pinpoint/__init__.py +42 -0
  43. aws_cdk/aws_rds/__init__.py +48 -14
  44. aws_cdk/aws_sagemaker/__init__.py +2 -2
  45. aws_cdk/aws_ssm/__init__.py +3 -3
  46. aws_cdk/aws_stepfunctions_tasks/__init__.py +23 -0
  47. aws_cdk/aws_synthetics/__init__.py +74 -14
  48. aws_cdk/aws_transfer/__init__.py +4 -3
  49. aws_cdk/aws_wafv2/__init__.py +96 -46
  50. aws_cdk/cx_api/__init__.py +17 -0
  51. {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/METADATA +2 -2
  52. {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/RECORD +56 -56
  53. {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/LICENSE +0 -0
  54. {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/NOTICE +0 -0
  55. {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/WHEEL +0 -0
  56. {aws_cdk_lib-2.133.0.dist-info → aws_cdk_lib-2.134.0.dist-info}/top_level.txt +0 -0
@@ -2402,7 +2402,7 @@ class CfnJobDefinition(
2402
2402
  :param id: Construct identifier for this resource (unique in its scope).
2403
2403
  :param type: The type of job definition. For more information about multi-node parallel jobs, see `Creating a multi-node parallel job definition <https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html>`_ in the *AWS Batch User Guide* . - If the value is ``container`` , then one of the following is required: ``containerProperties`` , ``ecsProperties`` , or ``eksProperties`` . - If the value is ``multinode`` , then ``nodeProperties`` is required. .. epigraph:: If the job is run on Fargate resources, then ``multinode`` isn't supported.
2404
2404
  :param container_properties: An object with properties specific to Amazon ECS-based jobs. When ``containerProperties`` is used in the job definition, it can't be used in addition to ``eksProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
2405
- :param ecs_properties:
2405
+ :param ecs_properties: An object that contains the properties for the Amazon ECS resources of a job.When ``ecsProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``eksProperties`` , or ``nodeProperties`` .
2406
2406
  :param eks_properties: An object with properties that are specific to Amazon EKS-based jobs. When ``eksProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
2407
2407
  :param job_definition_name: The name of the job definition.
2408
2408
  :param node_properties: An object with properties that are specific to multi-node parallel jobs. When ``nodeProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``eksProperties`` . .. epigraph:: If the job runs on Fargate resources, don't specify ``nodeProperties`` . Use ``containerProperties`` instead.
@@ -2521,6 +2521,7 @@ class CfnJobDefinition(
2521
2521
  def ecs_properties(
2522
2522
  self,
2523
2523
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsPropertiesProperty"]]:
2524
+ '''An object that contains the properties for the Amazon ECS resources of a job.When ``ecsProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``eksProperties`` , or ``nodeProperties`` .'''
2524
2525
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsPropertiesProperty"]], jsii.get(self, "ecsProperties"))
2525
2526
 
2526
2527
  @ecs_properties.setter
@@ -3459,8 +3460,9 @@ class CfnJobDefinition(
3459
3460
  *,
3460
3461
  task_properties: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EcsTaskPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]]],
3461
3462
  ) -> None:
3462
- '''
3463
- :param task_properties:
3463
+ '''An object that contains the properties for the Amazon ECS resources of a job.
3464
+
3465
+ :param task_properties: An object that contains the properties for the Amazon ECS task definition of a job. .. epigraph:: This object is currently limited to one element.
3464
3466
 
3465
3467
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecsproperties.html
3466
3468
  :exampleMetadata: fixture=_generated
@@ -3590,7 +3592,12 @@ class CfnJobDefinition(
3590
3592
  def task_properties(
3591
3593
  self,
3592
3594
  ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsTaskPropertiesProperty"]]]:
3593
- '''
3595
+ '''An object that contains the properties for the Amazon ECS task definition of a job.
3596
+
3597
+ .. epigraph::
3598
+
3599
+ This object is currently limited to one element.
3600
+
3594
3601
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecsproperties.html#cfn-batch-jobdefinition-ecsproperties-taskproperties
3595
3602
  '''
3596
3603
  result = self._values.get("task_properties")
@@ -3639,17 +3646,20 @@ class CfnJobDefinition(
3639
3646
  task_role_arn: typing.Optional[builtins.str] = None,
3640
3647
  volumes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.VolumesProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
3641
3648
  ) -> None:
3642
- '''
3643
- :param containers:
3644
- :param ephemeral_storage:
3645
- :param execution_role_arn:
3646
- :param ipc_mode:
3647
- :param network_configuration:
3648
- :param pid_mode:
3649
- :param platform_version:
3650
- :param runtime_platform:
3651
- :param task_role_arn:
3652
- :param volumes:
3649
+ '''The properties for a task definition that describes the container and volume definitions of an Amazon ECS task.
3650
+
3651
+ You can specify which Docker images to use, the required resources, and other configurations related to launching the task definition through an Amazon ECS service or task.
3652
+
3653
+ :param containers: This object is a list of containers.
3654
+ :param ephemeral_storage: The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
3655
+ :param execution_role_arn: The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see `AWS Batch execution IAM role <https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html>`_ in the *AWS Batch User Guide* .
3656
+ :param ipc_mode: The IPC resource namespace to use for the containers in the task. The valid values are ``host`` , ``task`` , or ``none`` . If ``host`` is specified, all containers within the tasks that specified the ``host`` IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified ``task`` share the same IPC resources. If ``none`` is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance. If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see `IPC settings <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#ipc-settings---ipc>`_ in the Docker run reference.
3657
+ :param network_configuration: The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
3658
+ :param pid_mode: The process namespace to use for the containers in the task. The valid values are ``host`` or ``task`` . For example, monitoring sidecars might need ``pidMode`` to access information about other containers running in the same task. If ``host`` is specified, all containers within the tasks that specified the ``host`` PID mode on the same container instance share the process namespace with the host Amazon EC2 instance. If ``task`` is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace for each container. For more information, see `PID settings <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#pid-settings---pid>`_ in the Docker run reference.
3659
+ :param platform_version: The Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the ``LATEST`` platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see `AWS Fargate platform versions <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
3660
+ :param runtime_platform: An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
3661
+ :param task_role_arn: The Amazon Resource Name (ARN) that's associated with the Amazon ECS task. .. epigraph:: This is object is comparable to `ContainerProperties:jobRoleArn <https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html>`_ .
3662
+ :param volumes: A list of volumes that are associated with the job.
3653
3663
 
3654
3664
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html
3655
3665
  :exampleMetadata: fixture=_generated
@@ -3804,7 +3814,8 @@ class CfnJobDefinition(
3804
3814
  def containers(
3805
3815
  self,
3806
3816
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.TaskContainerPropertiesProperty"]]]]:
3807
- '''
3817
+ '''This object is a list of containers.
3818
+
3808
3819
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-containers
3809
3820
  '''
3810
3821
  result = self._values.get("containers")
@@ -3814,7 +3825,10 @@ class CfnJobDefinition(
3814
3825
  def ephemeral_storage(
3815
3826
  self,
3816
3827
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EphemeralStorageProperty"]]:
3817
- '''
3828
+ '''The amount of ephemeral storage to allocate for the task.
3829
+
3830
+ This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
3831
+
3818
3832
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-ephemeralstorage
3819
3833
  '''
3820
3834
  result = self._values.get("ephemeral_storage")
@@ -3822,7 +3836,10 @@ class CfnJobDefinition(
3822
3836
 
3823
3837
  @builtins.property
3824
3838
  def execution_role_arn(self) -> typing.Optional[builtins.str]:
3825
- '''
3839
+ '''The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume.
3840
+
3841
+ For jobs that run on Fargate resources, you must provide an execution role. For more information, see `AWS Batch execution IAM role <https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html>`_ in the *AWS Batch User Guide* .
3842
+
3826
3843
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-executionrolearn
3827
3844
  '''
3828
3845
  result = self._values.get("execution_role_arn")
@@ -3830,7 +3847,18 @@ class CfnJobDefinition(
3830
3847
 
3831
3848
  @builtins.property
3832
3849
  def ipc_mode(self) -> typing.Optional[builtins.str]:
3833
- '''
3850
+ '''The IPC resource namespace to use for the containers in the task.
3851
+
3852
+ The valid values are ``host`` , ``task`` , or ``none`` .
3853
+
3854
+ If ``host`` is specified, all containers within the tasks that specified the ``host`` IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.
3855
+
3856
+ If ``task`` is specified, all containers within the specified ``task`` share the same IPC resources.
3857
+
3858
+ If ``none`` is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.
3859
+
3860
+ If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see `IPC settings <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#ipc-settings---ipc>`_ in the Docker run reference.
3861
+
3834
3862
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-ipcmode
3835
3863
  '''
3836
3864
  result = self._values.get("ipc_mode")
@@ -3840,7 +3868,10 @@ class CfnJobDefinition(
3840
3868
  def network_configuration(
3841
3869
  self,
3842
3870
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.NetworkConfigurationProperty"]]:
3843
- '''
3871
+ '''The network configuration for jobs that are running on Fargate resources.
3872
+
3873
+ Jobs that are running on Amazon EC2 resources must not specify this parameter.
3874
+
3844
3875
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-networkconfiguration
3845
3876
  '''
3846
3877
  result = self._values.get("network_configuration")
@@ -3848,7 +3879,16 @@ class CfnJobDefinition(
3848
3879
 
3849
3880
  @builtins.property
3850
3881
  def pid_mode(self) -> typing.Optional[builtins.str]:
3851
- '''
3882
+ '''The process namespace to use for the containers in the task.
3883
+
3884
+ The valid values are ``host`` or ``task`` . For example, monitoring sidecars might need ``pidMode`` to access information about other containers running in the same task.
3885
+
3886
+ If ``host`` is specified, all containers within the tasks that specified the ``host`` PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.
3887
+
3888
+ If ``task`` is specified, all containers within the specified task share the same process namespace.
3889
+
3890
+ If no value is specified, the default is a private namespace for each container. For more information, see `PID settings <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#pid-settings---pid>`_ in the Docker run reference.
3891
+
3852
3892
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-pidmode
3853
3893
  '''
3854
3894
  result = self._values.get("pid_mode")
@@ -3856,7 +3896,10 @@ class CfnJobDefinition(
3856
3896
 
3857
3897
  @builtins.property
3858
3898
  def platform_version(self) -> typing.Optional[builtins.str]:
3859
- '''
3899
+ '''The Fargate platform version where the jobs are running.
3900
+
3901
+ A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the ``LATEST`` platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see `AWS Fargate platform versions <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
3902
+
3860
3903
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-platformversion
3861
3904
  '''
3862
3905
  result = self._values.get("platform_version")
@@ -3866,7 +3909,8 @@ class CfnJobDefinition(
3866
3909
  def runtime_platform(
3867
3910
  self,
3868
3911
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.RuntimePlatformProperty"]]:
3869
- '''
3912
+ '''An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
3913
+
3870
3914
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-runtimeplatform
3871
3915
  '''
3872
3916
  result = self._values.get("runtime_platform")
@@ -3874,7 +3918,12 @@ class CfnJobDefinition(
3874
3918
 
3875
3919
  @builtins.property
3876
3920
  def task_role_arn(self) -> typing.Optional[builtins.str]:
3877
- '''
3921
+ '''The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.
3922
+
3923
+ .. epigraph::
3924
+
3925
+ This is object is comparable to `ContainerProperties:jobRoleArn <https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html>`_ .
3926
+
3878
3927
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-taskrolearn
3879
3928
  '''
3880
3929
  result = self._values.get("task_role_arn")
@@ -3884,7 +3933,8 @@ class CfnJobDefinition(
3884
3933
  def volumes(
3885
3934
  self,
3886
3935
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.VolumesProperty"]]]]:
3887
- '''
3936
+ '''A list of volumes that are associated with the job.
3937
+
3888
3938
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-ecstaskproperties.html#cfn-batch-jobdefinition-ecstaskproperties-volumes
3889
3939
  '''
3890
3940
  result = self._values.get("volumes")
@@ -6093,8 +6143,8 @@ class CfnJobDefinition(
6093
6143
 
6094
6144
  :param target_nodes: The range of nodes, using node index values. A range of ``0:3`` indicates nodes with index values of ``0`` through ``3`` . If the starting range value is omitted ( ``:n`` ), then ``0`` is used to start the range. If the ending range value is omitted ( ``n:`` ), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes ( ``0:n`` ). You can nest node ranges (for example, ``0:10`` and ``4:5`` ). In this case, the ``4:5`` range properties override the ``0:10`` properties.
6095
6145
  :param container: The container details for the node range.
6096
- :param ecs_properties:
6097
- :param instance_types:
6146
+ :param ecs_properties: This is an object that represents the properties of the node range for a multi-node parallel job.
6147
+ :param instance_types: The instance types of the underlying host infrastructure of a multi-node parallel job. .. epigraph:: This parameter isn't applicable to jobs that are running on Fargate resources. In addition, this list object is currently limited to one element.
6098
6148
 
6099
6149
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html
6100
6150
  :exampleMetadata: fixture=_generated
@@ -6360,7 +6410,8 @@ class CfnJobDefinition(
6360
6410
  def ecs_properties(
6361
6411
  self,
6362
6412
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsPropertiesProperty"]]:
6363
- '''
6413
+ '''This is an object that represents the properties of the node range for a multi-node parallel job.
6414
+
6364
6415
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-ecsproperties
6365
6416
  '''
6366
6417
  result = self._values.get("ecs_properties")
@@ -6368,7 +6419,14 @@ class CfnJobDefinition(
6368
6419
 
6369
6420
  @builtins.property
6370
6421
  def instance_types(self) -> typing.Optional[typing.List[builtins.str]]:
6371
- '''
6422
+ '''The instance types of the underlying host infrastructure of a multi-node parallel job.
6423
+
6424
+ .. epigraph::
6425
+
6426
+ This parameter isn't applicable to jobs that are running on Fargate resources.
6427
+
6428
+ In addition, this list object is currently limited to one element.
6429
+
6372
6430
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-instancetypes
6373
6431
  '''
6374
6432
  result = self._values.get("instance_types")
@@ -6417,10 +6475,10 @@ class CfnJobDefinition(
6417
6475
  :param containers: The properties of the container that's used on the Amazon EKS pod.
6418
6476
  :param dns_policy: The DNS policy for the pod. The default value is ``ClusterFirst`` . If the ``hostNetwork`` parameter is not specified, the default is ``ClusterFirstWithHostNet`` . ``ClusterFirst`` indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see `Pod's DNS policy <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy>`_ in the *Kubernetes documentation* . Valid values: ``Default`` | ``ClusterFirst`` | ``ClusterFirstWithHostNet``
6419
6477
  :param host_network: Indicates if the pod uses the hosts' network IP address. The default value is ``true`` . Setting this to ``false`` enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. For more information, see `Host namespaces <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/security/pod-security-policy/#host-namespaces>`_ and `Pod networking <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/workloads/pods/#pod-networking>`_ in the *Kubernetes documentation* .
6420
- :param init_containers:
6478
+ :param init_containers: These containers run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. For more information, see `Init Containers <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/workloads/pods/init-containers/>`_ in the *Kubernetes documentation* . .. epigraph:: This object is limited to 10 elements
6421
6479
  :param metadata: Metadata about the Kubernetes pod. For more information, see `Understanding Kubernetes Objects <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/>`_ in the *Kubernetes documentation* .
6422
6480
  :param service_account_name: The name of the service account that's used to run the pod. For more information, see `Kubernetes service accounts <https://docs.aws.amazon.com/eks/latest/userguide/service-accounts.html>`_ and `Configure a Kubernetes service account to assume an IAM role <https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html>`_ in the *Amazon EKS User Guide* and `Configure service accounts for pods <https://docs.aws.amazon.com/https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/>`_ in the *Kubernetes documentation* .
6423
- :param share_process_namespace:
6481
+ :param share_process_namespace: Indicates if the processes in a container are shared, or visible, to other containers in the same pod. For more information, see `Share Process Namespace between Containers in a Pod <https://docs.aws.amazon.com/https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/>`_ .
6424
6482
  :param volumes: Specifies the volumes for a job definition that uses Amazon EKS resources.
6425
6483
 
6426
6484
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html
@@ -6595,7 +6653,13 @@ class CfnJobDefinition(
6595
6653
  def init_containers(
6596
6654
  self,
6597
6655
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EksContainerProperty"]]]]:
6598
- '''
6656
+ '''These containers run before application containers, always runs to completion, and must complete successfully before the next container starts.
6657
+
6658
+ These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. For more information, see `Init Containers <https://docs.aws.amazon.com/https://kubernetes.io/docs/concepts/workloads/pods/init-containers/>`_ in the *Kubernetes documentation* .
6659
+ .. epigraph::
6660
+
6661
+ This object is limited to 10 elements
6662
+
6599
6663
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-initcontainers
6600
6664
  '''
6601
6665
  result = self._values.get("init_containers")
@@ -6629,7 +6693,10 @@ class CfnJobDefinition(
6629
6693
  def share_process_namespace(
6630
6694
  self,
6631
6695
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6632
- '''
6696
+ '''Indicates if the processes in a container are shared, or visible, to other containers in the same pod.
6697
+
6698
+ For more information, see `Share Process Namespace between Containers in a Pod <https://docs.aws.amazon.com/https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/>`_ .
6699
+
6633
6700
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-shareprocessnamespace
6634
6701
  '''
6635
6702
  result = self._values.get("share_process_namespace")
@@ -7273,9 +7340,10 @@ class CfnJobDefinition(
7273
7340
  condition: builtins.str,
7274
7341
  container_name: builtins.str,
7275
7342
  ) -> None:
7276
- '''
7277
- :param condition:
7278
- :param container_name:
7343
+ '''A list of containers that this task depends on.
7344
+
7345
+ :param condition: The dependency condition of the container. The following are the available conditions and their behavior:. - ``START`` - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start. - ``COMPLETE`` - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container. - ``SUCCESS`` - This condition is the same as ``COMPLETE`` , but it also requires that the container exits with a zero status. This condition can't be set on an essential container.
7346
+ :param container_name: A unique identifier for the container.
7279
7347
 
7280
7348
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerdependency.html
7281
7349
  :exampleMetadata: fixture=_generated
@@ -7302,7 +7370,12 @@ class CfnJobDefinition(
7302
7370
 
7303
7371
  @builtins.property
7304
7372
  def condition(self) -> builtins.str:
7305
- '''
7373
+ '''The dependency condition of the container. The following are the available conditions and their behavior:.
7374
+
7375
+ - ``START`` - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.
7376
+ - ``COMPLETE`` - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.
7377
+ - ``SUCCESS`` - This condition is the same as ``COMPLETE`` , but it also requires that the container exits with a zero status. This condition can't be set on an essential container.
7378
+
7306
7379
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerdependency.html#cfn-batch-jobdefinition-taskcontainerdependency-condition
7307
7380
  '''
7308
7381
  result = self._values.get("condition")
@@ -7311,7 +7384,8 @@ class CfnJobDefinition(
7311
7384
 
7312
7385
  @builtins.property
7313
7386
  def container_name(self) -> builtins.str:
7314
- '''
7387
+ '''A unique identifier for the container.
7388
+
7315
7389
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerdependency.html#cfn-batch-jobdefinition-taskcontainerdependency-containername
7316
7390
  '''
7317
7391
  result = self._values.get("container_name")
@@ -7372,23 +7446,26 @@ class CfnJobDefinition(
7372
7446
  ulimits: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.UlimitProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
7373
7447
  user: typing.Optional[builtins.str] = None,
7374
7448
  ) -> None:
7375
- '''
7376
- :param image:
7377
- :param command:
7378
- :param depends_on:
7379
- :param environment:
7380
- :param essential:
7381
- :param linux_parameters:
7382
- :param log_configuration:
7383
- :param mount_points:
7384
- :param name:
7385
- :param privileged:
7386
- :param readonly_root_filesystem:
7387
- :param repository_credentials:
7388
- :param resource_requirements:
7389
- :param secrets:
7390
- :param ulimits:
7391
- :param user:
7449
+ '''Container properties are used for Amazon ECS-based job definitions.
7450
+
7451
+ These properties to describe the container that's launched as part of a job.
7452
+
7453
+ :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 `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 ``IMAGE`` parameter of the `*docker run* <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
7454
+ :param command: The command that's passed to the container. This parameter maps to ``Cmd`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/#create-a-container>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/>`_ and the ``COMMAND`` parameter to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/>`_ . For more information, see `Dockerfile reference: CMD <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd>`_ .
7455
+ :param depends_on: A list of containers that this container depends on.
7456
+ :param environment: The environment variables to pass to a container. This parameter maps to Env inthe `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/#create-a-container>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/>`_ and the ``--env`` parameter to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/>`_ . .. epigraph:: We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with ``AWS_BATCH`` . This naming convention is reserved for variables that AWS Batch sets.
7457
+ :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 jobs 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* .
7458
+ :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>`_ .
7459
+ :param log_configuration: The log configuration specification for the container. This parameter maps to ``LogConfig`` 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 ``--log-driver`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . By default, containers use the same logging driver that the Docker daemon uses. However the container can 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 about 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`` 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* .
7460
+ :param mount_points: The mount points for data volumes in your container. This parameter maps to ``Volumes`` 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 `--volume <https://docs.aws.amazon.com/>`_ option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . 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.
7461
+ :param name: The name of a container. The name can be used as a unique identifier to target your ``dependsOn`` and ``Overrides`` objects.
7462
+ :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 `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 ``--privileged`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . .. epigraph:: This parameter is not supported for Windows containers or tasks run on Fargate.
7463
+ :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 `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 ``--read-only`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ . .. epigraph:: This parameter is not supported for Windows containers.
7464
+ :param repository_credentials: The private repository authentication credentials to use.
7465
+ :param resource_requirements: The type and amount of a resource to assign to a container. The only supported resource is a GPU.
7466
+ :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.
7467
+ :param ulimits: A list of ``ulimits`` to set in the container. If a ``ulimit`` value is specified in a task definition, it overrides the default values set by Docker. 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/#security-configuration>`_ . Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the exception of the nofile resource limit parameter which Fargate overrides. The ``nofile`` resource limit sets a restriction on the number of open files that a container can use. The default ``nofile`` soft limit is ``1024`` and the default hard limit is ``65535`` . 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.
7468
+ :param user: The user to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API 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:gi`` - ``uid:group`` .. epigraph:: This parameter is not supported for Windows containers.
7392
7469
 
7393
7470
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html
7394
7471
  :exampleMetadata: fixture=_generated
@@ -7524,7 +7601,10 @@ class CfnJobDefinition(
7524
7601
 
7525
7602
  @builtins.property
7526
7603
  def image(self) -> builtins.str:
7527
- '''
7604
+ '''The image used to start a container.
7605
+
7606
+ 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 `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 ``IMAGE`` parameter of the `*docker run* <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
7607
+
7528
7608
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-image
7529
7609
  '''
7530
7610
  result = self._values.get("image")
@@ -7533,7 +7613,10 @@ class CfnJobDefinition(
7533
7613
 
7534
7614
  @builtins.property
7535
7615
  def command(self) -> typing.Optional[typing.List[builtins.str]]:
7536
- '''
7616
+ '''The command that's passed to the container.
7617
+
7618
+ This parameter maps to ``Cmd`` in the `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/#create-a-container>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/>`_ and the ``COMMAND`` parameter to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/>`_ . For more information, see `Dockerfile reference: CMD <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/builder/#cmd>`_ .
7619
+
7537
7620
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-command
7538
7621
  '''
7539
7622
  result = self._values.get("command")
@@ -7543,7 +7626,8 @@ class CfnJobDefinition(
7543
7626
  def depends_on(
7544
7627
  self,
7545
7628
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.TaskContainerDependencyProperty"]]]]:
7546
- '''
7629
+ '''A list of containers that this container depends on.
7630
+
7547
7631
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-dependson
7548
7632
  '''
7549
7633
  result = self._values.get("depends_on")
@@ -7553,7 +7637,13 @@ class CfnJobDefinition(
7553
7637
  def environment(
7554
7638
  self,
7555
7639
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EnvironmentProperty"]]]]:
7556
- '''
7640
+ '''The environment variables to pass to a container.
7641
+
7642
+ This parameter maps to Env inthe `Create a container <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/#create-a-container>`_ section of the `Docker Remote API <https://docs.aws.amazon.com/https://docs.docker.com/engine/api/v1.23/>`_ and the ``--env`` parameter to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/>`_ .
7643
+ .. epigraph::
7644
+
7645
+ We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with ``AWS_BATCH`` . This naming convention is reserved for variables that AWS Batch sets.
7646
+
7557
7647
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-environment
7558
7648
  '''
7559
7649
  result = self._values.get("environment")
@@ -7563,7 +7653,12 @@ class CfnJobDefinition(
7563
7653
  def essential(
7564
7654
  self,
7565
7655
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7566
- '''
7656
+ '''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.
7657
+
7658
+ 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.
7659
+
7660
+ All jobs 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* .
7661
+
7567
7662
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-essential
7568
7663
  '''
7569
7664
  result = self._values.get("essential")
@@ -7573,7 +7668,10 @@ class CfnJobDefinition(
7573
7668
  def linux_parameters(
7574
7669
  self,
7575
7670
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.LinuxParametersProperty"]]:
7576
- '''
7671
+ '''Linux-specific modifications that are applied to the container, such as Linux kernel capabilities.
7672
+
7673
+ For more information, see `KernelCapabilities <https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html>`_ .
7674
+
7577
7675
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-linuxparameters
7578
7676
  '''
7579
7677
  result = self._values.get("linux_parameters")
@@ -7583,7 +7681,20 @@ class CfnJobDefinition(
7583
7681
  def log_configuration(
7584
7682
  self,
7585
7683
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.LogConfigurationProperty"]]:
7586
- '''
7684
+ '''The log configuration specification for the container.
7685
+
7686
+ This parameter maps to ``LogConfig`` 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 ``--log-driver`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
7687
+
7688
+ By default, containers use the same logging driver that the Docker daemon uses. However the container can 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 about 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* .
7689
+ .. epigraph::
7690
+
7691
+ Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the ``LogConfiguration`` data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.
7692
+
7693
+ 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}}'``
7694
+ .. epigraph::
7695
+
7696
+ 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* .
7697
+
7587
7698
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-logconfiguration
7588
7699
  '''
7589
7700
  result = self._values.get("log_configuration")
@@ -7593,7 +7704,12 @@ class CfnJobDefinition(
7593
7704
  def mount_points(
7594
7705
  self,
7595
7706
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MountPointsProperty"]]]]:
7596
- '''
7707
+ '''The mount points for data volumes in your container.
7708
+
7709
+ This parameter maps to ``Volumes`` 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 `--volume <https://docs.aws.amazon.com/>`_ option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
7710
+
7711
+ 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.
7712
+
7597
7713
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-mountpoints
7598
7714
  '''
7599
7715
  result = self._values.get("mount_points")
@@ -7601,7 +7717,10 @@ class CfnJobDefinition(
7601
7717
 
7602
7718
  @builtins.property
7603
7719
  def name(self) -> typing.Optional[builtins.str]:
7604
- '''
7720
+ '''The name of a container.
7721
+
7722
+ The name can be used as a unique identifier to target your ``dependsOn`` and ``Overrides`` objects.
7723
+
7605
7724
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-name
7606
7725
  '''
7607
7726
  result = self._values.get("name")
@@ -7611,7 +7730,13 @@ class CfnJobDefinition(
7611
7730
  def privileged(
7612
7731
  self,
7613
7732
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7614
- '''
7733
+ '''When this parameter is ``true`` , the container is given elevated privileges on the host container instance (similar to the ``root`` user).
7734
+
7735
+ This parameter maps to ``Privileged`` 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 ``--privileged`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
7736
+ .. epigraph::
7737
+
7738
+ This parameter is not supported for Windows containers or tasks run on Fargate.
7739
+
7615
7740
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-privileged
7616
7741
  '''
7617
7742
  result = self._values.get("privileged")
@@ -7621,7 +7746,13 @@ class CfnJobDefinition(
7621
7746
  def readonly_root_filesystem(
7622
7747
  self,
7623
7748
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7624
- '''
7749
+ '''When this parameter is true, the container is given read-only access to its root file system.
7750
+
7751
+ This parameter maps to ``ReadonlyRootfs`` 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 ``--read-only`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/run/#security-configuration>`_ .
7752
+ .. epigraph::
7753
+
7754
+ This parameter is not supported for Windows containers.
7755
+
7625
7756
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-readonlyrootfilesystem
7626
7757
  '''
7627
7758
  result = self._values.get("readonly_root_filesystem")
@@ -7631,7 +7762,8 @@ class CfnJobDefinition(
7631
7762
  def repository_credentials(
7632
7763
  self,
7633
7764
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.RepositoryCredentialsProperty"]]:
7634
- '''
7765
+ '''The private repository authentication credentials to use.
7766
+
7635
7767
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-repositorycredentials
7636
7768
  '''
7637
7769
  result = self._values.get("repository_credentials")
@@ -7641,7 +7773,10 @@ class CfnJobDefinition(
7641
7773
  def resource_requirements(
7642
7774
  self,
7643
7775
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.ResourceRequirementProperty"]]]]:
7644
- '''
7776
+ '''The type and amount of a resource to assign to a container.
7777
+
7778
+ The only supported resource is a GPU.
7779
+
7645
7780
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-resourcerequirements
7646
7781
  '''
7647
7782
  result = self._values.get("resource_requirements")
@@ -7651,7 +7786,10 @@ class CfnJobDefinition(
7651
7786
  def secrets(
7652
7787
  self,
7653
7788
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.SecretProperty"]]]]:
7654
- '''
7789
+ '''The secrets to pass to the container.
7790
+
7791
+ 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.
7792
+
7655
7793
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-secrets
7656
7794
  '''
7657
7795
  result = self._values.get("secrets")
@@ -7661,7 +7799,17 @@ class CfnJobDefinition(
7661
7799
  def ulimits(
7662
7800
  self,
7663
7801
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.UlimitProperty"]]]]:
7664
- '''
7802
+ '''A list of ``ulimits`` to set in the container.
7803
+
7804
+ If a ``ulimit`` value is specified in a task definition, it overrides the default values set by Docker. 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/#security-configuration>`_ .
7805
+
7806
+ Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the exception of the nofile resource limit parameter which Fargate overrides. The ``nofile`` resource limit sets a restriction on the number of open files that a container can use. The default ``nofile`` soft limit is ``1024`` and the default hard limit is ``65535`` .
7807
+
7808
+ 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}}'``
7809
+ .. epigraph::
7810
+
7811
+ This parameter is not supported for Windows containers.
7812
+
7665
7813
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-ulimits
7666
7814
  '''
7667
7815
  result = self._values.get("ulimits")
@@ -7669,7 +7817,26 @@ class CfnJobDefinition(
7669
7817
 
7670
7818
  @builtins.property
7671
7819
  def user(self) -> typing.Optional[builtins.str]:
7672
- '''
7820
+ '''The user to use inside the container.
7821
+
7822
+ This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.
7823
+ .. epigraph::
7824
+
7825
+ 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.
7826
+
7827
+ You can specify the ``user`` using the following formats. If specifying a UID or GID, you must specify it as a positive integer.
7828
+
7829
+ - ``user``
7830
+ - ``user:group``
7831
+ - ``uid``
7832
+ - ``uid:gid``
7833
+ - ``user:gi``
7834
+ - ``uid:group``
7835
+
7836
+ .. epigraph::
7837
+
7838
+ This parameter is not supported for Windows containers.
7839
+
7673
7840
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-user
7674
7841
  '''
7675
7842
  result = self._values.get("user")
@@ -8160,7 +8327,7 @@ class CfnJobDefinitionProps:
8160
8327
 
8161
8328
  :param type: The type of job definition. For more information about multi-node parallel jobs, see `Creating a multi-node parallel job definition <https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html>`_ in the *AWS Batch User Guide* . - If the value is ``container`` , then one of the following is required: ``containerProperties`` , ``ecsProperties`` , or ``eksProperties`` . - If the value is ``multinode`` , then ``nodeProperties`` is required. .. epigraph:: If the job is run on Fargate resources, then ``multinode`` isn't supported.
8162
8329
  :param container_properties: An object with properties specific to Amazon ECS-based jobs. When ``containerProperties`` is used in the job definition, it can't be used in addition to ``eksProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
8163
- :param ecs_properties:
8330
+ :param ecs_properties: An object that contains the properties for the Amazon ECS resources of a job.When ``ecsProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``eksProperties`` , or ``nodeProperties`` .
8164
8331
  :param eks_properties: An object with properties that are specific to Amazon EKS-based jobs. When ``eksProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``nodeProperties`` .
8165
8332
  :param job_definition_name: The name of the job definition.
8166
8333
  :param node_properties: An object with properties that are specific to multi-node parallel jobs. When ``nodeProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``ecsProperties`` , or ``eksProperties`` . .. epigraph:: If the job runs on Fargate resources, don't specify ``nodeProperties`` . Use ``containerProperties`` instead.
@@ -8258,7 +8425,8 @@ class CfnJobDefinitionProps:
8258
8425
  def ecs_properties(
8259
8426
  self,
8260
8427
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnJobDefinition.EcsPropertiesProperty]]:
8261
- '''
8428
+ '''An object that contains the properties for the Amazon ECS resources of a job.When ``ecsProperties`` is used in the job definition, it can't be used in addition to ``containerProperties`` , ``eksProperties`` , or ``nodeProperties`` .
8429
+
8262
8430
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobdefinition.html#cfn-batch-jobdefinition-ecsproperties
8263
8431
  '''
8264
8432
  result = self._values.get("ecs_properties")
@@ -8422,6 +8590,12 @@ class CfnJobQueue(
8422
8590
 
8423
8591
  # the properties below are optional
8424
8592
  job_queue_name="jobQueueName",
8593
+ job_state_time_limit_actions=[batch.CfnJobQueue.JobStateTimeLimitActionProperty(
8594
+ action="action",
8595
+ max_time_seconds=123,
8596
+ reason="reason",
8597
+ state="state"
8598
+ )],
8425
8599
  scheduling_policy_arn="schedulingPolicyArn",
8426
8600
  state="state",
8427
8601
  tags={
@@ -8438,6 +8612,7 @@ class CfnJobQueue(
8438
8612
  compute_environment_order: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobQueue.ComputeEnvironmentOrderProperty", typing.Dict[builtins.str, typing.Any]]]]],
8439
8613
  priority: jsii.Number,
8440
8614
  job_queue_name: typing.Optional[builtins.str] = None,
8615
+ job_state_time_limit_actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobQueue.JobStateTimeLimitActionProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
8441
8616
  scheduling_policy_arn: typing.Optional[builtins.str] = None,
8442
8617
  state: typing.Optional[builtins.str] = None,
8443
8618
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -8448,6 +8623,7 @@ class CfnJobQueue(
8448
8623
  :param compute_environment_order: The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment runs a specific job. Compute environments must be in the ``VALID`` state before you can associate them with a job queue. You can associate up to three compute environments with a job queue. All of the compute environments must be either EC2 ( ``EC2`` or ``SPOT`` ) or Fargate ( ``FARGATE`` or ``FARGATE_SPOT`` ); EC2 and Fargate compute environments can't be mixed. .. epigraph:: All compute environments that are associated with a job queue must share the same architecture. AWS Batch doesn't support mixing compute environment architecture types in a single job queue.
8449
8624
  :param priority: The priority of the job queue. Job queues with a higher priority (or a higher integer value for the ``priority`` parameter) are evaluated first when associated with the same compute environment. Priority is determined in descending order. For example, a job queue with a priority value of ``10`` is given scheduling preference over a job queue with a priority value of ``1`` . All of the compute environments must be either EC2 ( ``EC2`` or ``SPOT`` ) or Fargate ( ``FARGATE`` or ``FARGATE_SPOT`` ); EC2 and Fargate compute environments can't be mixed.
8450
8625
  :param job_queue_name: The name of the job queue. It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).
8626
+ :param job_state_time_limit_actions: The set of actions that AWS Batch perform on jobs that remain at the head of the job queue in the specified state longer than specified times. AWS Batch will perform each action after ``maxTimeSeconds`` has passed.
8451
8627
  :param scheduling_policy_arn: The Amazon Resource Name (ARN) of the scheduling policy. The format is ``aws: *Partition* :batch: *Region* : *Account* :scheduling-policy/ *Name*`` . For example, ``aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy`` .
8452
8628
  :param state: The state of the job queue. If the job queue state is ``ENABLED`` , it is able to accept jobs. If the job queue state is ``DISABLED`` , new jobs can't be added to the queue, but jobs already in the queue can finish.
8453
8629
  :param tags: The tags that are applied to the job queue. For more information, see `Tagging your AWS Batch resources <https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html>`_ in *AWS Batch User Guide* .
@@ -8460,6 +8636,7 @@ class CfnJobQueue(
8460
8636
  compute_environment_order=compute_environment_order,
8461
8637
  priority=priority,
8462
8638
  job_queue_name=job_queue_name,
8639
+ job_state_time_limit_actions=job_state_time_limit_actions,
8463
8640
  scheduling_policy_arn=scheduling_policy_arn,
8464
8641
  state=state,
8465
8642
  tags=tags,
@@ -8561,6 +8738,24 @@ class CfnJobQueue(
8561
8738
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8562
8739
  jsii.set(self, "jobQueueName", value)
8563
8740
 
8741
+ @builtins.property
8742
+ @jsii.member(jsii_name="jobStateTimeLimitActions")
8743
+ def job_state_time_limit_actions(
8744
+ self,
8745
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobQueue.JobStateTimeLimitActionProperty"]]]]:
8746
+ '''The set of actions that AWS Batch perform on jobs that remain at the head of the job queue in the specified state longer than specified times.'''
8747
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobQueue.JobStateTimeLimitActionProperty"]]]], jsii.get(self, "jobStateTimeLimitActions"))
8748
+
8749
+ @job_state_time_limit_actions.setter
8750
+ def job_state_time_limit_actions(
8751
+ self,
8752
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobQueue.JobStateTimeLimitActionProperty"]]]],
8753
+ ) -> None:
8754
+ if __debug__:
8755
+ type_hints = typing.get_type_hints(_typecheckingstub__6e248d0029fc3043fabb974edf0f06b8f9f721a8f13ce794fd6c39b5ae3bb91e)
8756
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
8757
+ jsii.set(self, "jobStateTimeLimitActions", value)
8758
+
8564
8759
  @builtins.property
8565
8760
  @jsii.member(jsii_name="schedulingPolicyArn")
8566
8761
  def scheduling_policy_arn(self) -> typing.Optional[builtins.str]:
@@ -8681,6 +8876,118 @@ class CfnJobQueue(
8681
8876
  k + "=" + repr(v) for k, v in self._values.items()
8682
8877
  )
8683
8878
 
8879
+ @jsii.data_type(
8880
+ jsii_type="aws-cdk-lib.aws_batch.CfnJobQueue.JobStateTimeLimitActionProperty",
8881
+ jsii_struct_bases=[],
8882
+ name_mapping={
8883
+ "action": "action",
8884
+ "max_time_seconds": "maxTimeSeconds",
8885
+ "reason": "reason",
8886
+ "state": "state",
8887
+ },
8888
+ )
8889
+ class JobStateTimeLimitActionProperty:
8890
+ def __init__(
8891
+ self,
8892
+ *,
8893
+ action: builtins.str,
8894
+ max_time_seconds: jsii.Number,
8895
+ reason: builtins.str,
8896
+ state: builtins.str,
8897
+ ) -> None:
8898
+ '''Specifies an action that AWS Batch will take after the job has remained at the head of the queue in the specified state for longer than the specified time.
8899
+
8900
+ :param action: The action to take when a job is at the head of the job queue in the specified state for the specified period of time. The only supported value is ``CANCEL`` , which will cancel the job.
8901
+ :param max_time_seconds: The approximate amount of time, in seconds, that must pass with the job in the specified state before the action is taken. The minimum value is 600 (10 minutes) and the maximum value is 86,400 (24 hours).
8902
+ :param reason: The reason to log for the action being taken.
8903
+ :param state: The state of the job needed to trigger the action. The only supported value is ``RUNNABLE`` .
8904
+
8905
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html
8906
+ :exampleMetadata: fixture=_generated
8907
+
8908
+ Example::
8909
+
8910
+ # The code below shows an example of how to instantiate this type.
8911
+ # The values are placeholders you should change.
8912
+ from aws_cdk import aws_batch as batch
8913
+
8914
+ job_state_time_limit_action_property = batch.CfnJobQueue.JobStateTimeLimitActionProperty(
8915
+ action="action",
8916
+ max_time_seconds=123,
8917
+ reason="reason",
8918
+ state="state"
8919
+ )
8920
+ '''
8921
+ if __debug__:
8922
+ type_hints = typing.get_type_hints(_typecheckingstub__78ff35092216cfb2ffd2106f7da574c86c17494e3404a6f2ccdc020cc2de0437)
8923
+ check_type(argname="argument action", value=action, expected_type=type_hints["action"])
8924
+ check_type(argname="argument max_time_seconds", value=max_time_seconds, expected_type=type_hints["max_time_seconds"])
8925
+ check_type(argname="argument reason", value=reason, expected_type=type_hints["reason"])
8926
+ check_type(argname="argument state", value=state, expected_type=type_hints["state"])
8927
+ self._values: typing.Dict[builtins.str, typing.Any] = {
8928
+ "action": action,
8929
+ "max_time_seconds": max_time_seconds,
8930
+ "reason": reason,
8931
+ "state": state,
8932
+ }
8933
+
8934
+ @builtins.property
8935
+ def action(self) -> builtins.str:
8936
+ '''The action to take when a job is at the head of the job queue in the specified state for the specified period of time.
8937
+
8938
+ The only supported value is ``CANCEL`` , which will cancel the job.
8939
+
8940
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-action
8941
+ '''
8942
+ result = self._values.get("action")
8943
+ assert result is not None, "Required property 'action' is missing"
8944
+ return typing.cast(builtins.str, result)
8945
+
8946
+ @builtins.property
8947
+ def max_time_seconds(self) -> jsii.Number:
8948
+ '''The approximate amount of time, in seconds, that must pass with the job in the specified state before the action is taken.
8949
+
8950
+ The minimum value is 600 (10 minutes) and the maximum value is 86,400 (24 hours).
8951
+
8952
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-maxtimeseconds
8953
+ '''
8954
+ result = self._values.get("max_time_seconds")
8955
+ assert result is not None, "Required property 'max_time_seconds' is missing"
8956
+ return typing.cast(jsii.Number, result)
8957
+
8958
+ @builtins.property
8959
+ def reason(self) -> builtins.str:
8960
+ '''The reason to log for the action being taken.
8961
+
8962
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-reason
8963
+ '''
8964
+ result = self._values.get("reason")
8965
+ assert result is not None, "Required property 'reason' is missing"
8966
+ return typing.cast(builtins.str, result)
8967
+
8968
+ @builtins.property
8969
+ def state(self) -> builtins.str:
8970
+ '''The state of the job needed to trigger the action.
8971
+
8972
+ The only supported value is ``RUNNABLE`` .
8973
+
8974
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobqueue-jobstatetimelimitaction.html#cfn-batch-jobqueue-jobstatetimelimitaction-state
8975
+ '''
8976
+ result = self._values.get("state")
8977
+ assert result is not None, "Required property 'state' is missing"
8978
+ return typing.cast(builtins.str, result)
8979
+
8980
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
8981
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
8982
+
8983
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
8984
+ return not (rhs == self)
8985
+
8986
+ def __repr__(self) -> str:
8987
+ return "JobStateTimeLimitActionProperty(%s)" % ", ".join(
8988
+ k + "=" + repr(v) for k, v in self._values.items()
8989
+ )
8990
+
8684
8991
 
8685
8992
  @jsii.data_type(
8686
8993
  jsii_type="aws-cdk-lib.aws_batch.CfnJobQueueProps",
@@ -8689,6 +8996,7 @@ class CfnJobQueue(
8689
8996
  "compute_environment_order": "computeEnvironmentOrder",
8690
8997
  "priority": "priority",
8691
8998
  "job_queue_name": "jobQueueName",
8999
+ "job_state_time_limit_actions": "jobStateTimeLimitActions",
8692
9000
  "scheduling_policy_arn": "schedulingPolicyArn",
8693
9001
  "state": "state",
8694
9002
  "tags": "tags",
@@ -8701,6 +9009,7 @@ class CfnJobQueueProps:
8701
9009
  compute_environment_order: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.ComputeEnvironmentOrderProperty, typing.Dict[builtins.str, typing.Any]]]]],
8702
9010
  priority: jsii.Number,
8703
9011
  job_queue_name: typing.Optional[builtins.str] = None,
9012
+ job_state_time_limit_actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.JobStateTimeLimitActionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
8704
9013
  scheduling_policy_arn: typing.Optional[builtins.str] = None,
8705
9014
  state: typing.Optional[builtins.str] = None,
8706
9015
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -8710,6 +9019,7 @@ class CfnJobQueueProps:
8710
9019
  :param compute_environment_order: The set of compute environments mapped to a job queue and their order relative to each other. The job scheduler uses this parameter to determine which compute environment runs a specific job. Compute environments must be in the ``VALID`` state before you can associate them with a job queue. You can associate up to three compute environments with a job queue. All of the compute environments must be either EC2 ( ``EC2`` or ``SPOT`` ) or Fargate ( ``FARGATE`` or ``FARGATE_SPOT`` ); EC2 and Fargate compute environments can't be mixed. .. epigraph:: All compute environments that are associated with a job queue must share the same architecture. AWS Batch doesn't support mixing compute environment architecture types in a single job queue.
8711
9020
  :param priority: The priority of the job queue. Job queues with a higher priority (or a higher integer value for the ``priority`` parameter) are evaluated first when associated with the same compute environment. Priority is determined in descending order. For example, a job queue with a priority value of ``10`` is given scheduling preference over a job queue with a priority value of ``1`` . All of the compute environments must be either EC2 ( ``EC2`` or ``SPOT`` ) or Fargate ( ``FARGATE`` or ``FARGATE_SPOT`` ); EC2 and Fargate compute environments can't be mixed.
8712
9021
  :param job_queue_name: The name of the job queue. It can be up to 128 letters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_).
9022
+ :param job_state_time_limit_actions: The set of actions that AWS Batch perform on jobs that remain at the head of the job queue in the specified state longer than specified times. AWS Batch will perform each action after ``maxTimeSeconds`` has passed.
8713
9023
  :param scheduling_policy_arn: The Amazon Resource Name (ARN) of the scheduling policy. The format is ``aws: *Partition* :batch: *Region* : *Account* :scheduling-policy/ *Name*`` . For example, ``aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy`` .
8714
9024
  :param state: The state of the job queue. If the job queue state is ``ENABLED`` , it is able to accept jobs. If the job queue state is ``DISABLED`` , new jobs can't be added to the queue, but jobs already in the queue can finish.
8715
9025
  :param tags: The tags that are applied to the job queue. For more information, see `Tagging your AWS Batch resources <https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html>`_ in *AWS Batch User Guide* .
@@ -8732,6 +9042,12 @@ class CfnJobQueueProps:
8732
9042
 
8733
9043
  # the properties below are optional
8734
9044
  job_queue_name="jobQueueName",
9045
+ job_state_time_limit_actions=[batch.CfnJobQueue.JobStateTimeLimitActionProperty(
9046
+ action="action",
9047
+ max_time_seconds=123,
9048
+ reason="reason",
9049
+ state="state"
9050
+ )],
8735
9051
  scheduling_policy_arn="schedulingPolicyArn",
8736
9052
  state="state",
8737
9053
  tags={
@@ -8744,6 +9060,7 @@ class CfnJobQueueProps:
8744
9060
  check_type(argname="argument compute_environment_order", value=compute_environment_order, expected_type=type_hints["compute_environment_order"])
8745
9061
  check_type(argname="argument priority", value=priority, expected_type=type_hints["priority"])
8746
9062
  check_type(argname="argument job_queue_name", value=job_queue_name, expected_type=type_hints["job_queue_name"])
9063
+ check_type(argname="argument job_state_time_limit_actions", value=job_state_time_limit_actions, expected_type=type_hints["job_state_time_limit_actions"])
8747
9064
  check_type(argname="argument scheduling_policy_arn", value=scheduling_policy_arn, expected_type=type_hints["scheduling_policy_arn"])
8748
9065
  check_type(argname="argument state", value=state, expected_type=type_hints["state"])
8749
9066
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
@@ -8753,6 +9070,8 @@ class CfnJobQueueProps:
8753
9070
  }
8754
9071
  if job_queue_name is not None:
8755
9072
  self._values["job_queue_name"] = job_queue_name
9073
+ if job_state_time_limit_actions is not None:
9074
+ self._values["job_state_time_limit_actions"] = job_state_time_limit_actions
8756
9075
  if scheduling_policy_arn is not None:
8757
9076
  self._values["scheduling_policy_arn"] = scheduling_policy_arn
8758
9077
  if state is not None:
@@ -8800,6 +9119,19 @@ class CfnJobQueueProps:
8800
9119
  result = self._values.get("job_queue_name")
8801
9120
  return typing.cast(typing.Optional[builtins.str], result)
8802
9121
 
9122
+ @builtins.property
9123
+ def job_state_time_limit_actions(
9124
+ self,
9125
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnJobQueue.JobStateTimeLimitActionProperty]]]]:
9126
+ '''The set of actions that AWS Batch perform on jobs that remain at the head of the job queue in the specified state longer than specified times.
9127
+
9128
+ AWS Batch will perform each action after ``maxTimeSeconds`` has passed.
9129
+
9130
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-batch-jobqueue.html#cfn-batch-jobqueue-jobstatetimelimitactions
9131
+ '''
9132
+ result = self._values.get("job_state_time_limit_actions")
9133
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnJobQueue.JobStateTimeLimitActionProperty]]]], result)
9134
+
8803
9135
  @builtins.property
8804
9136
  def scheduling_policy_arn(self) -> typing.Optional[builtins.str]:
8805
9137
  '''The Amazon Resource Name (ARN) of the scheduling policy.
@@ -23015,6 +23347,7 @@ def _typecheckingstub__6480ab252bc515b2cdb6dc0c833877438fd473fd39eadf6b8a064969a
23015
23347
  compute_environment_order: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.ComputeEnvironmentOrderProperty, typing.Dict[builtins.str, typing.Any]]]]],
23016
23348
  priority: jsii.Number,
23017
23349
  job_queue_name: typing.Optional[builtins.str] = None,
23350
+ job_state_time_limit_actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.JobStateTimeLimitActionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
23018
23351
  scheduling_policy_arn: typing.Optional[builtins.str] = None,
23019
23352
  state: typing.Optional[builtins.str] = None,
23020
23353
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
@@ -23052,6 +23385,12 @@ def _typecheckingstub__3b88e27e62b46f1049263a61bb14f62674a8121083de64c2db32d5856
23052
23385
  """Type checking stubs"""
23053
23386
  pass
23054
23387
 
23388
+ def _typecheckingstub__6e248d0029fc3043fabb974edf0f06b8f9f721a8f13ce794fd6c39b5ae3bb91e(
23389
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnJobQueue.JobStateTimeLimitActionProperty]]]],
23390
+ ) -> None:
23391
+ """Type checking stubs"""
23392
+ pass
23393
+
23055
23394
  def _typecheckingstub__48a6952b4a8d4426554895a52085bf8c88701735f3f94a3426e81e56ab8a5761(
23056
23395
  value: typing.Optional[builtins.str],
23057
23396
  ) -> None:
@@ -23078,11 +23417,22 @@ def _typecheckingstub__939623842116ecc366f7e36591fb2bdd35bd47aacc55c0a794ff81ec2
23078
23417
  """Type checking stubs"""
23079
23418
  pass
23080
23419
 
23420
+ def _typecheckingstub__78ff35092216cfb2ffd2106f7da574c86c17494e3404a6f2ccdc020cc2de0437(
23421
+ *,
23422
+ action: builtins.str,
23423
+ max_time_seconds: jsii.Number,
23424
+ reason: builtins.str,
23425
+ state: builtins.str,
23426
+ ) -> None:
23427
+ """Type checking stubs"""
23428
+ pass
23429
+
23081
23430
  def _typecheckingstub__009d6d384b1b723169e64875095e05fe852ae3931adf5ba2004d22475a76caa9(
23082
23431
  *,
23083
23432
  compute_environment_order: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.ComputeEnvironmentOrderProperty, typing.Dict[builtins.str, typing.Any]]]]],
23084
23433
  priority: jsii.Number,
23085
23434
  job_queue_name: typing.Optional[builtins.str] = None,
23435
+ job_state_time_limit_actions: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobQueue.JobStateTimeLimitActionProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
23086
23436
  scheduling_policy_arn: typing.Optional[builtins.str] = None,
23087
23437
  state: typing.Optional[builtins.str] = None,
23088
23438
  tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,