aws-cdk-lib 2.173.4__py3-none-any.whl → 2.174.1__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 (91) hide show
  1. aws_cdk/__init__.py +210 -181
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.173.4.jsii.tgz → aws-cdk-lib@2.174.1.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +18 -0
  5. aws_cdk/aws_apigateway/__init__.py +127 -168
  6. aws_cdk/aws_appconfig/__init__.py +498 -1
  7. aws_cdk/aws_applicationautoscaling/__init__.py +4 -1
  8. aws_cdk/aws_appsync/__init__.py +4 -0
  9. aws_cdk/aws_autoscaling/__init__.py +96 -0
  10. aws_cdk/aws_batch/__init__.py +662 -237
  11. aws_cdk/aws_bedrock/__init__.py +2122 -181
  12. aws_cdk/aws_cassandra/__init__.py +476 -4
  13. aws_cdk/aws_cleanrooms/__init__.py +1227 -20
  14. aws_cdk/aws_cloudformation/__init__.py +172 -169
  15. aws_cdk/aws_cloudfront/__init__.py +773 -26
  16. aws_cdk/aws_cloudtrail/__init__.py +8 -2
  17. aws_cdk/aws_codebuild/__init__.py +83 -0
  18. aws_cdk/aws_codepipeline/__init__.py +2 -1
  19. aws_cdk/aws_cognito/__init__.py +232 -200
  20. aws_cdk/aws_connect/__init__.py +187 -36
  21. aws_cdk/aws_connectcampaignsv2/__init__.py +106 -12
  22. aws_cdk/aws_databrew/__init__.py +69 -1
  23. aws_cdk/aws_datasync/__init__.py +33 -28
  24. aws_cdk/aws_datazone/__init__.py +141 -41
  25. aws_cdk/aws_dlm/__init__.py +20 -10
  26. aws_cdk/aws_dms/__init__.py +736 -22
  27. aws_cdk/aws_docdb/__init__.py +134 -0
  28. aws_cdk/aws_dynamodb/__init__.py +76 -4
  29. aws_cdk/aws_ec2/__init__.py +1233 -65
  30. aws_cdk/aws_ecr/__init__.py +31 -0
  31. aws_cdk/aws_ecr_assets/__init__.py +5 -0
  32. aws_cdk/aws_ecs/__init__.py +88 -11
  33. aws_cdk/aws_efs/__init__.py +15 -8
  34. aws_cdk/aws_eks/__init__.py +114 -45
  35. aws_cdk/aws_elasticloadbalancingv2/__init__.py +2 -2
  36. aws_cdk/aws_emrserverless/__init__.py +143 -0
  37. aws_cdk/aws_events/__init__.py +50 -30
  38. aws_cdk/aws_fis/__init__.py +33 -33
  39. aws_cdk/aws_fsx/__init__.py +20 -10
  40. aws_cdk/aws_glue/__init__.py +34 -11
  41. aws_cdk/aws_greengrass/__init__.py +8 -8
  42. aws_cdk/aws_guardduty/__init__.py +1 -1
  43. aws_cdk/aws_imagebuilder/__init__.py +45 -47
  44. aws_cdk/aws_internetmonitor/__init__.py +3 -3
  45. aws_cdk/aws_invoicing/__init__.py +55 -30
  46. aws_cdk/aws_iot/__init__.py +1117 -4
  47. aws_cdk/aws_iot1click/__init__.py +17 -7
  48. aws_cdk/aws_kendra/__init__.py +4 -6
  49. aws_cdk/aws_lambda/__init__.py +15 -1
  50. aws_cdk/aws_logs/__init__.py +4011 -86
  51. aws_cdk/aws_m2/__init__.py +41 -0
  52. aws_cdk/aws_mediaconnect/__init__.py +202 -7
  53. aws_cdk/aws_mediaconvert/__init__.py +39 -0
  54. aws_cdk/aws_memorydb/__init__.py +22 -22
  55. aws_cdk/aws_networkmanager/__init__.py +758 -0
  56. aws_cdk/aws_opensearchservice/__init__.py +222 -0
  57. aws_cdk/aws_organizations/__init__.py +5 -3
  58. aws_cdk/aws_pcs/__init__.py +3038 -0
  59. aws_cdk/aws_pipes/__init__.py +10 -10
  60. aws_cdk/aws_qbusiness/__init__.py +415 -140
  61. aws_cdk/aws_quicksight/__init__.py +59795 -49748
  62. aws_cdk/aws_ram/__init__.py +5 -11
  63. aws_cdk/aws_rbin/__init__.py +28 -16
  64. aws_cdk/aws_rds/__init__.py +186 -31
  65. aws_cdk/aws_redshiftserverless/__init__.py +156 -0
  66. aws_cdk/aws_resiliencehub/__init__.py +2 -1
  67. aws_cdk/aws_route53_targets/__init__.py +5 -5
  68. aws_cdk/aws_s3/__init__.py +25 -15
  69. aws_cdk/aws_s3express/__init__.py +7 -7
  70. aws_cdk/aws_s3tables/__init__.py +683 -0
  71. aws_cdk/aws_sagemaker/__init__.py +580 -195
  72. aws_cdk/aws_secretsmanager/__init__.py +2 -0
  73. aws_cdk/aws_securityhub/__init__.py +41 -165
  74. aws_cdk/aws_servicediscovery/__init__.py +10 -3
  75. aws_cdk/aws_ses/__init__.py +190 -5
  76. aws_cdk/aws_sns/__init__.py +7 -3
  77. aws_cdk/aws_synthetics/__init__.py +29 -4
  78. aws_cdk/aws_transfer/__init__.py +8 -0
  79. aws_cdk/aws_vpclattice/__init__.py +147 -77
  80. aws_cdk/aws_wafv2/__init__.py +20 -8
  81. aws_cdk/aws_wisdom/__init__.py +162 -111
  82. aws_cdk/aws_workspaces/__init__.py +10 -4
  83. aws_cdk/cloud_assembly_schema/__init__.py +22 -0
  84. aws_cdk/custom_resources/__init__.py +31 -0
  85. aws_cdk/cx_api/__init__.py +19 -0
  86. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/LICENSE +1 -1
  87. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/METADATA +2 -2
  88. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/NOTICE +1 -1
  89. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/RECORD +91 -89
  90. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/WHEEL +0 -0
  91. {aws_cdk_lib-2.173.4.dist-info → aws_cdk_lib-2.174.1.dist-info}/top_level.txt +0 -0
@@ -2738,14 +2738,6 @@ class CfnJobDefinition(
2738
2738
  '''The CloudFormation resource type name for this resource class.'''
2739
2739
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
2740
2740
 
2741
- @builtins.property
2742
- @jsii.member(jsii_name="attrId")
2743
- def attr_id(self) -> builtins.str:
2744
- '''
2745
- :cloudformationAttribute: Id
2746
- '''
2747
- return typing.cast(builtins.str, jsii.get(self, "attrId"))
2748
-
2749
2741
  @builtins.property
2750
2742
  @jsii.member(jsii_name="cfnProperties")
2751
2743
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -2976,10 +2968,9 @@ class CfnJobDefinition(
2976
2968
  access_point_id: typing.Optional[builtins.str] = None,
2977
2969
  iam: typing.Optional[builtins.str] = None,
2978
2970
  ) -> None:
2979
- '''The authorization configuration details for the Amazon EFS file system.
2980
-
2981
- :param access_point_id: The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the ``EFSVolumeConfiguration`` must either be omitted or set to ``/`` which enforces the path set on the EFS access point. If an access point is used, transit encryption must be enabled in the ``EFSVolumeConfiguration`` . For more information, see `Working with Amazon EFS access points <https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html>`_ in the *Amazon Elastic File System User Guide* .
2982
- :param iam: Whether or not to use the AWS Batch job IAM role defined in a job definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the ``EFSVolumeConfiguration`` . If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Using Amazon EFS access points <https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html#efs-volume-accesspoints>`_ in the *AWS Batch User Guide* . EFS IAM authorization requires that ``TransitEncryption`` be ``ENABLED`` and that a ``JobRoleArn`` is specified.
2971
+ '''
2972
+ :param access_point_id:
2973
+ :param iam:
2983
2974
 
2984
2975
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-authorizationconfig.html
2985
2976
  :exampleMetadata: fixture=_generated
@@ -3007,10 +2998,7 @@ class CfnJobDefinition(
3007
2998
 
3008
2999
  @builtins.property
3009
3000
  def access_point_id(self) -> typing.Optional[builtins.str]:
3010
- '''The Amazon EFS access point ID to use.
3011
-
3012
- If an access point is specified, the root directory value specified in the ``EFSVolumeConfiguration`` must either be omitted or set to ``/`` which enforces the path set on the EFS access point. If an access point is used, transit encryption must be enabled in the ``EFSVolumeConfiguration`` . For more information, see `Working with Amazon EFS access points <https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html>`_ in the *Amazon Elastic File System User Guide* .
3013
-
3001
+ '''
3014
3002
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-authorizationconfig.html#cfn-batch-jobdefinition-authorizationconfig-accesspointid
3015
3003
  '''
3016
3004
  result = self._values.get("access_point_id")
@@ -3018,10 +3006,7 @@ class CfnJobDefinition(
3018
3006
 
3019
3007
  @builtins.property
3020
3008
  def iam(self) -> typing.Optional[builtins.str]:
3021
- '''Whether or not to use the AWS Batch job IAM role defined in a job definition when mounting the Amazon EFS file system.
3022
-
3023
- If enabled, transit encryption must be enabled in the ``EFSVolumeConfiguration`` . If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Using Amazon EFS access points <https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html#efs-volume-accesspoints>`_ in the *AWS Batch User Guide* . EFS IAM authorization requires that ``TransitEncryption`` be ``ENABLED`` and that a ``JobRoleArn`` is specified.
3024
-
3009
+ '''
3025
3010
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-authorizationconfig.html#cfn-batch-jobdefinition-authorizationconfig-iam
3026
3011
  '''
3027
3012
  result = self._values.get("iam")
@@ -3105,7 +3090,7 @@ class CfnJobDefinition(
3105
3090
  :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 .
3106
3091
  :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* .
3107
3092
  :param fargate_platform_configuration: The platform configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
3108
- :param instance_type: The instance type to use for a multi-node parallel job. All node groups in a multi-node parallel job must use the same instance type. .. epigraph:: This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.
3093
+ :param instance_type:
3109
3094
  :param job_role_arn: The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions. For more information, see `IAM roles for tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
3110
3095
  :param linux_parameters: Linux-specific modifications that are applied to the container, such as details for device mappings.
3111
3096
  :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.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 ``--log-driver`` option to `docker run <https://docs.aws.amazon.com/https://docs.docker.com/engine/reference/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 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:: AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the `LogConfiguration <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-logconfiguration.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 | grep "Server API version"`` .. 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* .
@@ -3393,13 +3378,7 @@ class CfnJobDefinition(
3393
3378
 
3394
3379
  @builtins.property
3395
3380
  def instance_type(self) -> typing.Optional[builtins.str]:
3396
- '''The instance type to use for a multi-node parallel job.
3397
-
3398
- All node groups in a multi-node parallel job must use the same instance type.
3399
- .. epigraph::
3400
-
3401
- This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.
3402
-
3381
+ '''
3403
3382
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties.html#cfn-batch-jobdefinition-containerproperties-instancetype
3404
3383
  '''
3405
3384
  result = self._values.get("instance_type")
@@ -3791,7 +3770,7 @@ class CfnJobDefinition(
3791
3770
  value_from="valueFrom"
3792
3771
  )]
3793
3772
  ),
3794
- mount_points=[batch.CfnJobDefinition.MountPointsProperty(
3773
+ mount_points=[batch.CfnJobDefinition.MountPointProperty(
3795
3774
  container_path="containerPath",
3796
3775
  read_only=False,
3797
3776
  source_volume="sourceVolume"
@@ -3987,7 +3966,7 @@ class CfnJobDefinition(
3987
3966
  value_from="valueFrom"
3988
3967
  )]
3989
3968
  ),
3990
- mount_points=[batch.CfnJobDefinition.MountPointsProperty(
3969
+ mount_points=[batch.CfnJobDefinition.MountPointProperty(
3991
3970
  container_path="containerPath",
3992
3971
  read_only=False,
3993
3972
  source_volume="sourceVolume"
@@ -4244,15 +4223,12 @@ class CfnJobDefinition(
4244
4223
  transit_encryption: typing.Optional[builtins.str] = None,
4245
4224
  transit_encryption_port: typing.Optional[jsii.Number] = None,
4246
4225
  ) -> None:
4247
- '''This is used when you're using an Amazon Elastic File System file system for job storage.
4248
-
4249
- For more information, see `Amazon EFS Volumes <https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html>`_ in the *AWS Batch User Guide* .
4250
-
4251
- :param file_system_id: The Amazon EFS file system ID to use.
4252
- :param authorization_config: The authorization configuration details for the Amazon EFS file system.
4253
- :param root_directory: The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying ``/`` has the same effect as omitting this parameter. The maximum length is 4,096 characters. .. epigraph:: If an EFS access point is specified in the ``authorizationConfig`` , the root directory parameter must either be omitted or set to ``/`` , which enforces the path set on the Amazon EFS access point.
4254
- :param transit_encryption: Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Encrypting data in transit <https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html>`_ in the *Amazon Elastic File System User Guide* .
4255
- :param transit_encryption_port: The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see `EFS mount helper <https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html>`_ in the *Amazon Elastic File System User Guide* .
4226
+ '''
4227
+ :param file_system_id:
4228
+ :param authorization_config:
4229
+ :param root_directory:
4230
+ :param transit_encryption:
4231
+ :param transit_encryption_port:
4256
4232
 
4257
4233
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html
4258
4234
  :exampleMetadata: fixture=_generated
@@ -4297,8 +4273,7 @@ class CfnJobDefinition(
4297
4273
 
4298
4274
  @builtins.property
4299
4275
  def file_system_id(self) -> builtins.str:
4300
- '''The Amazon EFS file system ID to use.
4301
-
4276
+ '''
4302
4277
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-filesystemid
4303
4278
  '''
4304
4279
  result = self._values.get("file_system_id")
@@ -4309,8 +4284,7 @@ class CfnJobDefinition(
4309
4284
  def authorization_config(
4310
4285
  self,
4311
4286
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.AuthorizationConfigProperty"]]:
4312
- '''The authorization configuration details for the Amazon EFS file system.
4313
-
4287
+ '''
4314
4288
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-authorizationconfig
4315
4289
  '''
4316
4290
  result = self._values.get("authorization_config")
@@ -4318,13 +4292,7 @@ class CfnJobDefinition(
4318
4292
 
4319
4293
  @builtins.property
4320
4294
  def root_directory(self) -> typing.Optional[builtins.str]:
4321
- '''The directory within the Amazon EFS file system to mount as the root directory inside the host.
4322
-
4323
- If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying ``/`` has the same effect as omitting this parameter. The maximum length is 4,096 characters.
4324
- .. epigraph::
4325
-
4326
- If an EFS access point is specified in the ``authorizationConfig`` , the root directory parameter must either be omitted or set to ``/`` , which enforces the path set on the Amazon EFS access point.
4327
-
4295
+ '''
4328
4296
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-rootdirectory
4329
4297
  '''
4330
4298
  result = self._values.get("root_directory")
@@ -4332,10 +4300,7 @@ class CfnJobDefinition(
4332
4300
 
4333
4301
  @builtins.property
4334
4302
  def transit_encryption(self) -> typing.Optional[builtins.str]:
4335
- '''Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server.
4336
-
4337
- Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see `Encrypting data in transit <https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html>`_ in the *Amazon Elastic File System User Guide* .
4338
-
4303
+ '''
4339
4304
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-transitencryption
4340
4305
  '''
4341
4306
  result = self._values.get("transit_encryption")
@@ -4343,10 +4308,7 @@ class CfnJobDefinition(
4343
4308
 
4344
4309
  @builtins.property
4345
4310
  def transit_encryption_port(self) -> typing.Optional[jsii.Number]:
4346
- '''The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server.
4347
-
4348
- If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see `EFS mount helper <https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html>`_ in the *Amazon Elastic File System User Guide* .
4349
-
4311
+ '''
4350
4312
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-efsvolumeconfiguration.html#cfn-batch-jobdefinition-efsvolumeconfiguration-transitencryptionport
4351
4313
  '''
4352
4314
  result = self._values.get("transit_encryption_port")
@@ -5567,7 +5529,7 @@ class CfnJobDefinition(
5567
5529
  name_mapping={"name": "name"},
5568
5530
  )
5569
5531
  class ImagePullSecretProperty:
5570
- def __init__(self, *, name: builtins.str) -> None:
5532
+ def __init__(self, *, name: typing.Optional[builtins.str] = None) -> None:
5571
5533
  '''References a Kubernetes secret resource.
5572
5534
 
5573
5535
  This name of the secret must start and end with an alphanumeric character, is required to be lowercase, can include periods (.) and hyphens (-), and can't contain more than 253 characters.
@@ -5590,12 +5552,12 @@ class CfnJobDefinition(
5590
5552
  if __debug__:
5591
5553
  type_hints = typing.get_type_hints(_typecheckingstub__510e7e45fa5176303c62970a1bb0161e95eb0fcd2438671b35f8c5a3c506b95a)
5592
5554
  check_type(argname="argument name", value=name, expected_type=type_hints["name"])
5593
- self._values: typing.Dict[builtins.str, typing.Any] = {
5594
- "name": name,
5595
- }
5555
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5556
+ if name is not None:
5557
+ self._values["name"] = name
5596
5558
 
5597
5559
  @builtins.property
5598
- def name(self) -> builtins.str:
5560
+ def name(self) -> typing.Optional[builtins.str]:
5599
5561
  '''Provides a unique identifier for the ``ImagePullSecret`` .
5600
5562
 
5601
5563
  This object is required when ``EksPodProperties$imagePullSecrets`` is used.
@@ -5603,8 +5565,7 @@ class CfnJobDefinition(
5603
5565
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-imagepullsecret.html#cfn-batch-jobdefinition-imagepullsecret-name
5604
5566
  '''
5605
5567
  result = self._values.get("name")
5606
- assert result is not None, "Required property 'name' is missing"
5607
- return typing.cast(builtins.str, result)
5568
+ return typing.cast(typing.Optional[builtins.str], result)
5608
5569
 
5609
5570
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
5610
5571
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -5617,6 +5578,67 @@ class CfnJobDefinition(
5617
5578
  k + "=" + repr(v) for k, v in self._values.items()
5618
5579
  )
5619
5580
 
5581
+ @jsii.data_type(
5582
+ jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.JobTimeoutProperty",
5583
+ jsii_struct_bases=[],
5584
+ name_mapping={"attempt_duration_seconds": "attemptDurationSeconds"},
5585
+ )
5586
+ class JobTimeoutProperty:
5587
+ def __init__(
5588
+ self,
5589
+ *,
5590
+ attempt_duration_seconds: typing.Optional[jsii.Number] = None,
5591
+ ) -> None:
5592
+ '''An object that represents a job timeout configuration.
5593
+
5594
+ :param attempt_duration_seconds: The job timeout time (in seconds) that's measured from the job attempt's ``startedAt`` timestamp. After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds. For array jobs, the timeout applies to the child jobs, not to the parent array job. For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.
5595
+
5596
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-jobtimeout.html
5597
+ :exampleMetadata: fixture=_generated
5598
+
5599
+ Example::
5600
+
5601
+ # The code below shows an example of how to instantiate this type.
5602
+ # The values are placeholders you should change.
5603
+ from aws_cdk import aws_batch as batch
5604
+
5605
+ job_timeout_property = batch.CfnJobDefinition.JobTimeoutProperty(
5606
+ attempt_duration_seconds=123
5607
+ )
5608
+ '''
5609
+ if __debug__:
5610
+ type_hints = typing.get_type_hints(_typecheckingstub__a3f2b0ca2e9dc87bf15f08f72a000b1f1878e671abdfdb32aae1a6f479b101bf)
5611
+ check_type(argname="argument attempt_duration_seconds", value=attempt_duration_seconds, expected_type=type_hints["attempt_duration_seconds"])
5612
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5613
+ if attempt_duration_seconds is not None:
5614
+ self._values["attempt_duration_seconds"] = attempt_duration_seconds
5615
+
5616
+ @builtins.property
5617
+ def attempt_duration_seconds(self) -> typing.Optional[jsii.Number]:
5618
+ '''The job timeout time (in seconds) that's measured from the job attempt's ``startedAt`` timestamp.
5619
+
5620
+ After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds.
5621
+
5622
+ For array jobs, the timeout applies to the child jobs, not to the parent array job.
5623
+
5624
+ For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.
5625
+
5626
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-jobtimeout.html#cfn-batch-jobdefinition-jobtimeout-attemptdurationseconds
5627
+ '''
5628
+ result = self._values.get("attempt_duration_seconds")
5629
+ return typing.cast(typing.Optional[jsii.Number], result)
5630
+
5631
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5632
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5633
+
5634
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5635
+ return not (rhs == self)
5636
+
5637
+ def __repr__(self) -> str:
5638
+ return "JobTimeoutProperty(%s)" % ", ".join(
5639
+ k + "=" + repr(v) for k, v in self._values.items()
5640
+ )
5641
+
5620
5642
  @jsii.data_type(
5621
5643
  jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.LinuxParametersProperty",
5622
5644
  jsii_struct_bases=[],
@@ -5942,11 +5964,8 @@ class CfnJobDefinition(
5942
5964
  )
5943
5965
  class MetadataProperty:
5944
5966
  def __init__(self, *, labels: typing.Any = None) -> None:
5945
- '''Metadata about the Kubernetes pod.
5946
-
5947
- 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* .
5948
-
5949
- :param labels: Key-value pairs used to identify, sort, and organize cube resources. Can contain up to 63 uppercase letters, lowercase letters, numbers, hyphens (-), and underscores (_). Labels can be added or modified at any time. Each resource can have multiple labels, but each key must be unique for a given object.
5967
+ '''
5968
+ :param labels:
5950
5969
 
5951
5970
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-metadata.html
5952
5971
  :exampleMetadata: fixture=_generated
@@ -5972,10 +5991,7 @@ class CfnJobDefinition(
5972
5991
 
5973
5992
  @builtins.property
5974
5993
  def labels(self) -> typing.Any:
5975
- '''Key-value pairs used to identify, sort, and organize cube resources.
5976
-
5977
- Can contain up to 63 uppercase letters, lowercase letters, numbers, hyphens (-), and underscores (_). Labels can be added or modified at any time. Each resource can have multiple labels, but each key must be unique for a given object.
5978
-
5994
+ '''
5979
5995
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-metadata.html#cfn-batch-jobdefinition-metadata-labels
5980
5996
  '''
5981
5997
  result = self._values.get("labels")
@@ -5993,7 +6009,7 @@ class CfnJobDefinition(
5993
6009
  )
5994
6010
 
5995
6011
  @jsii.data_type(
5996
- jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.MountPointsProperty",
6012
+ jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.MountPointProperty",
5997
6013
  jsii_struct_bases=[],
5998
6014
  name_mapping={
5999
6015
  "container_path": "containerPath",
@@ -6001,7 +6017,7 @@ class CfnJobDefinition(
6001
6017
  "source_volume": "sourceVolume",
6002
6018
  },
6003
6019
  )
6004
- class MountPointsProperty:
6020
+ class MountPointProperty:
6005
6021
  def __init__(
6006
6022
  self,
6007
6023
  *,
@@ -6017,6 +6033,98 @@ class CfnJobDefinition(
6017
6033
  :param read_only: If this value is ``true`` , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is ``false`` .
6018
6034
  :param source_volume: The name of the volume to mount.
6019
6035
 
6036
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoint.html
6037
+ :exampleMetadata: fixture=_generated
6038
+
6039
+ Example::
6040
+
6041
+ # The code below shows an example of how to instantiate this type.
6042
+ # The values are placeholders you should change.
6043
+ from aws_cdk import aws_batch as batch
6044
+
6045
+ mount_point_property = batch.CfnJobDefinition.MountPointProperty(
6046
+ container_path="containerPath",
6047
+ read_only=False,
6048
+ source_volume="sourceVolume"
6049
+ )
6050
+ '''
6051
+ if __debug__:
6052
+ type_hints = typing.get_type_hints(_typecheckingstub__0890bfa00c320f24aeaf31204369e159ba55507af9af6503cd040b7b5051df11)
6053
+ check_type(argname="argument container_path", value=container_path, expected_type=type_hints["container_path"])
6054
+ check_type(argname="argument read_only", value=read_only, expected_type=type_hints["read_only"])
6055
+ check_type(argname="argument source_volume", value=source_volume, expected_type=type_hints["source_volume"])
6056
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6057
+ if container_path is not None:
6058
+ self._values["container_path"] = container_path
6059
+ if read_only is not None:
6060
+ self._values["read_only"] = read_only
6061
+ if source_volume is not None:
6062
+ self._values["source_volume"] = source_volume
6063
+
6064
+ @builtins.property
6065
+ def container_path(self) -> typing.Optional[builtins.str]:
6066
+ '''The path on the container where the host volume is mounted.
6067
+
6068
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoint.html#cfn-batch-jobdefinition-mountpoint-containerpath
6069
+ '''
6070
+ result = self._values.get("container_path")
6071
+ return typing.cast(typing.Optional[builtins.str], result)
6072
+
6073
+ @builtins.property
6074
+ def read_only(
6075
+ self,
6076
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6077
+ '''If this value is ``true`` , the container has read-only access to the volume.
6078
+
6079
+ Otherwise, the container can write to the volume. The default value is ``false`` .
6080
+
6081
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoint.html#cfn-batch-jobdefinition-mountpoint-readonly
6082
+ '''
6083
+ result = self._values.get("read_only")
6084
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6085
+
6086
+ @builtins.property
6087
+ def source_volume(self) -> typing.Optional[builtins.str]:
6088
+ '''The name of the volume to mount.
6089
+
6090
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoint.html#cfn-batch-jobdefinition-mountpoint-sourcevolume
6091
+ '''
6092
+ result = self._values.get("source_volume")
6093
+ return typing.cast(typing.Optional[builtins.str], result)
6094
+
6095
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6096
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6097
+
6098
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6099
+ return not (rhs == self)
6100
+
6101
+ def __repr__(self) -> str:
6102
+ return "MountPointProperty(%s)" % ", ".join(
6103
+ k + "=" + repr(v) for k, v in self._values.items()
6104
+ )
6105
+
6106
+ @jsii.data_type(
6107
+ jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.MountPointsProperty",
6108
+ jsii_struct_bases=[],
6109
+ name_mapping={
6110
+ "container_path": "containerPath",
6111
+ "read_only": "readOnly",
6112
+ "source_volume": "sourceVolume",
6113
+ },
6114
+ )
6115
+ class MountPointsProperty:
6116
+ def __init__(
6117
+ self,
6118
+ *,
6119
+ container_path: typing.Optional[builtins.str] = None,
6120
+ read_only: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
6121
+ source_volume: typing.Optional[builtins.str] = None,
6122
+ ) -> None:
6123
+ '''
6124
+ :param container_path:
6125
+ :param read_only:
6126
+ :param source_volume:
6127
+
6020
6128
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html
6021
6129
  :exampleMetadata: fixture=_generated
6022
6130
 
@@ -6026,56 +6134,420 @@ class CfnJobDefinition(
6026
6134
  # The values are placeholders you should change.
6027
6135
  from aws_cdk import aws_batch as batch
6028
6136
 
6029
- mount_points_property = batch.CfnJobDefinition.MountPointsProperty(
6030
- container_path="containerPath",
6031
- read_only=False,
6032
- source_volume="sourceVolume"
6137
+ mount_points_property = batch.CfnJobDefinition.MountPointsProperty(
6138
+ container_path="containerPath",
6139
+ read_only=False,
6140
+ source_volume="sourceVolume"
6141
+ )
6142
+ '''
6143
+ if __debug__:
6144
+ type_hints = typing.get_type_hints(_typecheckingstub__47aa253c2fbb1ab8f90425d412e691e807d1454f21b10bb59eee6c2b63cf29b5)
6145
+ check_type(argname="argument container_path", value=container_path, expected_type=type_hints["container_path"])
6146
+ check_type(argname="argument read_only", value=read_only, expected_type=type_hints["read_only"])
6147
+ check_type(argname="argument source_volume", value=source_volume, expected_type=type_hints["source_volume"])
6148
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6149
+ if container_path is not None:
6150
+ self._values["container_path"] = container_path
6151
+ if read_only is not None:
6152
+ self._values["read_only"] = read_only
6153
+ if source_volume is not None:
6154
+ self._values["source_volume"] = source_volume
6155
+
6156
+ @builtins.property
6157
+ def container_path(self) -> typing.Optional[builtins.str]:
6158
+ '''
6159
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-containerpath
6160
+ '''
6161
+ result = self._values.get("container_path")
6162
+ return typing.cast(typing.Optional[builtins.str], result)
6163
+
6164
+ @builtins.property
6165
+ def read_only(
6166
+ self,
6167
+ ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6168
+ '''
6169
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-readonly
6170
+ '''
6171
+ result = self._values.get("read_only")
6172
+ return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6173
+
6174
+ @builtins.property
6175
+ def source_volume(self) -> typing.Optional[builtins.str]:
6176
+ '''
6177
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-sourcevolume
6178
+ '''
6179
+ result = self._values.get("source_volume")
6180
+ return typing.cast(typing.Optional[builtins.str], result)
6181
+
6182
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6183
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6184
+
6185
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6186
+ return not (rhs == self)
6187
+
6188
+ def __repr__(self) -> str:
6189
+ return "MountPointsProperty(%s)" % ", ".join(
6190
+ k + "=" + repr(v) for k, v in self._values.items()
6191
+ )
6192
+
6193
+ @jsii.data_type(
6194
+ jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.MultiNodeEcsPropertiesProperty",
6195
+ jsii_struct_bases=[],
6196
+ name_mapping={"task_properties": "taskProperties"},
6197
+ )
6198
+ class MultiNodeEcsPropertiesProperty:
6199
+ def __init__(
6200
+ self,
6201
+ *,
6202
+ task_properties: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.MultiNodeEcsTaskPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]]],
6203
+ ) -> None:
6204
+ '''
6205
+ :param task_properties:
6206
+
6207
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-multinodeecsproperties.html
6208
+ :exampleMetadata: fixture=_generated
6209
+
6210
+ Example::
6211
+
6212
+ # The code below shows an example of how to instantiate this type.
6213
+ # The values are placeholders you should change.
6214
+ from aws_cdk import aws_batch as batch
6215
+
6216
+ # options: Any
6217
+
6218
+ multi_node_ecs_properties_property = batch.CfnJobDefinition.MultiNodeEcsPropertiesProperty(
6219
+ task_properties=[batch.CfnJobDefinition.MultiNodeEcsTaskPropertiesProperty(
6220
+ containers=[batch.CfnJobDefinition.TaskContainerPropertiesProperty(
6221
+ image="image",
6222
+
6223
+ # the properties below are optional
6224
+ command=["command"],
6225
+ depends_on=[batch.CfnJobDefinition.TaskContainerDependencyProperty(
6226
+ condition="condition",
6227
+ container_name="containerName"
6228
+ )],
6229
+ environment=[batch.CfnJobDefinition.EnvironmentProperty(
6230
+ name="name",
6231
+ value="value"
6232
+ )],
6233
+ essential=False,
6234
+ linux_parameters=batch.CfnJobDefinition.LinuxParametersProperty(
6235
+ devices=[batch.CfnJobDefinition.DeviceProperty(
6236
+ container_path="containerPath",
6237
+ host_path="hostPath",
6238
+ permissions=["permissions"]
6239
+ )],
6240
+ init_process_enabled=False,
6241
+ max_swap=123,
6242
+ shared_memory_size=123,
6243
+ swappiness=123,
6244
+ tmpfs=[batch.CfnJobDefinition.TmpfsProperty(
6245
+ container_path="containerPath",
6246
+ size=123,
6247
+
6248
+ # the properties below are optional
6249
+ mount_options=["mountOptions"]
6250
+ )]
6251
+ ),
6252
+ log_configuration=batch.CfnJobDefinition.LogConfigurationProperty(
6253
+ log_driver="logDriver",
6254
+
6255
+ # the properties below are optional
6256
+ options=options,
6257
+ secret_options=[batch.CfnJobDefinition.SecretProperty(
6258
+ name="name",
6259
+ value_from="valueFrom"
6260
+ )]
6261
+ ),
6262
+ mount_points=[batch.CfnJobDefinition.MountPointProperty(
6263
+ container_path="containerPath",
6264
+ read_only=False,
6265
+ source_volume="sourceVolume"
6266
+ )],
6267
+ name="name",
6268
+ privileged=False,
6269
+ readonly_root_filesystem=False,
6270
+ repository_credentials=batch.CfnJobDefinition.RepositoryCredentialsProperty(
6271
+ credentials_parameter="credentialsParameter"
6272
+ ),
6273
+ resource_requirements=[batch.CfnJobDefinition.ResourceRequirementProperty(
6274
+ type="type",
6275
+ value="value"
6276
+ )],
6277
+ secrets=[batch.CfnJobDefinition.SecretProperty(
6278
+ name="name",
6279
+ value_from="valueFrom"
6280
+ )],
6281
+ ulimits=[batch.CfnJobDefinition.UlimitProperty(
6282
+ hard_limit=123,
6283
+ name="name",
6284
+ soft_limit=123
6285
+ )],
6286
+ user="user"
6287
+ )],
6288
+ execution_role_arn="executionRoleArn",
6289
+ ipc_mode="ipcMode",
6290
+ pid_mode="pidMode",
6291
+ task_role_arn="taskRoleArn",
6292
+ volumes=[batch.CfnJobDefinition.VolumesProperty(
6293
+ efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
6294
+ file_system_id="fileSystemId",
6295
+
6296
+ # the properties below are optional
6297
+ authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
6298
+ access_point_id="accessPointId",
6299
+ iam="iam"
6300
+ ),
6301
+ root_directory="rootDirectory",
6302
+ transit_encryption="transitEncryption",
6303
+ transit_encryption_port=123
6304
+ ),
6305
+ host=batch.CfnJobDefinition.VolumesHostProperty(
6306
+ source_path="sourcePath"
6307
+ ),
6308
+ name="name"
6309
+ )]
6310
+ )]
6311
+ )
6312
+ '''
6313
+ if __debug__:
6314
+ type_hints = typing.get_type_hints(_typecheckingstub__9a2309f896452e04abc96277b3c04ead84cbae39e501242083e44da7eb775567)
6315
+ check_type(argname="argument task_properties", value=task_properties, expected_type=type_hints["task_properties"])
6316
+ self._values: typing.Dict[builtins.str, typing.Any] = {
6317
+ "task_properties": task_properties,
6318
+ }
6319
+
6320
+ @builtins.property
6321
+ def task_properties(
6322
+ self,
6323
+ ) -> typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MultiNodeEcsTaskPropertiesProperty"]]]:
6324
+ '''
6325
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-multinodeecsproperties.html#cfn-batch-jobdefinition-multinodeecsproperties-taskproperties
6326
+ '''
6327
+ result = self._values.get("task_properties")
6328
+ assert result is not None, "Required property 'task_properties' is missing"
6329
+ return typing.cast(typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MultiNodeEcsTaskPropertiesProperty"]]], result)
6330
+
6331
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6332
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6333
+
6334
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6335
+ return not (rhs == self)
6336
+
6337
+ def __repr__(self) -> str:
6338
+ return "MultiNodeEcsPropertiesProperty(%s)" % ", ".join(
6339
+ k + "=" + repr(v) for k, v in self._values.items()
6340
+ )
6341
+
6342
+ @jsii.data_type(
6343
+ jsii_type="aws-cdk-lib.aws_batch.CfnJobDefinition.MultiNodeEcsTaskPropertiesProperty",
6344
+ jsii_struct_bases=[],
6345
+ name_mapping={
6346
+ "containers": "containers",
6347
+ "execution_role_arn": "executionRoleArn",
6348
+ "ipc_mode": "ipcMode",
6349
+ "pid_mode": "pidMode",
6350
+ "task_role_arn": "taskRoleArn",
6351
+ "volumes": "volumes",
6352
+ },
6353
+ )
6354
+ class MultiNodeEcsTaskPropertiesProperty:
6355
+ def __init__(
6356
+ self,
6357
+ *,
6358
+ containers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.TaskContainerPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
6359
+ execution_role_arn: typing.Optional[builtins.str] = None,
6360
+ ipc_mode: typing.Optional[builtins.str] = None,
6361
+ pid_mode: typing.Optional[builtins.str] = None,
6362
+ task_role_arn: typing.Optional[builtins.str] = None,
6363
+ volumes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.VolumesProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
6364
+ ) -> None:
6365
+ '''
6366
+ :param containers:
6367
+ :param execution_role_arn:
6368
+ :param ipc_mode:
6369
+ :param pid_mode:
6370
+ :param task_role_arn:
6371
+ :param volumes:
6372
+
6373
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-multinodeecstaskproperties.html
6374
+ :exampleMetadata: fixture=_generated
6375
+
6376
+ Example::
6377
+
6378
+ # The code below shows an example of how to instantiate this type.
6379
+ # The values are placeholders you should change.
6380
+ from aws_cdk import aws_batch as batch
6381
+
6382
+ # options: Any
6383
+
6384
+ multi_node_ecs_task_properties_property = batch.CfnJobDefinition.MultiNodeEcsTaskPropertiesProperty(
6385
+ containers=[batch.CfnJobDefinition.TaskContainerPropertiesProperty(
6386
+ image="image",
6387
+
6388
+ # the properties below are optional
6389
+ command=["command"],
6390
+ depends_on=[batch.CfnJobDefinition.TaskContainerDependencyProperty(
6391
+ condition="condition",
6392
+ container_name="containerName"
6393
+ )],
6394
+ environment=[batch.CfnJobDefinition.EnvironmentProperty(
6395
+ name="name",
6396
+ value="value"
6397
+ )],
6398
+ essential=False,
6399
+ linux_parameters=batch.CfnJobDefinition.LinuxParametersProperty(
6400
+ devices=[batch.CfnJobDefinition.DeviceProperty(
6401
+ container_path="containerPath",
6402
+ host_path="hostPath",
6403
+ permissions=["permissions"]
6404
+ )],
6405
+ init_process_enabled=False,
6406
+ max_swap=123,
6407
+ shared_memory_size=123,
6408
+ swappiness=123,
6409
+ tmpfs=[batch.CfnJobDefinition.TmpfsProperty(
6410
+ container_path="containerPath",
6411
+ size=123,
6412
+
6413
+ # the properties below are optional
6414
+ mount_options=["mountOptions"]
6415
+ )]
6416
+ ),
6417
+ log_configuration=batch.CfnJobDefinition.LogConfigurationProperty(
6418
+ log_driver="logDriver",
6419
+
6420
+ # the properties below are optional
6421
+ options=options,
6422
+ secret_options=[batch.CfnJobDefinition.SecretProperty(
6423
+ name="name",
6424
+ value_from="valueFrom"
6425
+ )]
6426
+ ),
6427
+ mount_points=[batch.CfnJobDefinition.MountPointProperty(
6428
+ container_path="containerPath",
6429
+ read_only=False,
6430
+ source_volume="sourceVolume"
6431
+ )],
6432
+ name="name",
6433
+ privileged=False,
6434
+ readonly_root_filesystem=False,
6435
+ repository_credentials=batch.CfnJobDefinition.RepositoryCredentialsProperty(
6436
+ credentials_parameter="credentialsParameter"
6437
+ ),
6438
+ resource_requirements=[batch.CfnJobDefinition.ResourceRequirementProperty(
6439
+ type="type",
6440
+ value="value"
6441
+ )],
6442
+ secrets=[batch.CfnJobDefinition.SecretProperty(
6443
+ name="name",
6444
+ value_from="valueFrom"
6445
+ )],
6446
+ ulimits=[batch.CfnJobDefinition.UlimitProperty(
6447
+ hard_limit=123,
6448
+ name="name",
6449
+ soft_limit=123
6450
+ )],
6451
+ user="user"
6452
+ )],
6453
+ execution_role_arn="executionRoleArn",
6454
+ ipc_mode="ipcMode",
6455
+ pid_mode="pidMode",
6456
+ task_role_arn="taskRoleArn",
6457
+ volumes=[batch.CfnJobDefinition.VolumesProperty(
6458
+ efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
6459
+ file_system_id="fileSystemId",
6460
+
6461
+ # the properties below are optional
6462
+ authorization_config=batch.CfnJobDefinition.AuthorizationConfigProperty(
6463
+ access_point_id="accessPointId",
6464
+ iam="iam"
6465
+ ),
6466
+ root_directory="rootDirectory",
6467
+ transit_encryption="transitEncryption",
6468
+ transit_encryption_port=123
6469
+ ),
6470
+ host=batch.CfnJobDefinition.VolumesHostProperty(
6471
+ source_path="sourcePath"
6472
+ ),
6473
+ name="name"
6474
+ )]
6033
6475
  )
6034
6476
  '''
6035
6477
  if __debug__:
6036
- type_hints = typing.get_type_hints(_typecheckingstub__47aa253c2fbb1ab8f90425d412e691e807d1454f21b10bb59eee6c2b63cf29b5)
6037
- check_type(argname="argument container_path", value=container_path, expected_type=type_hints["container_path"])
6038
- check_type(argname="argument read_only", value=read_only, expected_type=type_hints["read_only"])
6039
- check_type(argname="argument source_volume", value=source_volume, expected_type=type_hints["source_volume"])
6478
+ type_hints = typing.get_type_hints(_typecheckingstub__cb3ca5619c68fc8ff93d966eb183ea114ed6764e99467d7b283af54300b4b5ca)
6479
+ check_type(argname="argument containers", value=containers, expected_type=type_hints["containers"])
6480
+ check_type(argname="argument execution_role_arn", value=execution_role_arn, expected_type=type_hints["execution_role_arn"])
6481
+ check_type(argname="argument ipc_mode", value=ipc_mode, expected_type=type_hints["ipc_mode"])
6482
+ check_type(argname="argument pid_mode", value=pid_mode, expected_type=type_hints["pid_mode"])
6483
+ check_type(argname="argument task_role_arn", value=task_role_arn, expected_type=type_hints["task_role_arn"])
6484
+ check_type(argname="argument volumes", value=volumes, expected_type=type_hints["volumes"])
6040
6485
  self._values: typing.Dict[builtins.str, typing.Any] = {}
6041
- if container_path is not None:
6042
- self._values["container_path"] = container_path
6043
- if read_only is not None:
6044
- self._values["read_only"] = read_only
6045
- if source_volume is not None:
6046
- self._values["source_volume"] = source_volume
6486
+ if containers is not None:
6487
+ self._values["containers"] = containers
6488
+ if execution_role_arn is not None:
6489
+ self._values["execution_role_arn"] = execution_role_arn
6490
+ if ipc_mode is not None:
6491
+ self._values["ipc_mode"] = ipc_mode
6492
+ if pid_mode is not None:
6493
+ self._values["pid_mode"] = pid_mode
6494
+ if task_role_arn is not None:
6495
+ self._values["task_role_arn"] = task_role_arn
6496
+ if volumes is not None:
6497
+ self._values["volumes"] = volumes
6047
6498
 
6048
6499
  @builtins.property
6049
- def container_path(self) -> typing.Optional[builtins.str]:
6050
- '''The path on the container where the host volume is mounted.
6500
+ def containers(
6501
+ self,
6502
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.TaskContainerPropertiesProperty"]]]]:
6503
+ '''
6504
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-multinodeecstaskproperties.html#cfn-batch-jobdefinition-multinodeecstaskproperties-containers
6505
+ '''
6506
+ result = self._values.get("containers")
6507
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.TaskContainerPropertiesProperty"]]]], result)
6051
6508
 
6052
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-containerpath
6509
+ @builtins.property
6510
+ def execution_role_arn(self) -> typing.Optional[builtins.str]:
6053
6511
  '''
6054
- result = self._values.get("container_path")
6512
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-multinodeecstaskproperties.html#cfn-batch-jobdefinition-multinodeecstaskproperties-executionrolearn
6513
+ '''
6514
+ result = self._values.get("execution_role_arn")
6055
6515
  return typing.cast(typing.Optional[builtins.str], result)
6056
6516
 
6057
6517
  @builtins.property
6058
- def read_only(
6059
- self,
6060
- ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
6061
- '''If this value is ``true`` , the container has read-only access to the volume.
6062
-
6063
- Otherwise, the container can write to the volume. The default value is ``false`` .
6064
-
6065
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-readonly
6518
+ def ipc_mode(self) -> typing.Optional[builtins.str]:
6066
6519
  '''
6067
- result = self._values.get("read_only")
6068
- return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
6520
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-multinodeecstaskproperties.html#cfn-batch-jobdefinition-multinodeecstaskproperties-ipcmode
6521
+ '''
6522
+ result = self._values.get("ipc_mode")
6523
+ return typing.cast(typing.Optional[builtins.str], result)
6069
6524
 
6070
6525
  @builtins.property
6071
- def source_volume(self) -> typing.Optional[builtins.str]:
6072
- '''The name of the volume to mount.
6526
+ def pid_mode(self) -> typing.Optional[builtins.str]:
6527
+ '''
6528
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-multinodeecstaskproperties.html#cfn-batch-jobdefinition-multinodeecstaskproperties-pidmode
6529
+ '''
6530
+ result = self._values.get("pid_mode")
6531
+ return typing.cast(typing.Optional[builtins.str], result)
6073
6532
 
6074
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-mountpoints.html#cfn-batch-jobdefinition-mountpoints-sourcevolume
6533
+ @builtins.property
6534
+ def task_role_arn(self) -> typing.Optional[builtins.str]:
6075
6535
  '''
6076
- result = self._values.get("source_volume")
6536
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-multinodeecstaskproperties.html#cfn-batch-jobdefinition-multinodeecstaskproperties-taskrolearn
6537
+ '''
6538
+ result = self._values.get("task_role_arn")
6077
6539
  return typing.cast(typing.Optional[builtins.str], result)
6078
6540
 
6541
+ @builtins.property
6542
+ def volumes(
6543
+ self,
6544
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.VolumesProperty"]]]]:
6545
+ '''
6546
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-multinodeecstaskproperties.html#cfn-batch-jobdefinition-multinodeecstaskproperties-volumes
6547
+ '''
6548
+ result = self._values.get("volumes")
6549
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.VolumesProperty"]]]], result)
6550
+
6079
6551
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
6080
6552
  return isinstance(rhs, self.__class__) and rhs._values == self._values
6081
6553
 
@@ -6083,7 +6555,7 @@ class CfnJobDefinition(
6083
6555
  return not (rhs == self)
6084
6556
 
6085
6557
  def __repr__(self) -> str:
6086
- return "MountPointsProperty(%s)" % ", ".join(
6558
+ return "MultiNodeEcsTaskPropertiesProperty(%s)" % ", ".join(
6087
6559
  k + "=" + repr(v) for k, v in self._values.items()
6088
6560
  )
6089
6561
 
@@ -6291,8 +6763,8 @@ class CfnJobDefinition(
6291
6763
  name="name"
6292
6764
  )]
6293
6765
  ),
6294
- ecs_properties=batch.CfnJobDefinition.EcsPropertiesProperty(
6295
- task_properties=[batch.CfnJobDefinition.EcsTaskPropertiesProperty(
6766
+ ecs_properties=batch.CfnJobDefinition.MultiNodeEcsPropertiesProperty(
6767
+ task_properties=[batch.CfnJobDefinition.MultiNodeEcsTaskPropertiesProperty(
6296
6768
  containers=[batch.CfnJobDefinition.TaskContainerPropertiesProperty(
6297
6769
  image="image",
6298
6770
 
@@ -6335,7 +6807,7 @@ class CfnJobDefinition(
6335
6807
  value_from="valueFrom"
6336
6808
  )]
6337
6809
  ),
6338
- mount_points=[batch.CfnJobDefinition.MountPointsProperty(
6810
+ mount_points=[batch.CfnJobDefinition.MountPointProperty(
6339
6811
  container_path="containerPath",
6340
6812
  read_only=False,
6341
6813
  source_volume="sourceVolume"
@@ -6361,20 +6833,9 @@ class CfnJobDefinition(
6361
6833
  )],
6362
6834
  user="user"
6363
6835
  )],
6364
- ephemeral_storage=batch.CfnJobDefinition.EphemeralStorageProperty(
6365
- size_in_gi_b=123
6366
- ),
6367
6836
  execution_role_arn="executionRoleArn",
6368
6837
  ipc_mode="ipcMode",
6369
- network_configuration=batch.CfnJobDefinition.NetworkConfigurationProperty(
6370
- assign_public_ip="assignPublicIp"
6371
- ),
6372
6838
  pid_mode="pidMode",
6373
- platform_version="platformVersion",
6374
- runtime_platform=batch.CfnJobDefinition.RuntimePlatformProperty(
6375
- cpu_architecture="cpuArchitecture",
6376
- operating_system_family="operatingSystemFamily"
6377
- ),
6378
6839
  task_role_arn="taskRoleArn",
6379
6840
  volumes=[batch.CfnJobDefinition.VolumesProperty(
6380
6841
  efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
@@ -6570,7 +7031,7 @@ class CfnJobDefinition(
6570
7031
  *,
6571
7032
  target_nodes: builtins.str,
6572
7033
  container: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.ContainerPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6573
- ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EcsPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
7034
+ ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.MultiNodeEcsPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6574
7035
  eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EksPropertiesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
6575
7036
  instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
6576
7037
  ) -> None:
@@ -6698,8 +7159,8 @@ class CfnJobDefinition(
6698
7159
  name="name"
6699
7160
  )]
6700
7161
  ),
6701
- ecs_properties=batch.CfnJobDefinition.EcsPropertiesProperty(
6702
- task_properties=[batch.CfnJobDefinition.EcsTaskPropertiesProperty(
7162
+ ecs_properties=batch.CfnJobDefinition.MultiNodeEcsPropertiesProperty(
7163
+ task_properties=[batch.CfnJobDefinition.MultiNodeEcsTaskPropertiesProperty(
6703
7164
  containers=[batch.CfnJobDefinition.TaskContainerPropertiesProperty(
6704
7165
  image="image",
6705
7166
 
@@ -6742,7 +7203,7 @@ class CfnJobDefinition(
6742
7203
  value_from="valueFrom"
6743
7204
  )]
6744
7205
  ),
6745
- mount_points=[batch.CfnJobDefinition.MountPointsProperty(
7206
+ mount_points=[batch.CfnJobDefinition.MountPointProperty(
6746
7207
  container_path="containerPath",
6747
7208
  read_only=False,
6748
7209
  source_volume="sourceVolume"
@@ -6768,20 +7229,9 @@ class CfnJobDefinition(
6768
7229
  )],
6769
7230
  user="user"
6770
7231
  )],
6771
- ephemeral_storage=batch.CfnJobDefinition.EphemeralStorageProperty(
6772
- size_in_gi_b=123
6773
- ),
6774
7232
  execution_role_arn="executionRoleArn",
6775
7233
  ipc_mode="ipcMode",
6776
- network_configuration=batch.CfnJobDefinition.NetworkConfigurationProperty(
6777
- assign_public_ip="assignPublicIp"
6778
- ),
6779
7234
  pid_mode="pidMode",
6780
- platform_version="platformVersion",
6781
- runtime_platform=batch.CfnJobDefinition.RuntimePlatformProperty(
6782
- cpu_architecture="cpuArchitecture",
6783
- operating_system_family="operatingSystemFamily"
6784
- ),
6785
7235
  task_role_arn="taskRoleArn",
6786
7236
  volumes=[batch.CfnJobDefinition.VolumesProperty(
6787
7237
  efs_volume_configuration=batch.CfnJobDefinition.EfsVolumeConfigurationProperty(
@@ -6947,13 +7397,13 @@ class CfnJobDefinition(
6947
7397
  @builtins.property
6948
7398
  def ecs_properties(
6949
7399
  self,
6950
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsPropertiesProperty"]]:
7400
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MultiNodeEcsPropertiesProperty"]]:
6951
7401
  '''This is an object that represents the properties of the node range for a multi-node parallel job.
6952
7402
 
6953
7403
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-noderangeproperty.html#cfn-batch-jobdefinition-noderangeproperty-ecsproperties
6954
7404
  '''
6955
7405
  result = self._values.get("ecs_properties")
6956
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EcsPropertiesProperty"]], result)
7406
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MultiNodeEcsPropertiesProperty"]], result)
6957
7407
 
6958
7408
  @builtins.property
6959
7409
  def eks_properties(
@@ -7021,17 +7471,16 @@ class CfnJobDefinition(
7021
7471
  share_process_namespace: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
7022
7472
  volumes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.EksVolumeProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
7023
7473
  ) -> None:
7024
- '''The properties for the pod.
7025
-
7026
- :param containers: The properties of the container that's used on the Amazon EKS pod. .. epigraph:: This object is limited to 10 elements.
7027
- :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``
7028
- :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* .
7474
+ '''
7475
+ :param containers:
7476
+ :param dns_policy:
7477
+ :param host_network:
7029
7478
  :param image_pull_secrets:
7030
- :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.
7031
- :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* .
7032
- :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* .
7033
- :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/>`_ .
7034
- :param volumes: Specifies the volumes for a job definition that uses Amazon EKS resources.
7479
+ :param init_containers:
7480
+ :param metadata:
7481
+ :param service_account_name:
7482
+ :param share_process_namespace:
7483
+ :param volumes:
7035
7484
 
7036
7485
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html
7037
7486
  :exampleMetadata: fixture=_generated
@@ -7176,12 +7625,7 @@ class CfnJobDefinition(
7176
7625
  def containers(
7177
7626
  self,
7178
7627
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EksContainerProperty"]]]]:
7179
- '''The properties of the container that's used on the Amazon EKS pod.
7180
-
7181
- .. epigraph::
7182
-
7183
- This object is limited to 10 elements.
7184
-
7628
+ '''
7185
7629
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-containers
7186
7630
  '''
7187
7631
  result = self._values.get("containers")
@@ -7189,12 +7633,7 @@ class CfnJobDefinition(
7189
7633
 
7190
7634
  @builtins.property
7191
7635
  def dns_policy(self) -> typing.Optional[builtins.str]:
7192
- '''The DNS policy for the pod.
7193
-
7194
- 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* .
7195
-
7196
- Valid values: ``Default`` | ``ClusterFirst`` | ``ClusterFirstWithHostNet``
7197
-
7636
+ '''
7198
7637
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-dnspolicy
7199
7638
  '''
7200
7639
  result = self._values.get("dns_policy")
@@ -7204,10 +7643,7 @@ class CfnJobDefinition(
7204
7643
  def host_network(
7205
7644
  self,
7206
7645
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7207
- '''Indicates if the pod uses the hosts' network IP address.
7208
-
7209
- 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* .
7210
-
7646
+ '''
7211
7647
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-hostnetwork
7212
7648
  '''
7213
7649
  result = self._values.get("host_network")
@@ -7227,13 +7663,7 @@ class CfnJobDefinition(
7227
7663
  def init_containers(
7228
7664
  self,
7229
7665
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EksContainerProperty"]]]]:
7230
- '''These containers run before application containers, always runs to completion, and must complete successfully before the next container starts.
7231
-
7232
- 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* .
7233
- .. epigraph::
7234
-
7235
- This object is limited to 10 elements.
7236
-
7666
+ '''
7237
7667
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-initcontainers
7238
7668
  '''
7239
7669
  result = self._values.get("init_containers")
@@ -7243,10 +7673,7 @@ class CfnJobDefinition(
7243
7673
  def metadata(
7244
7674
  self,
7245
7675
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MetadataProperty"]]:
7246
- '''Metadata about the Kubernetes pod.
7247
-
7248
- 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* .
7249
-
7676
+ '''
7250
7677
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-metadata
7251
7678
  '''
7252
7679
  result = self._values.get("metadata")
@@ -7254,10 +7681,7 @@ class CfnJobDefinition(
7254
7681
 
7255
7682
  @builtins.property
7256
7683
  def service_account_name(self) -> typing.Optional[builtins.str]:
7257
- '''The name of the service account that's used to run the pod.
7258
-
7259
- 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* .
7260
-
7684
+ '''
7261
7685
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-serviceaccountname
7262
7686
  '''
7263
7687
  result = self._values.get("service_account_name")
@@ -7267,10 +7691,7 @@ class CfnJobDefinition(
7267
7691
  def share_process_namespace(
7268
7692
  self,
7269
7693
  ) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
7270
- '''Indicates if the processes in a container are shared, or visible, to other containers in the same pod.
7271
-
7272
- 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/>`_ .
7273
-
7694
+ '''
7274
7695
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-shareprocessnamespace
7275
7696
  '''
7276
7697
  result = self._values.get("share_process_namespace")
@@ -7280,8 +7701,7 @@ class CfnJobDefinition(
7280
7701
  def volumes(
7281
7702
  self,
7282
7703
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EksVolumeProperty"]]]]:
7283
- '''Specifies the volumes for a job definition that uses Amazon EKS resources.
7284
-
7704
+ '''
7285
7705
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-podproperties.html#cfn-batch-jobdefinition-podproperties-volumes
7286
7706
  '''
7287
7707
  result = self._values.get("volumes")
@@ -8027,7 +8447,7 @@ class CfnJobDefinition(
8027
8447
  essential: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
8028
8448
  linux_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.LinuxParametersProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8029
8449
  log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.LogConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8030
- mount_points: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.MountPointsProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
8450
+ mount_points: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.MountPointProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
8031
8451
  name: typing.Optional[builtins.str] = None,
8032
8452
  privileged: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
8033
8453
  readonly_root_filesystem: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
@@ -8111,7 +8531,7 @@ class CfnJobDefinition(
8111
8531
  value_from="valueFrom"
8112
8532
  )]
8113
8533
  ),
8114
- mount_points=[batch.CfnJobDefinition.MountPointsProperty(
8534
+ mount_points=[batch.CfnJobDefinition.MountPointProperty(
8115
8535
  container_path="containerPath",
8116
8536
  read_only=False,
8117
8537
  source_volume="sourceVolume"
@@ -8294,7 +8714,7 @@ class CfnJobDefinition(
8294
8714
  @builtins.property
8295
8715
  def mount_points(
8296
8716
  self,
8297
- ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MountPointsProperty"]]]]:
8717
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MountPointProperty"]]]]:
8298
8718
  '''The mount points for data volumes in your container.
8299
8719
 
8300
8720
  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>`_ .
@@ -8304,7 +8724,7 @@ class CfnJobDefinition(
8304
8724
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-taskcontainerproperties.html#cfn-batch-jobdefinition-taskcontainerproperties-mountpoints
8305
8725
  '''
8306
8726
  result = self._values.get("mount_points")
8307
- return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MountPointsProperty"]]]], result)
8727
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.MountPointProperty"]]]], result)
8308
8728
 
8309
8729
  @builtins.property
8310
8730
  def name(self) -> typing.Optional[builtins.str]:
@@ -8455,9 +8875,8 @@ class CfnJobDefinition(
8455
8875
  *,
8456
8876
  attempt_duration_seconds: typing.Optional[jsii.Number] = None,
8457
8877
  ) -> None:
8458
- '''An object that represents a job timeout configuration.
8459
-
8460
- :param attempt_duration_seconds: The job timeout time (in seconds) that's measured from the job attempt's ``startedAt`` timestamp. After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds. For array jobs, the timeout applies to the child jobs, not to the parent array job. For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.
8878
+ '''
8879
+ :param attempt_duration_seconds:
8461
8880
 
8462
8881
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-timeout.html
8463
8882
  :exampleMetadata: fixture=_generated
@@ -8481,14 +8900,7 @@ class CfnJobDefinition(
8481
8900
 
8482
8901
  @builtins.property
8483
8902
  def attempt_duration_seconds(self) -> typing.Optional[jsii.Number]:
8484
- '''The job timeout time (in seconds) that's measured from the job attempt's ``startedAt`` timestamp.
8485
-
8486
- After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds.
8487
-
8488
- For array jobs, the timeout applies to the child jobs, not to the parent array job.
8489
-
8490
- For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.
8491
-
8903
+ '''
8492
8904
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-timeout.html#cfn-batch-jobdefinition-timeout-attemptdurationseconds
8493
8905
  '''
8494
8906
  result = self._values.get("attempt_duration_seconds")
@@ -8710,11 +9122,8 @@ class CfnJobDefinition(
8710
9122
  *,
8711
9123
  source_path: typing.Optional[builtins.str] = None,
8712
9124
  ) -> None:
8713
- '''Determine whether your data volume persists on the host container instance and where it's stored.
8714
-
8715
- If this parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.
8716
-
8717
- :param source_path: The path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported. .. epigraph:: This parameter isn't applicable to jobs that run on Fargate resources. Don't provide this for these jobs.
9125
+ '''
9126
+ :param source_path:
8718
9127
 
8719
9128
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumeshost.html
8720
9129
  :exampleMetadata: fixture=_generated
@@ -8738,13 +9147,7 @@ class CfnJobDefinition(
8738
9147
 
8739
9148
  @builtins.property
8740
9149
  def source_path(self) -> typing.Optional[builtins.str]:
8741
- '''The path on the host container instance that's presented to the container.
8742
-
8743
- If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.
8744
- .. epigraph::
8745
-
8746
- This parameter isn't applicable to jobs that run on Fargate resources. Don't provide this for these jobs.
8747
-
9150
+ '''
8748
9151
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumeshost.html#cfn-batch-jobdefinition-volumeshost-sourcepath
8749
9152
  '''
8750
9153
  result = self._values.get("source_path")
@@ -8778,11 +9181,10 @@ class CfnJobDefinition(
8778
9181
  host: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnJobDefinition.VolumesHostProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
8779
9182
  name: typing.Optional[builtins.str] = None,
8780
9183
  ) -> None:
8781
- '''A list of volumes that are associated with the job.
8782
-
8783
- :param efs_volume_configuration: This is used when you're using an Amazon Elastic File System file system for job storage. For more information, see `Amazon EFS Volumes <https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html>`_ in the *AWS Batch User Guide* .
8784
- :param host: The contents of the ``host`` parameter determine whether your data volume persists on the host container instance and where it's stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running. .. epigraph:: This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.
8785
- :param name: The name of the volume. It can be up to 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). This name is referenced in the ``sourceVolume`` parameter of container definition ``mountPoints`` .
9184
+ '''
9185
+ :param efs_volume_configuration:
9186
+ :param host:
9187
+ :param name:
8786
9188
 
8787
9189
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html
8788
9190
  :exampleMetadata: fixture=_generated
@@ -8829,10 +9231,7 @@ class CfnJobDefinition(
8829
9231
  def efs_volume_configuration(
8830
9232
  self,
8831
9233
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.EfsVolumeConfigurationProperty"]]:
8832
- '''This is used when you're using an Amazon Elastic File System file system for job storage.
8833
-
8834
- For more information, see `Amazon EFS Volumes <https://docs.aws.amazon.com/batch/latest/userguide/efs-volumes.html>`_ in the *AWS Batch User Guide* .
8835
-
9234
+ '''
8836
9235
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html#cfn-batch-jobdefinition-volumes-efsvolumeconfiguration
8837
9236
  '''
8838
9237
  result = self._values.get("efs_volume_configuration")
@@ -8842,13 +9241,7 @@ class CfnJobDefinition(
8842
9241
  def host(
8843
9242
  self,
8844
9243
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnJobDefinition.VolumesHostProperty"]]:
8845
- '''The contents of the ``host`` parameter determine whether your data volume persists on the host container instance and where it's stored.
8846
-
8847
- If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.
8848
- .. epigraph::
8849
-
8850
- This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.
8851
-
9244
+ '''
8852
9245
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html#cfn-batch-jobdefinition-volumes-host
8853
9246
  '''
8854
9247
  result = self._values.get("host")
@@ -8856,10 +9249,7 @@ class CfnJobDefinition(
8856
9249
 
8857
9250
  @builtins.property
8858
9251
  def name(self) -> typing.Optional[builtins.str]:
8859
- '''The name of the volume.
8860
-
8861
- It can be up to 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). This name is referenced in the ``sourceVolume`` parameter of container definition ``mountPoints`` .
8862
-
9252
+ '''
8863
9253
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-volumes.html#cfn-batch-jobdefinition-volumes-name
8864
9254
  '''
8865
9255
  result = self._values.get("name")
@@ -23955,7 +24345,14 @@ def _typecheckingstub__2bf55e035d36507c507c0ff620eda0a3096496a2cd5226656fc5e4af4
23955
24345
 
23956
24346
  def _typecheckingstub__510e7e45fa5176303c62970a1bb0161e95eb0fcd2438671b35f8c5a3c506b95a(
23957
24347
  *,
23958
- name: builtins.str,
24348
+ name: typing.Optional[builtins.str] = None,
24349
+ ) -> None:
24350
+ """Type checking stubs"""
24351
+ pass
24352
+
24353
+ def _typecheckingstub__a3f2b0ca2e9dc87bf15f08f72a000b1f1878e671abdfdb32aae1a6f479b101bf(
24354
+ *,
24355
+ attempt_duration_seconds: typing.Optional[jsii.Number] = None,
23959
24356
  ) -> None:
23960
24357
  """Type checking stubs"""
23961
24358
  pass
@@ -23988,6 +24385,15 @@ def _typecheckingstub__2a991ab55d6c85b732418b9a39402702cdf7043f946aaf69c13b36a4c
23988
24385
  """Type checking stubs"""
23989
24386
  pass
23990
24387
 
24388
+ def _typecheckingstub__0890bfa00c320f24aeaf31204369e159ba55507af9af6503cd040b7b5051df11(
24389
+ *,
24390
+ container_path: typing.Optional[builtins.str] = None,
24391
+ read_only: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
24392
+ source_volume: typing.Optional[builtins.str] = None,
24393
+ ) -> None:
24394
+ """Type checking stubs"""
24395
+ pass
24396
+
23991
24397
  def _typecheckingstub__47aa253c2fbb1ab8f90425d412e691e807d1454f21b10bb59eee6c2b63cf29b5(
23992
24398
  *,
23993
24399
  container_path: typing.Optional[builtins.str] = None,
@@ -23997,6 +24403,25 @@ def _typecheckingstub__47aa253c2fbb1ab8f90425d412e691e807d1454f21b10bb59eee6c2b6
23997
24403
  """Type checking stubs"""
23998
24404
  pass
23999
24405
 
24406
+ def _typecheckingstub__9a2309f896452e04abc96277b3c04ead84cbae39e501242083e44da7eb775567(
24407
+ *,
24408
+ task_properties: typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.MultiNodeEcsTaskPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]]],
24409
+ ) -> None:
24410
+ """Type checking stubs"""
24411
+ pass
24412
+
24413
+ def _typecheckingstub__cb3ca5619c68fc8ff93d966eb183ea114ed6764e99467d7b283af54300b4b5ca(
24414
+ *,
24415
+ containers: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.TaskContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
24416
+ execution_role_arn: typing.Optional[builtins.str] = None,
24417
+ ipc_mode: typing.Optional[builtins.str] = None,
24418
+ pid_mode: typing.Optional[builtins.str] = None,
24419
+ task_role_arn: typing.Optional[builtins.str] = None,
24420
+ volumes: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.VolumesProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
24421
+ ) -> None:
24422
+ """Type checking stubs"""
24423
+ pass
24424
+
24000
24425
  def _typecheckingstub__681e5c00b804be1ae6d3076ea32a17483eee30db6c96e73768c520d652064300(
24001
24426
  *,
24002
24427
  assign_public_ip: typing.Optional[builtins.str] = None,
@@ -24017,7 +24442,7 @@ def _typecheckingstub__005c21025a81827c3f5ed456b171eb7ffdf652583c7da0ff6ff671864
24017
24442
  *,
24018
24443
  target_nodes: builtins.str,
24019
24444
  container: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.ContainerPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24020
- ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EcsPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24445
+ ecs_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.MultiNodeEcsPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24021
24446
  eks_properties: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.EksPropertiesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24022
24447
  instance_types: typing.Optional[typing.Sequence[builtins.str]] = None,
24023
24448
  ) -> None:
@@ -24115,7 +24540,7 @@ def _typecheckingstub__4946f5f042ef067bff74424b1b71c92ab13e52a7f47a4271e02811052
24115
24540
  essential: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
24116
24541
  linux_parameters: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.LinuxParametersProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24117
24542
  log_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.LogConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
24118
- mount_points: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.MountPointsProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
24543
+ mount_points: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnJobDefinition.MountPointProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
24119
24544
  name: typing.Optional[builtins.str] = None,
24120
24545
  privileged: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
24121
24546
  readonly_root_filesystem: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,