aws-sdk-batch 1.80.0 → 1.82.0

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.
@@ -350,8 +350,8 @@ module Aws::Batch
350
350
  # job placement first. Compute environments must be in the `VALID` state
351
351
  # before you can associate them with a job queue. All of the compute
352
352
  # environments must be either EC2 (`EC2` or `SPOT`) or Fargate
353
- # (`FARGATE` or `FARGATE_SPOT`); EC2 and Fargate compute environments
354
- # can't be mixed.
353
+ # (`FARGATE` or `FARGATE_SPOT`); Amazon EC2 and Fargate compute
354
+ # environments can't be mixed.
355
355
  #
356
356
  # <note markdown="1"> All compute environments that are associated with a job queue must
357
357
  # share the same architecture. Batch doesn't support mixing compute
@@ -454,11 +454,11 @@ module Aws::Batch
454
454
  # compute resources.
455
455
  #
456
456
  # With `BEST_FIT_PROGRESSIVE`,`SPOT_CAPACITY_OPTIMIZED` and
457
- # `SPOT_PRICE_CAPACITY_OPTIMIZED` strategies using On-Demand or Spot
458
- # Instances, and the `BEST_FIT` strategy using Spot Instances, Batch
459
- # might need to exceed `maxvCpus` to meet your capacity requirements.
460
- # In this event, Batch never exceeds `maxvCpus` by more than a single
461
- # instance.
457
+ # `SPOT_PRICE_CAPACITY_OPTIMIZED` (recommended) strategies using
458
+ # On-Demand or Spot Instances, and the `BEST_FIT` strategy using Spot
459
+ # Instances, Batch might need to exceed `maxvCpus` to meet your
460
+ # capacity requirements. In this event, Batch never exceeds `maxvCpus`
461
+ # by more than a single instance.
462
462
  #
463
463
  #
464
464
  #
@@ -480,14 +480,12 @@ module Aws::Batch
480
480
  # @!attribute [rw] maxv_cpus
481
481
  # The maximum number of vCPUs that a compute environment can support.
482
482
  #
483
- # <note markdown="1"> With `BEST_FIT_PROGRESSIVE`, `SPOT_CAPACITY_OPTIMIZED` and
484
- # `SPOT_PRICE_CAPACITY_OPTIMIZED` allocation strategies using
483
+ # <note markdown="1"> With `BEST_FIT_PROGRESSIVE`,`SPOT_CAPACITY_OPTIMIZED` and
484
+ # `SPOT_PRICE_CAPACITY_OPTIMIZED` (recommended) strategies using
485
485
  # On-Demand or Spot Instances, and the `BEST_FIT` strategy using Spot
486
486
  # Instances, Batch might need to exceed `maxvCpus` to meet your
487
487
  # capacity requirements. In this event, Batch never exceeds `maxvCpus`
488
- # by more than a single instance. For example, no more than a single
489
- # instance from among those specified in your compute environment is
490
- # allocated.
488
+ # by more than a single instance.
491
489
  #
492
490
  # </note>
493
491
  # @return [Integer]
@@ -606,7 +604,8 @@ module Aws::Batch
606
604
  #
607
605
  # @!attribute [rw] instance_role
608
606
  # The Amazon ECS instance profile applied to Amazon EC2 instances in a
609
- # compute environment. You can specify the short name or full Amazon
607
+ # compute environment. This parameter is required for Amazon EC2
608
+ # instances types. You can specify the short name or full Amazon
610
609
  # Resource Name (ARN) of an instance profile. For example, `
611
610
  # ecsInstanceRole ` or
612
611
  # `arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole `.
@@ -624,11 +623,11 @@ module Aws::Batch
624
623
  # @return [String]
625
624
  #
626
625
  # @!attribute [rw] tags
627
- # Key-value pair tags to be applied to EC2 resources that are launched
628
- # in the compute environment. For Batch, these take the form of
629
- # `"String1": "String2"`, where `String1` is the tag key and `String2`
630
- # is the tag value-for example, `\{ "Name": "Batch Instance -
631
- # C4OnDemand" \}`. This is helpful for recognizing your Batch
626
+ # Key-value pair tags to be applied to Amazon EC2 resources that are
627
+ # launched in the compute environment. For Batch, these take the form
628
+ # of `"String1": "String2"`, where `String1` is the tag key and
629
+ # `String2` is the tag value-for example, `\{ "Name": "Batch Instance
630
+ # - C4OnDemand" \}`. This is helpful for recognizing your Batch
632
631
  # instances in the Amazon EC2 console. Updating these tags requires an
633
632
  # infrastructure update to the compute environment. For more
634
633
  # information, see [Updating compute environments][1] in the *Batch
@@ -710,11 +709,11 @@ module Aws::Batch
710
709
  # @!attribute [rw] launch_template
711
710
  # The launch template to use for your compute resources. Any other
712
711
  # compute resource parameters that you specify in a
713
- # CreateComputeEnvironment API operation override the same parameters
714
- # in the launch template. You must specify either the launch template
715
- # ID or launch template name in the request, but not both. For more
716
- # information, see [Launch template support][1] in the *Batch User
717
- # Guide*.
712
+ # [CreateComputeEnvironment][1] API operation override the same
713
+ # parameters in the launch template. You must specify either the
714
+ # launch template ID or launch template name in the request, but not
715
+ # both. For more information, see [Launch template support][2] in the
716
+ # *Batch User Guide*.
718
717
  #
719
718
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
720
719
  # resources. Don't specify it.
@@ -723,12 +722,13 @@ module Aws::Batch
723
722
  #
724
723
  #
725
724
  #
726
- # [1]: https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html
725
+ # [1]: https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html
726
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html
727
727
  # @return [Types::LaunchTemplateSpecification]
728
728
  #
729
729
  # @!attribute [rw] ec2_configuration
730
730
  # Provides information that's used to select Amazon Machine Images
731
- # (AMIs) for EC2 instances in the compute environment. If
731
+ # (AMIs) for Amazon EC2 instances in the compute environment. If
732
732
  # `Ec2Configuration` isn't specified, the default is `ECS_AL2`.
733
733
  #
734
734
  # One or two values can be provided.
@@ -785,13 +785,12 @@ module Aws::Batch
785
785
  # The maximum number of Amazon EC2 vCPUs that an environment can
786
786
  # reach.
787
787
  #
788
- # <note markdown="1"> With `BEST_FIT_PROGRESSIVE`, `SPOT_CAPACITY_OPTIMIZED`, and
789
- # `SPOT_PRICE_CAPACITY_OPTIMIZED` allocation strategies using
788
+ # <note markdown="1"> With `BEST_FIT_PROGRESSIVE`,`SPOT_CAPACITY_OPTIMIZED` and
789
+ # `SPOT_PRICE_CAPACITY_OPTIMIZED` (recommended) strategies using
790
790
  # On-Demand or Spot Instances, and the `BEST_FIT` strategy using Spot
791
791
  # Instances, Batch might need to exceed `maxvCpus` to meet your
792
792
  # capacity requirements. In this event, Batch never exceeds `maxvCpus`
793
- # by more than a single instance. That is, no more than a single
794
- # instance from among those specified in your compute environment.
793
+ # by more than a single instance.
795
794
  #
796
795
  # </note>
797
796
  # @return [Integer]
@@ -830,10 +829,10 @@ module Aws::Batch
830
829
  # The VPC subnets where the compute resources are launched. Fargate
831
830
  # compute resources can contain up to 16 subnets. For Fargate compute
832
831
  # resources, providing an empty list will be handled as if this
833
- # parameter wasn't specified and no change is made. For EC2 compute
834
- # resources, providing an empty list removes the VPC subnets from the
835
- # compute resource. For more information, see [VPCs and subnets][1] in
836
- # the *Amazon VPC User Guide*.
832
+ # parameter wasn't specified and no change is made. For Amazon EC2
833
+ # compute resources, providing an empty list removes the VPC subnets
834
+ # from the compute resource. For more information, see [VPCs and
835
+ # subnets][1] in the *Amazon VPC User Guide*.
837
836
  #
838
837
  # When updating a compute environment, changing the VPC subnets
839
838
  # requires an infrastructure update of the compute environment. For
@@ -866,13 +865,13 @@ module Aws::Batch
866
865
  # Fargate compute resources, where it can contain up to 5 security
867
866
  # groups. For Fargate compute resources, providing an empty list is
868
867
  # handled as if this parameter wasn't specified and no change is
869
- # made. For EC2 compute resources, providing an empty list removes the
870
- # security groups from the compute resource.
868
+ # made. For Amazon EC2 compute resources, providing an empty list
869
+ # removes the security groups from the compute resource.
871
870
  #
872
- # When updating a compute environment, changing the EC2 security
873
- # groups requires an infrastructure update of the compute environment.
874
- # For more information, see [Updating compute environments][1] in the
875
- # *Batch User Guide*.
871
+ # When updating a compute environment, changing the Amazon EC2
872
+ # security groups requires an infrastructure update of the compute
873
+ # environment. For more information, see [Updating compute
874
+ # environments][1] in the *Batch User Guide*.
876
875
  #
877
876
  #
878
877
  #
@@ -922,12 +921,12 @@ module Aws::Batch
922
921
  # This allocation strategy is only available for Spot Instance
923
922
  # compute resources.
924
923
  #
925
- # With both `BEST_FIT_PROGRESSIVE`, `SPOT_CAPACITY_OPTIMIZED`, and
926
- # `SPOT_PRICE_CAPACITY_OPTIMIZED` strategies using On-Demand or Spot
927
- # Instances, and the `BEST_FIT` strategy using Spot Instances, Batch
928
- # might need to exceed `maxvCpus` to meet your capacity requirements.
929
- # In this event, Batch never exceeds `maxvCpus` by more than a single
930
- # instance.
924
+ # With `BEST_FIT_PROGRESSIVE`,`SPOT_CAPACITY_OPTIMIZED` and
925
+ # `SPOT_PRICE_CAPACITY_OPTIMIZED` (recommended) strategies using
926
+ # On-Demand or Spot Instances, and the `BEST_FIT` strategy using Spot
927
+ # Instances, Batch might need to exceed `maxvCpus` to meet your
928
+ # capacity requirements. In this event, Batch never exceeds `maxvCpus`
929
+ # by more than a single instance.
931
930
  #
932
931
  #
933
932
  #
@@ -979,9 +978,9 @@ module Aws::Batch
979
978
  # instances with SSH. To remove the Amazon EC2 key pair, set this
980
979
  # value to an empty string.
981
980
  #
982
- # When updating a compute environment, changing the EC2 key pair
983
- # requires an infrastructure update of the compute environment. For
984
- # more information, see [Updating compute environments][1] in the
981
+ # When updating a compute environment, changing the Amazon EC2 key
982
+ # pair requires an infrastructure update of the compute environment.
983
+ # For more information, see [Updating compute environments][1] in the
985
984
  # *Batch User Guide*.
986
985
  #
987
986
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
@@ -996,9 +995,9 @@ module Aws::Batch
996
995
  #
997
996
  # @!attribute [rw] instance_role
998
997
  # The Amazon ECS instance profile applied to Amazon EC2 instances in a
999
- # compute environment. You can specify the short name or full Amazon
1000
- # Resource Name (ARN) of an instance profile. For example, `
1001
- # ecsInstanceRole ` or
998
+ # compute environment. Required for Amazon EC2 instances. You can
999
+ # specify the short name or full Amazon Resource Name (ARN) of an
1000
+ # instance profile. For example, ` ecsInstanceRole ` or
1002
1001
  # `arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole `.
1003
1002
  # For more information, see [Amazon ECS instance role][1] in the
1004
1003
  # *Batch User Guide*.
@@ -1020,11 +1019,11 @@ module Aws::Batch
1020
1019
  # @return [String]
1021
1020
  #
1022
1021
  # @!attribute [rw] tags
1023
- # Key-value pair tags to be applied to EC2 resources that are launched
1024
- # in the compute environment. For Batch, these take the form of
1025
- # `"String1": "String2"`, where `String1` is the tag key and `String2`
1026
- # is the tag value-for example, `\{ "Name": "Batch Instance -
1027
- # C4OnDemand" \}`. This is helpful for recognizing your Batch
1022
+ # Key-value pair tags to be applied to Amazon EC2 resources that are
1023
+ # launched in the compute environment. For Batch, these take the form
1024
+ # of `"String1": "String2"`, where `String1` is the tag key and
1025
+ # `String2` is the tag value-for example, `\{ "Name": "Batch Instance
1026
+ # - C4OnDemand" \}`. This is helpful for recognizing your Batch
1028
1027
  # instances in the Amazon EC2 console. These tags aren't seen when
1029
1028
  # using the Batch `ListTagsForResource` API operation.
1030
1029
  #
@@ -1124,14 +1123,15 @@ module Aws::Batch
1124
1123
  #
1125
1124
  # @!attribute [rw] ec2_configuration
1126
1125
  # Provides information used to select Amazon Machine Images (AMIs) for
1127
- # EC2 instances in the compute environment. If `Ec2Configuration`
1128
- # isn't specified, the default is `ECS_AL2`.
1126
+ # Amazon EC2 instances in the compute environment. If
1127
+ # `Ec2Configuration` isn't specified, the default is `ECS_AL2`.
1129
1128
  #
1130
1129
  # When updating a compute environment, changing this setting requires
1131
1130
  # an infrastructure update of the compute environment. For more
1132
1131
  # information, see [Updating compute environments][1] in the *Batch
1133
- # User Guide*. To remove the EC2 configuration and any custom AMI ID
1134
- # specified in `imageIdOverride`, set this value to an empty string.
1132
+ # User Guide*. To remove the Amazon EC2 configuration and any custom
1133
+ # AMI ID specified in `imageIdOverride`, set this value to an empty
1134
+ # string.
1135
1135
  #
1136
1136
  # One or two values can be provided.
1137
1137
  #
@@ -1258,8 +1258,8 @@ module Aws::Batch
1258
1258
  #
1259
1259
  # @!attribute [rw] vcpus
1260
1260
  # The number of vCPUs reserved for the container. For jobs that run on
1261
- # EC2 resources, you can specify the vCPU requirement for the job
1262
- # using `resourceRequirements`, but you can't specify the vCPU
1261
+ # Amazon EC2 resources, you can specify the vCPU requirement for the
1262
+ # job using `resourceRequirements`, but you can't specify the vCPU
1263
1263
  # requirements in both the `vcpus` and `resourceRequirements` object.
1264
1264
  # This parameter maps to `CpuShares` in the [Create a container][1]
1265
1265
  # section of the [Docker Remote API][2] and the `--cpu-shares` option
@@ -1282,7 +1282,7 @@ module Aws::Batch
1282
1282
  # @return [Integer]
1283
1283
  #
1284
1284
  # @!attribute [rw] memory
1285
- # For jobs running on EC2 resources that didn't specify memory
1285
+ # For jobs running on Amazon EC2 resources that didn't specify memory
1286
1286
  # requirements using `resourceRequirements`, the number of MiB of
1287
1287
  # memory reserved for the job. For other jobs, including all run on
1288
1288
  # Fargate resources, see `resourceRequirements`.
@@ -1378,7 +1378,7 @@ module Aws::Batch
1378
1378
  # @return [String]
1379
1379
  #
1380
1380
  # @!attribute [rw] exit_code
1381
- # The exit code to return upon completion.
1381
+ # The exit code returned upon completion.
1382
1382
  # @return [Integer]
1383
1383
  #
1384
1384
  # @!attribute [rw] reason
@@ -1445,7 +1445,7 @@ module Aws::Batch
1445
1445
  # documentation.
1446
1446
  #
1447
1447
  # <note markdown="1"> Batch currently supports a subset of the logging drivers available
1448
- # to the Docker daemon (shown in the LogConfiguration data type).
1448
+ # to the Docker daemon (shown in the [LogConfiguration][5] data type).
1449
1449
  # Additional log drivers might be available in future releases of the
1450
1450
  # Amazon ECS container agent.
1451
1451
  #
@@ -1462,7 +1462,7 @@ module Aws::Batch
1462
1462
  # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
1463
1463
  # containers placed on that instance can use these log configuration
1464
1464
  # options. For more information, see [Amazon ECS container agent
1465
- # configuration][5] in the *Amazon Elastic Container Service Developer
1465
+ # configuration][6] in the *Amazon Elastic Container Service Developer
1466
1466
  # Guide*.
1467
1467
  #
1468
1468
  # </note>
@@ -1473,7 +1473,8 @@ module Aws::Batch
1473
1473
  # [2]: https://docs.docker.com/engine/api/v1.23/
1474
1474
  # [3]: https://docs.docker.com/engine/reference/run/
1475
1475
  # [4]: https://docs.docker.com/engine/admin/logging/overview/
1476
- # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
1476
+ # [5]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-logconfiguration.html
1477
+ # [6]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
1477
1478
  # @return [Types::LogConfiguration]
1478
1479
  #
1479
1480
  # @!attribute [rw] secrets
@@ -1487,14 +1488,14 @@ module Aws::Batch
1487
1488
  #
1488
1489
  # @!attribute [rw] network_configuration
1489
1490
  # The network configuration for jobs that are running on Fargate
1490
- # resources. Jobs that are running on EC2 resources must not specify
1491
- # this parameter.
1491
+ # resources. Jobs that are running on Amazon EC2 resources must not
1492
+ # specify this parameter.
1492
1493
  # @return [Types::NetworkConfiguration]
1493
1494
  #
1494
1495
  # @!attribute [rw] fargate_platform_configuration
1495
1496
  # The platform configuration for jobs that are running on Fargate
1496
- # resources. Jobs that are running on EC2 resources must not specify
1497
- # this parameter.
1497
+ # resources. Jobs that are running on Amazon EC2 resources must not
1498
+ # specify this parameter.
1498
1499
  # @return [Types::FargatePlatformConfiguration]
1499
1500
  #
1500
1501
  # @!attribute [rw] ephemeral_storage
@@ -1508,6 +1509,10 @@ module Aws::Batch
1508
1509
  # Batch jobs on Fargate.
1509
1510
  # @return [Types::RuntimePlatform]
1510
1511
  #
1512
+ # @!attribute [rw] repository_credentials
1513
+ # The private repository authentication credentials to use.
1514
+ # @return [Types::RepositoryCredentials]
1515
+ #
1511
1516
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerDetail AWS API Documentation
1512
1517
  #
1513
1518
  class ContainerDetail < Struct.new(
@@ -1538,7 +1543,8 @@ module Aws::Batch
1538
1543
  :network_configuration,
1539
1544
  :fargate_platform_configuration,
1540
1545
  :ephemeral_storage,
1541
- :runtime_platform)
1546
+ :runtime_platform,
1547
+ :repository_credentials)
1542
1548
  SENSITIVE = []
1543
1549
  include Aws::Structure
1544
1550
  end
@@ -1556,10 +1562,10 @@ module Aws::Batch
1556
1562
  # This parameter is deprecated, use `resourceRequirements` to override
1557
1563
  # the `vcpus` parameter that's set in the job definition. It's not
1558
1564
  # supported for jobs running on Fargate resources. For jobs that run
1559
- # on EC2 resources, it overrides the `vcpus` parameter set in the job
1560
- # definition, but doesn't override any vCPU requirement specified in
1561
- # the `resourceRequirements` structure in the job definition. To
1562
- # override vCPU requirements that are specified in the
1565
+ # on Amazon EC2 resources, it overrides the `vcpus` parameter set in
1566
+ # the job definition, but doesn't override any vCPU requirement
1567
+ # specified in the `resourceRequirements` structure in the job
1568
+ # definition. To override vCPU requirements that are specified in the
1563
1569
  # `resourceRequirements` structure in the job definition,
1564
1570
  # `resourceRequirements` must be specified in the `SubmitJob` request,
1565
1571
  # with `type` set to `VCPU` and `value` set to the new value. For more
@@ -1575,9 +1581,9 @@ module Aws::Batch
1575
1581
  # This parameter is deprecated, use `resourceRequirements` to override
1576
1582
  # the memory requirements specified in the job definition. It's not
1577
1583
  # supported for jobs running on Fargate resources. For jobs that run
1578
- # on EC2 resources, it overrides the `memory` parameter set in the job
1579
- # definition, but doesn't override any memory requirement that's
1580
- # specified in the `resourceRequirements` structure in the job
1584
+ # on Amazon EC2 resources, it overrides the `memory` parameter set in
1585
+ # the job definition, but doesn't override any memory requirement
1586
+ # that's specified in the `resourceRequirements` structure in the job
1581
1587
  # definition. To override memory requirements that are specified in
1582
1588
  # the `resourceRequirements` structure in the job definition,
1583
1589
  # `resourceRequirements` must be specified in the `SubmitJob` request,
@@ -1644,8 +1650,8 @@ module Aws::Batch
1644
1650
  # a job.
1645
1651
  #
1646
1652
  # @!attribute [rw] image
1647
- # The image used to start a container. This string is passed directly
1648
- # to the Docker daemon. Images in the Docker Hub registry are
1653
+ # Required. The image used to start a container. This string is passed
1654
+ # directly to the Docker daemon. Images in the Docker Hub registry are
1649
1655
  # available by default. Other repositories are specified with `
1650
1656
  # repository-url/image:tag `. It can be 255 characters long. It can
1651
1657
  # contain uppercase and lowercase letters, numbers, hyphens (-),
@@ -1688,8 +1694,9 @@ module Aws::Batch
1688
1694
  # @!attribute [rw] vcpus
1689
1695
  # This parameter is deprecated, use `resourceRequirements` to specify
1690
1696
  # the vCPU requirements for the job definition. It's not supported
1691
- # for jobs running on Fargate resources. For jobs running on EC2
1692
- # resources, it specifies the number of vCPUs reserved for the job.
1697
+ # for jobs running on Fargate resources. For jobs running on Amazon
1698
+ # EC2 resources, it specifies the number of vCPUs reserved for the
1699
+ # job.
1693
1700
  #
1694
1701
  # Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
1695
1702
  # `CpuShares` in the [Create a container][1] section of the [Docker
@@ -1707,8 +1714,8 @@ module Aws::Batch
1707
1714
  # @!attribute [rw] memory
1708
1715
  # This parameter is deprecated, use `resourceRequirements` to specify
1709
1716
  # the memory requirements for the job definition. It's not supported
1710
- # for jobs running on Fargate resources. For jobs that run on EC2
1711
- # resources, it specifies the memory hard limit (in MiB) for a
1717
+ # for jobs running on Fargate resources. For jobs that run on Amazon
1718
+ # EC2 resources, it specifies the memory hard limit (in MiB) for a
1712
1719
  # container. If your container attempts to exceed the specified
1713
1720
  # number, it's terminated. You must specify at least 4 MiB of memory
1714
1721
  # for a job using this parameter. The memory hard limit can be
@@ -1886,7 +1893,7 @@ module Aws::Batch
1886
1893
  # drivers][4] in the Docker documentation.
1887
1894
  #
1888
1895
  # <note markdown="1"> Batch currently supports a subset of the logging drivers available
1889
- # to the Docker daemon (shown in the LogConfiguration data type).
1896
+ # to the Docker daemon (shown in the [LogConfiguration][5] data type).
1890
1897
  #
1891
1898
  # </note>
1892
1899
  #
@@ -1901,7 +1908,7 @@ module Aws::Batch
1901
1908
  # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
1902
1909
  # containers placed on that instance can use these log configuration
1903
1910
  # options. For more information, see [Amazon ECS container agent
1904
- # configuration][5] in the *Amazon Elastic Container Service Developer
1911
+ # configuration][6] in the *Amazon Elastic Container Service Developer
1905
1912
  # Guide*.
1906
1913
  #
1907
1914
  # </note>
@@ -1912,7 +1919,8 @@ module Aws::Batch
1912
1919
  # [2]: https://docs.docker.com/engine/api/v1.23/
1913
1920
  # [3]: https://docs.docker.com/engine/reference/run/
1914
1921
  # [4]: https://docs.docker.com/engine/admin/logging/overview/
1915
- # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
1922
+ # [5]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-batch-jobdefinition-containerproperties-logconfiguration.html
1923
+ # [6]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
1916
1924
  # @return [Types::LogConfiguration]
1917
1925
  #
1918
1926
  # @!attribute [rw] secrets
@@ -1926,14 +1934,14 @@ module Aws::Batch
1926
1934
  #
1927
1935
  # @!attribute [rw] network_configuration
1928
1936
  # The network configuration for jobs that are running on Fargate
1929
- # resources. Jobs that are running on EC2 resources must not specify
1930
- # this parameter.
1937
+ # resources. Jobs that are running on Amazon EC2 resources must not
1938
+ # specify this parameter.
1931
1939
  # @return [Types::NetworkConfiguration]
1932
1940
  #
1933
1941
  # @!attribute [rw] fargate_platform_configuration
1934
1942
  # The platform configuration for jobs that are running on Fargate
1935
- # resources. Jobs that are running on EC2 resources must not specify
1936
- # this parameter.
1943
+ # resources. Jobs that are running on Amazon EC2 resources must not
1944
+ # specify this parameter.
1937
1945
  # @return [Types::FargatePlatformConfiguration]
1938
1946
  #
1939
1947
  # @!attribute [rw] ephemeral_storage
@@ -1947,6 +1955,10 @@ module Aws::Batch
1947
1955
  # Batch jobs on Fargate.
1948
1956
  # @return [Types::RuntimePlatform]
1949
1957
  #
1958
+ # @!attribute [rw] repository_credentials
1959
+ # The private repository authentication credentials to use.
1960
+ # @return [Types::RepositoryCredentials]
1961
+ #
1950
1962
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerProperties AWS API Documentation
1951
1963
  #
1952
1964
  class ContainerProperties < Struct.new(
@@ -1971,7 +1983,8 @@ module Aws::Batch
1971
1983
  :network_configuration,
1972
1984
  :fargate_platform_configuration,
1973
1985
  :ephemeral_storage,
1974
- :runtime_platform)
1986
+ :runtime_platform,
1987
+ :repository_credentials)
1975
1988
  SENSITIVE = []
1976
1989
  include Aws::Structure
1977
1990
  end
@@ -2464,7 +2477,8 @@ module Aws::Batch
2464
2477
  # either be an ARN in the format
2465
2478
  # `arn:aws:batch:$\{Region\}:$\{Account\}:job-definition/$\{JobDefinitionName\}:$\{Revision\}`
2466
2479
  # or a short version using the form
2467
- # `$\{JobDefinitionName\}:$\{Revision\}`.
2480
+ # `$\{JobDefinitionName\}:$\{Revision\}`. This parameter can't be
2481
+ # used with other parameters.
2468
2482
  # @return [Array<String>]
2469
2483
  #
2470
2484
  # @!attribute [rw] max_results
@@ -2829,16 +2843,24 @@ module Aws::Batch
2829
2843
  # (for example `P4` and `G4`) and can be used for all non Amazon
2830
2844
  # Web Services Graviton-based instance types.
2831
2845
  #
2846
+ # ECS\_AL2023
2847
+ #
2848
+ # : [Amazon Linux 2023][3]: Batch supports Amazon Linux 2023.
2849
+ #
2850
+ # <note markdown="1"> Amazon Linux 2023 does not support `A1` instances.
2851
+ #
2852
+ # </note>
2853
+ #
2832
2854
  # ECS\_AL1
2833
2855
  #
2834
- # : [Amazon Linux][3]. Amazon Linux has reached the end-of-life of
2856
+ # : [Amazon Linux][4]. Amazon Linux has reached the end-of-life of
2835
2857
  # standard support. For more information, see [Amazon Linux
2836
- # AMI][4].
2858
+ # AMI][5].
2837
2859
  #
2838
2860
  # EKS
2839
2861
  #
2840
2862
  # : If the `imageIdOverride` parameter isn't specified, then a recent
2841
- # [Amazon EKS-optimized Amazon Linux AMI][5] (`EKS_AL2`) is used. If
2863
+ # [Amazon EKS-optimized Amazon Linux AMI][6] (`EKS_AL2`) is used. If
2842
2864
  # a new image type is specified in an update, but neither an
2843
2865
  # `imageId` nor a `imageIdOverride` parameter is specified, then the
2844
2866
  # latest Amazon EKS optimized AMI for that image type that Batch
@@ -2846,11 +2868,11 @@ module Aws::Batch
2846
2868
  #
2847
2869
  # EKS\_AL2
2848
2870
  #
2849
- # : [Amazon Linux 2][5]: Default for all non-GPU instance families.
2871
+ # : [Amazon Linux 2][6]: Default for all non-GPU instance families.
2850
2872
  #
2851
2873
  # EKS\_AL2\_NVIDIA
2852
2874
  #
2853
- # : [Amazon Linux 2 (accelerated)][5]: Default for all GPU instance
2875
+ # : [Amazon Linux 2 (accelerated)][6]: Default for all GPU instance
2854
2876
  # families (for example, `P4` and `G4`) and can be used for all
2855
2877
  # non Amazon Web Services Graviton-based instance types.
2856
2878
  #
@@ -2858,9 +2880,10 @@ module Aws::Batch
2858
2880
  #
2859
2881
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
2860
2882
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami
2861
- # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami
2862
- # [4]: http://aws.amazon.com/amazon-linux-ami/
2863
- # [5]: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
2883
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
2884
+ # [4]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami
2885
+ # [5]: http://aws.amazon.com/amazon-linux-ami/
2886
+ # [6]: https://docs.aws.amazon.com/eks/latest/userguide/eks-optimized-ami.html
2864
2887
  # @return [String]
2865
2888
  #
2866
2889
  # @!attribute [rw] image_id_override
@@ -2899,11 +2922,289 @@ module Aws::Batch
2899
2922
  include Aws::Structure
2900
2923
  end
2901
2924
 
2925
+ # An object that contains the properties for the Amazon ECS resources of
2926
+ # a job.
2927
+ #
2928
+ # @!attribute [rw] task_properties
2929
+ # An object that contains the properties for the Amazon ECS task
2930
+ # definition of a job.
2931
+ #
2932
+ # <note markdown="1"> This object is currently limited to one element.
2933
+ #
2934
+ # </note>
2935
+ # @return [Array<Types::EcsTaskProperties>]
2936
+ #
2937
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EcsProperties AWS API Documentation
2938
+ #
2939
+ class EcsProperties < Struct.new(
2940
+ :task_properties)
2941
+ SENSITIVE = []
2942
+ include Aws::Structure
2943
+ end
2944
+
2945
+ # An object that contains the details for the Amazon ECS resources of a
2946
+ # job.
2947
+ #
2948
+ # @!attribute [rw] task_properties
2949
+ # The properties for the Amazon ECS task definition of a job.
2950
+ # @return [Array<Types::EcsTaskDetails>]
2951
+ #
2952
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EcsPropertiesDetail AWS API Documentation
2953
+ #
2954
+ class EcsPropertiesDetail < Struct.new(
2955
+ :task_properties)
2956
+ SENSITIVE = []
2957
+ include Aws::Structure
2958
+ end
2959
+
2960
+ # An object that contains overrides for the Amazon ECS task definition
2961
+ # of a job.
2962
+ #
2963
+ # @!attribute [rw] task_properties
2964
+ # The overrides for the Amazon ECS task definition of a job.
2965
+ #
2966
+ # <note markdown="1"> This object is currently limited to one element.
2967
+ #
2968
+ # </note>
2969
+ # @return [Array<Types::TaskPropertiesOverride>]
2970
+ #
2971
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EcsPropertiesOverride AWS API Documentation
2972
+ #
2973
+ class EcsPropertiesOverride < Struct.new(
2974
+ :task_properties)
2975
+ SENSITIVE = []
2976
+ include Aws::Structure
2977
+ end
2978
+
2979
+ # The details of a task definition that describes the container and
2980
+ # volume definitions of an Amazon ECS task.
2981
+ #
2982
+ # @!attribute [rw] containers
2983
+ # A list of containers that are included in the `taskProperties` list.
2984
+ # @return [Array<Types::TaskContainerDetails>]
2985
+ #
2986
+ # @!attribute [rw] container_instance_arn
2987
+ # The Amazon Resource Name (ARN) of the container instance that hosts
2988
+ # the task.
2989
+ # @return [String]
2990
+ #
2991
+ # @!attribute [rw] task_arn
2992
+ # The ARN of the Amazon ECS task.
2993
+ # @return [String]
2994
+ #
2995
+ # @!attribute [rw] ephemeral_storage
2996
+ # The amount of ephemeral storage allocated for the task.
2997
+ # @return [Types::EphemeralStorage]
2998
+ #
2999
+ # @!attribute [rw] execution_role_arn
3000
+ # The Amazon Resource Name (ARN) of the execution role that Batch can
3001
+ # assume. For more information, see [Batch execution IAM role][1] in
3002
+ # the *Batch User Guide*.
3003
+ #
3004
+ #
3005
+ #
3006
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html
3007
+ # @return [String]
3008
+ #
3009
+ # @!attribute [rw] platform_version
3010
+ # The Fargate platform version where the jobs are running.
3011
+ # @return [String]
3012
+ #
3013
+ # @!attribute [rw] ipc_mode
3014
+ # The IPC resource namespace to use for the containers in the task.
3015
+ # @return [String]
3016
+ #
3017
+ # @!attribute [rw] task_role_arn
3018
+ # The Amazon Resource Name (ARN) of the IAM role that the container
3019
+ # can assume for Amazon Web Services permissions. For more
3020
+ # information, see [IAM roles for tasks][1] in the *Amazon Elastic
3021
+ # Container Service Developer Guide*.
3022
+ #
3023
+ # <note markdown="1"> This is object is comparable to [ContainerProperties:jobRoleArn][2].
3024
+ #
3025
+ # </note>
3026
+ #
3027
+ #
3028
+ #
3029
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html
3030
+ # [2]: https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html
3031
+ # @return [String]
3032
+ #
3033
+ # @!attribute [rw] pid_mode
3034
+ # The process namespace to use for the containers in the task.
3035
+ # @return [String]
3036
+ #
3037
+ # @!attribute [rw] network_configuration
3038
+ # The network configuration for jobs that are running on Fargate
3039
+ # resources. Jobs that are running on Amazon EC2 resources must not
3040
+ # specify this parameter.
3041
+ # @return [Types::NetworkConfiguration]
3042
+ #
3043
+ # @!attribute [rw] runtime_platform
3044
+ # An object that represents the compute environment architecture for
3045
+ # Batch jobs on Fargate.
3046
+ # @return [Types::RuntimePlatform]
3047
+ #
3048
+ # @!attribute [rw] volumes
3049
+ # A list of data volumes used in a job.
3050
+ # @return [Array<Types::Volume>]
3051
+ #
3052
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EcsTaskDetails AWS API Documentation
3053
+ #
3054
+ class EcsTaskDetails < Struct.new(
3055
+ :containers,
3056
+ :container_instance_arn,
3057
+ :task_arn,
3058
+ :ephemeral_storage,
3059
+ :execution_role_arn,
3060
+ :platform_version,
3061
+ :ipc_mode,
3062
+ :task_role_arn,
3063
+ :pid_mode,
3064
+ :network_configuration,
3065
+ :runtime_platform,
3066
+ :volumes)
3067
+ SENSITIVE = []
3068
+ include Aws::Structure
3069
+ end
3070
+
3071
+ # The properties for a task definition that describes the container and
3072
+ # volume definitions of an Amazon ECS task. You can specify which Docker
3073
+ # images to use, the required resources, and other configurations
3074
+ # related to launching the task definition through an Amazon ECS service
3075
+ # or task.
3076
+ #
3077
+ # @!attribute [rw] containers
3078
+ # This object is a list of containers.
3079
+ # @return [Array<Types::TaskContainerProperties>]
3080
+ #
3081
+ # @!attribute [rw] ephemeral_storage
3082
+ # The amount of ephemeral storage to allocate for the task. This
3083
+ # parameter is used to expand the total amount of ephemeral storage
3084
+ # available, beyond the default amount, for tasks hosted on Fargate.
3085
+ # @return [Types::EphemeralStorage]
3086
+ #
3087
+ # @!attribute [rw] execution_role_arn
3088
+ # The Amazon Resource Name (ARN) of the execution role that Batch can
3089
+ # assume. For jobs that run on Fargate resources, you must provide an
3090
+ # execution role. For more information, see [Batch execution IAM
3091
+ # role][1] in the *Batch User Guide*.
3092
+ #
3093
+ #
3094
+ #
3095
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html
3096
+ # @return [String]
3097
+ #
3098
+ # @!attribute [rw] platform_version
3099
+ # The Fargate platform version where the jobs are running. A platform
3100
+ # version is specified only for jobs that are running on Fargate
3101
+ # resources. If one isn't specified, the `LATEST` platform version is
3102
+ # used by default. This uses a recent, approved version of the Fargate
3103
+ # platform for compute resources. For more information, see [Fargate
3104
+ # platform versions][1] in the *Amazon Elastic Container Service
3105
+ # Developer Guide*.
3106
+ #
3107
+ #
3108
+ #
3109
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
3110
+ # @return [String]
3111
+ #
3112
+ # @!attribute [rw] ipc_mode
3113
+ # The IPC resource namespace to use for the containers in the task.
3114
+ # The valid values are `host`, `task`, or `none`.
3115
+ #
3116
+ # If `host` is specified, all containers within the tasks that
3117
+ # specified the `host` IPC mode on the same container instance share
3118
+ # the same IPC resources with the host Amazon EC2 instance.
3119
+ #
3120
+ # If `task` is specified, all containers within the specified `task`
3121
+ # share the same IPC resources.
3122
+ #
3123
+ # If `none` is specified, the IPC resources within the containers of a
3124
+ # task are private, and are not shared with other containers in a task
3125
+ # or on the container instance.
3126
+ #
3127
+ # If no value is specified, then the IPC resource namespace sharing
3128
+ # depends on the Docker daemon setting on the container instance. For
3129
+ # more information, see [IPC settings][1] in the Docker run reference.
3130
+ #
3131
+ #
3132
+ #
3133
+ # [1]: https://docs.docker.com/engine/reference/run/#ipc-settings---ipc
3134
+ # @return [String]
3135
+ #
3136
+ # @!attribute [rw] task_role_arn
3137
+ # The Amazon Resource Name (ARN) that's associated with the Amazon
3138
+ # ECS task.
3139
+ #
3140
+ # <note markdown="1"> This is object is comparable to [ContainerProperties:jobRoleArn][1].
3141
+ #
3142
+ # </note>
3143
+ #
3144
+ #
3145
+ #
3146
+ # [1]: https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html
3147
+ # @return [String]
3148
+ #
3149
+ # @!attribute [rw] pid_mode
3150
+ # The process namespace to use for the containers in the task. The
3151
+ # valid values are `host` or `task`. For example, monitoring sidecars
3152
+ # might need `pidMode` to access information about other containers
3153
+ # running in the same task.
3154
+ #
3155
+ # If `host` is specified, all containers within the tasks that
3156
+ # specified the `host` PID mode on the same container instance share
3157
+ # the process namespace with the host Amazon EC2 instance.
3158
+ #
3159
+ # If `task` is specified, all containers within the specified task
3160
+ # share the same process namespace.
3161
+ #
3162
+ # If no value is specified, the default is a private namespace for
3163
+ # each container. For more information, see [PID settings][1] in the
3164
+ # Docker run reference.
3165
+ #
3166
+ #
3167
+ #
3168
+ # [1]: https://docs.docker.com/engine/reference/run/#pid-settings---pid
3169
+ # @return [String]
3170
+ #
3171
+ # @!attribute [rw] network_configuration
3172
+ # The network configuration for jobs that are running on Fargate
3173
+ # resources. Jobs that are running on Amazon EC2 resources must not
3174
+ # specify this parameter.
3175
+ # @return [Types::NetworkConfiguration]
3176
+ #
3177
+ # @!attribute [rw] runtime_platform
3178
+ # An object that represents the compute environment architecture for
3179
+ # Batch jobs on Fargate.
3180
+ # @return [Types::RuntimePlatform]
3181
+ #
3182
+ # @!attribute [rw] volumes
3183
+ # A list of volumes that are associated with the job.
3184
+ # @return [Array<Types::Volume>]
3185
+ #
3186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EcsTaskProperties AWS API Documentation
3187
+ #
3188
+ class EcsTaskProperties < Struct.new(
3189
+ :containers,
3190
+ :ephemeral_storage,
3191
+ :execution_role_arn,
3192
+ :platform_version,
3193
+ :ipc_mode,
3194
+ :task_role_arn,
3195
+ :pid_mode,
3196
+ :network_configuration,
3197
+ :runtime_platform,
3198
+ :volumes)
3199
+ SENSITIVE = []
3200
+ include Aws::Structure
3201
+ end
3202
+
2902
3203
  # An object that represents the details for an attempt for a job attempt
2903
3204
  # that an Amazon EKS container runs.
2904
3205
  #
2905
3206
  # @!attribute [rw] exit_code
2906
- # The exit code for the job attempt. A non-zero exit code is
3207
+ # The exit code returned for the job attempt. A non-zero exit code is
2907
3208
  # considered failed.
2908
3209
  # @return [Integer]
2909
3210
  #
@@ -2929,6 +3230,10 @@ module Aws::Batch
2929
3230
  # attempt.
2930
3231
  # @return [Array<Types::EksAttemptContainerDetail>]
2931
3232
  #
3233
+ # @!attribute [rw] init_containers
3234
+ # The details for the init containers.
3235
+ # @return [Array<Types::EksAttemptContainerDetail>]
3236
+ #
2932
3237
  # @!attribute [rw] pod_name
2933
3238
  # The name of the pod for this job attempt.
2934
3239
  # @return [String]
@@ -2959,6 +3264,7 @@ module Aws::Batch
2959
3264
  #
2960
3265
  class EksAttemptDetail < Struct.new(
2961
3266
  :containers,
3267
+ :init_containers,
2962
3268
  :pod_name,
2963
3269
  :node_name,
2964
3270
  :started_at,
@@ -3064,8 +3370,8 @@ module Aws::Batch
3064
3370
  # `$`, and the resulting string isn't expanded. For example,
3065
3371
  # `$$(VAR_NAME)` is passed as `$(VAR_NAME)` whether or not the
3066
3372
  # `VAR_NAME` environment variable exists. For more information, see
3067
- # [CMD][3] in the *Dockerfile reference* and [Define a command and
3068
- # arguments for a pod][4] in the *Kubernetes documentation*.
3373
+ # [Dockerfile reference: CMD][3] and [Define a command and arguments
3374
+ # for a pod][4] in the *Kubernetes documentation*.
3069
3375
  #
3070
3376
  #
3071
3377
  #
@@ -3180,8 +3486,8 @@ module Aws::Batch
3180
3486
  # `$` and the resulting string isn't expanded. For example,
3181
3487
  # `$$(VAR_NAME)` is passed as `$(VAR_NAME)` whether or not the
3182
3488
  # `VAR_NAME` environment variable exists. For more information, see
3183
- # [CMD][3] in the *Dockerfile reference* and [Define a command and
3184
- # arguments for a pod][4] in the *Kubernetes documentation*.
3489
+ # [Dockerfile reference: CMD][3] and [Define a command and arguments
3490
+ # for a pod][4] in the *Kubernetes documentation*.
3185
3491
  #
3186
3492
  #
3187
3493
  #
@@ -3212,7 +3518,7 @@ module Aws::Batch
3212
3518
  # @return [Types::EksContainerResourceRequirements]
3213
3519
  #
3214
3520
  # @!attribute [rw] exit_code
3215
- # The exit code for the job attempt. A non-zero exit code is
3521
+ # The exit code returned for the job attempt. A non-zero exit code is
3216
3522
  # considered failed.
3217
3523
  # @return [Integer]
3218
3524
  #
@@ -3280,7 +3586,16 @@ module Aws::Batch
3280
3586
  end
3281
3587
 
3282
3588
  # Object representing any Kubernetes overrides to a job definition
3283
- # that's used in a SubmitJob API operation.
3589
+ # that's used in a [SubmitJob][1] API operation.
3590
+ #
3591
+ #
3592
+ #
3593
+ # [1]: https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html
3594
+ #
3595
+ # @!attribute [rw] name
3596
+ # A pointer to the container that you want to override. The name must
3597
+ # match a unique container name that you wish to override.
3598
+ # @return [String]
3284
3599
  #
3285
3600
  # @!attribute [rw] image
3286
3601
  # The override of the Docker image that's used to start the
@@ -3295,9 +3610,9 @@ module Aws::Batch
3295
3610
  # @!attribute [rw] args
3296
3611
  # The arguments to the entrypoint to send to the container that
3297
3612
  # overrides the default arguments from the Docker image or the job
3298
- # definition. For more information, see [CMD][1] in the *Dockerfile
3299
- # reference* and [Define a command an arguments for a pod][2] in the
3300
- # *Kubernetes documentation*.
3613
+ # definition. For more information, see [Dockerfile reference: CMD][1]
3614
+ # and [Define a command an arguments for a pod][2] in the *Kubernetes
3615
+ # documentation*.
3301
3616
  #
3302
3617
  #
3303
3618
  #
@@ -3332,6 +3647,7 @@ module Aws::Batch
3332
3647
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EksContainerOverride AWS API Documentation
3333
3648
  #
3334
3649
  class EksContainerOverride < Struct.new(
3650
+ :name,
3335
3651
  :image,
3336
3652
  :command,
3337
3653
  :args,
@@ -3705,6 +4021,23 @@ module Aws::Batch
3705
4021
  # The properties of the container that's used on the Amazon EKS pod.
3706
4022
  # @return [Array<Types::EksContainer>]
3707
4023
  #
4024
+ # @!attribute [rw] init_containers
4025
+ # These containers run before application containers, always runs to
4026
+ # completion, and must complete successfully before the next container
4027
+ # starts. These containers are registered with the Amazon EKS
4028
+ # Connector agent and persists the registration information in the
4029
+ # Kubernetes backend data store. For more information, see [Init
4030
+ # Containers][1] in the *Kubernetes documentation*.
4031
+ #
4032
+ # <note markdown="1"> This object is limited to 10 elements
4033
+ #
4034
+ # </note>
4035
+ #
4036
+ #
4037
+ #
4038
+ # [1]: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
4039
+ # @return [Array<Types::EksContainer>]
4040
+ #
3708
4041
  # @!attribute [rw] volumes
3709
4042
  # Specifies the volumes for a job definition that uses Amazon EKS
3710
4043
  # resources.
@@ -3720,6 +4053,16 @@ module Aws::Batch
3720
4053
  # [1]: https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/
3721
4054
  # @return [Types::EksMetadata]
3722
4055
  #
4056
+ # @!attribute [rw] share_process_namespace
4057
+ # Indicates if the processes in a container are shared, or visible, to
4058
+ # other containers in the same pod. For more information, see [Share
4059
+ # Process Namespace between Containers in a Pod][1].
4060
+ #
4061
+ #
4062
+ #
4063
+ # [1]: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
4064
+ # @return [Boolean]
4065
+ #
3723
4066
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EksPodProperties AWS API Documentation
3724
4067
  #
3725
4068
  class EksPodProperties < Struct.new(
@@ -3727,8 +4070,10 @@ module Aws::Batch
3727
4070
  :host_network,
3728
4071
  :dns_policy,
3729
4072
  :containers,
4073
+ :init_containers,
3730
4074
  :volumes,
3731
- :metadata)
4075
+ :metadata,
4076
+ :share_process_namespace)
3732
4077
  SENSITIVE = []
3733
4078
  include Aws::Structure
3734
4079
  end
@@ -3793,6 +4138,12 @@ module Aws::Batch
3793
4138
  # The properties of the container that's used on the Amazon EKS pod.
3794
4139
  # @return [Array<Types::EksContainerDetail>]
3795
4140
  #
4141
+ # @!attribute [rw] init_containers
4142
+ # The container registered with the Amazon EKS Connector agent and
4143
+ # persists the registration information in the Kubernetes backend data
4144
+ # store.
4145
+ # @return [Array<Types::EksContainerDetail>]
4146
+ #
3796
4147
  # @!attribute [rw] volumes
3797
4148
  # Specifies the volumes for a job definition using Amazon EKS
3798
4149
  # resources.
@@ -3817,6 +4168,16 @@ module Aws::Batch
3817
4168
  # [1]: https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/
3818
4169
  # @return [Types::EksMetadata]
3819
4170
  #
4171
+ # @!attribute [rw] share_process_namespace
4172
+ # Indicates if the processes in a container are shared, or visible, to
4173
+ # other containers in the same pod. For more information, see [Share
4174
+ # Process Namespace between Containers in a Pod][1].
4175
+ #
4176
+ #
4177
+ #
4178
+ # [1]: https://kubernetes.io/docs/tasks/configure-pod-container/share-process-namespace/
4179
+ # @return [Boolean]
4180
+ #
3820
4181
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EksPodPropertiesDetail AWS API Documentation
3821
4182
  #
3822
4183
  class EksPodPropertiesDetail < Struct.new(
@@ -3824,10 +4185,12 @@ module Aws::Batch
3824
4185
  :host_network,
3825
4186
  :dns_policy,
3826
4187
  :containers,
4188
+ :init_containers,
3827
4189
  :volumes,
3828
4190
  :pod_name,
3829
4191
  :node_name,
3830
- :metadata)
4192
+ :metadata,
4193
+ :share_process_namespace)
3831
4194
  SENSITIVE = []
3832
4195
  include Aws::Structure
3833
4196
  end
@@ -3839,6 +4202,24 @@ module Aws::Batch
3839
4202
  # The overrides for the container that's used on the Amazon EKS pod.
3840
4203
  # @return [Array<Types::EksContainerOverride>]
3841
4204
  #
4205
+ # @!attribute [rw] init_containers
4206
+ # The overrides for the conatainers defined in the Amazon EKS pod.
4207
+ # These containers run before application containers, always runs to
4208
+ # completion, and must complete successfully before the next container
4209
+ # starts. These containers are registered with the Amazon EKS
4210
+ # Connector agent and persists the registration information in the
4211
+ # Kubernetes backend data store. For more information, see [Init
4212
+ # Containers][1] in the *Kubernetes documentation*.
4213
+ #
4214
+ # <note markdown="1"> This object is limited to 10 elements
4215
+ #
4216
+ # </note>
4217
+ #
4218
+ #
4219
+ #
4220
+ # [1]: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
4221
+ # @return [Array<Types::EksContainerOverride>]
4222
+ #
3842
4223
  # @!attribute [rw] metadata
3843
4224
  # Metadata about the overrides for the container that's used on the
3844
4225
  # Amazon EKS pod.
@@ -3848,6 +4229,7 @@ module Aws::Batch
3848
4229
  #
3849
4230
  class EksPodPropertiesOverride < Struct.new(
3850
4231
  :containers,
4232
+ :init_containers,
3851
4233
  :metadata)
3852
4234
  SENSITIVE = []
3853
4235
  include Aws::Structure
@@ -4066,9 +4448,9 @@ module Aws::Batch
4066
4448
  # where ` ActiveFairShares ` is the number of active fair share
4067
4449
  # identifiers.
4068
4450
  #
4069
- # For example, a `computeReservation` value of 50 indicates that
4070
- # Batchreserves 50% of the maximum available vCPU if there's only one
4071
- # fair share identifier. It reserves 25% if there are two fair share
4451
+ # For example, a `computeReservation` value of 50 indicates that Batch
4452
+ # reserves 50% of the maximum available vCPU if there's only one fair
4453
+ # share identifier. It reserves 25% if there are two fair share
4072
4454
  # identifiers. It reserves 12.5% if there are three fair share
4073
4455
  # identifiers. A `computeReservation` value of 25 indicates that Batch
4074
4456
  # should reserve 25% of the maximum available vCPU if there's only
@@ -4095,7 +4477,7 @@ module Aws::Batch
4095
4477
  end
4096
4478
 
4097
4479
  # The platform configuration for jobs that are running on Fargate
4098
- # resources. Jobs that run on EC2 resources must not specify this
4480
+ # resources. Jobs that run on Amazon EC2 resources must not specify this
4099
4481
  # parameter.
4100
4482
  #
4101
4483
  # @!attribute [rw] platform_version
@@ -4206,9 +4588,10 @@ module Aws::Batch
4206
4588
  # @return [Types::RetryStrategy]
4207
4589
  #
4208
4590
  # @!attribute [rw] container_properties
4209
- # An object with various properties specific to Amazon ECS based jobs.
4210
- # Valid values are `containerProperties`, `eksProperties`, and
4211
- # `nodeProperties`. Only one can be specified.
4591
+ # An object with properties specific to Amazon ECS-based jobs. When
4592
+ # `containerProperties` is used in the job definition, it can't be
4593
+ # used in addition to `eksProperties`, `ecsProperties`, or
4594
+ # `nodeProperties`.
4212
4595
  # @return [Types::ContainerProperties]
4213
4596
  #
4214
4597
  # @!attribute [rw] timeout
@@ -4218,9 +4601,10 @@ module Aws::Batch
4218
4601
  # @return [Types::JobTimeout]
4219
4602
  #
4220
4603
  # @!attribute [rw] node_properties
4221
- # An object with various properties that are specific to multi-node
4222
- # parallel jobs. Valid values are `containerProperties`,
4223
- # `eksProperties`, and `nodeProperties`. Only one can be specified.
4604
+ # An object with properties that are specific to multi-node parallel
4605
+ # jobs. When `nodeProperties` is used in the job definition, it can't
4606
+ # be used in addition to `containerProperties`, `ecsProperties`, or
4607
+ # `eksProperties`.
4224
4608
  #
4225
4609
  # <note markdown="1"> If the job runs on Fargate resources, don't specify
4226
4610
  # `nodeProperties`. Use `containerProperties` instead.
@@ -4248,10 +4632,18 @@ module Aws::Batch
4248
4632
  # resources specify `FARGATE`.
4249
4633
  # @return [Array<String>]
4250
4634
  #
4635
+ # @!attribute [rw] ecs_properties
4636
+ # An object that contains the properties for the Amazon ECS resources
4637
+ # of a job.When `ecsProperties` is used in the job definition, it
4638
+ # can't be used in addition to `containerProperties`,
4639
+ # `eksProperties`, or `nodeProperties`.
4640
+ # @return [Types::EcsProperties]
4641
+ #
4251
4642
  # @!attribute [rw] eks_properties
4252
- # An object with various properties that are specific to Amazon EKS
4253
- # based jobs. Valid values are `containerProperties`, `eksProperties`,
4254
- # and `nodeProperties`. Only one can be specified.
4643
+ # An object with properties that are specific to Amazon EKS-based
4644
+ # jobs. When `eksProperties` is used in the job definition, it can't
4645
+ # be used in addition to `containerProperties`, `ecsProperties`, or
4646
+ # `nodeProperties`.
4255
4647
  # @return [Types::EksProperties]
4256
4648
  #
4257
4649
  # @!attribute [rw] container_orchestration_type
@@ -4276,6 +4668,7 @@ module Aws::Batch
4276
4668
  :tags,
4277
4669
  :propagate_tags,
4278
4670
  :platform_capabilities,
4671
+ :ecs_properties,
4279
4672
  :eks_properties,
4280
4673
  :container_orchestration_type)
4281
4674
  SENSITIVE = []
@@ -4358,8 +4751,12 @@ module Aws::Batch
4358
4751
  # The Unix timestamp (in milliseconds) for when the job was created.
4359
4752
  # For non-array jobs and parent array jobs, this is when the job
4360
4753
  # entered the `SUBMITTED` state. This is specifically at the time
4361
- # SubmitJob was called. For array child jobs, this is when the child
4362
- # job was spawned by its parent and entered the `PENDING` state.
4754
+ # [SubmitJob][1] was called. For array child jobs, this is when the
4755
+ # child job was spawned by its parent and entered the `PENDING` state.
4756
+ #
4757
+ #
4758
+ #
4759
+ # [1]: https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html
4363
4760
  # @return [Integer]
4364
4761
  #
4365
4762
  # @!attribute [rw] retry_strategy
@@ -4369,8 +4766,7 @@ module Aws::Batch
4369
4766
  # @!attribute [rw] started_at
4370
4767
  # The Unix timestamp (in milliseconds) for when the job was started.
4371
4768
  # More specifically, it's when the job transitioned from the
4372
- # `STARTING` state to the `RUNNING` state. This parameter isn't
4373
- # provided for child jobs of array jobs or multi-node parallel jobs.
4769
+ # `STARTING` state to the `RUNNING` state.
4374
4770
  # @return [Integer]
4375
4771
  #
4376
4772
  # @!attribute [rw] stopped_at
@@ -4397,7 +4793,8 @@ module Aws::Batch
4397
4793
  #
4398
4794
  # @!attribute [rw] container
4399
4795
  # An object that represents the details for the container that's
4400
- # associated with the job.
4796
+ # associated with the job. If the details are for a multiple-container
4797
+ # job, this object will be empty.
4401
4798
  # @return [Types::ContainerDetail]
4402
4799
  #
4403
4800
  # @!attribute [rw] node_details
@@ -4445,14 +4842,18 @@ module Aws::Batch
4445
4842
  #
4446
4843
  # @!attribute [rw] eks_properties
4447
4844
  # An object with various properties that are specific to Amazon EKS
4448
- # based jobs. Only one of `container`, `eksProperties`, or
4449
- # `nodeDetails` is specified.
4845
+ # based jobs.
4450
4846
  # @return [Types::EksPropertiesDetail]
4451
4847
  #
4452
4848
  # @!attribute [rw] eks_attempts
4453
4849
  # A list of job attempts that are associated with this job.
4454
4850
  # @return [Array<Types::EksAttemptDetail>]
4455
4851
  #
4852
+ # @!attribute [rw] ecs_properties
4853
+ # An object with properties that are specific to Amazon ECS-based
4854
+ # jobs.
4855
+ # @return [Types::EcsPropertiesDetail]
4856
+ #
4456
4857
  # @!attribute [rw] is_cancelled
4457
4858
  # Indicates whether the job is canceled.
4458
4859
  # @return [Boolean]
@@ -4490,6 +4891,7 @@ module Aws::Batch
4490
4891
  :platform_capabilities,
4491
4892
  :eks_properties,
4492
4893
  :eks_attempts,
4894
+ :ecs_properties,
4493
4895
  :is_cancelled,
4494
4896
  :is_terminated)
4495
4897
  SENSITIVE = []
@@ -4536,9 +4938,9 @@ module Aws::Batch
4536
4938
  # determined in descending order. For example, a job queue with a
4537
4939
  # priority value of `10` is given scheduling preference over a job
4538
4940
  # queue with a priority value of `1`. All of the compute environments
4539
- # must be either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
4540
- # `FARGATE_SPOT`). EC2 and Fargate compute environments can't be
4541
- # mixed.
4941
+ # must be either Amazon EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
4942
+ # `FARGATE_SPOT`). Amazon EC2 and Fargate compute environments can't
4943
+ # be mixed.
4542
4944
  # @return [Integer]
4543
4945
  #
4544
4946
  # @!attribute [rw] compute_environment_order
@@ -4589,9 +4991,13 @@ module Aws::Batch
4589
4991
  # @!attribute [rw] created_at
4590
4992
  # The Unix timestamp (in milliseconds) for when the job was created.
4591
4993
  # For non-array jobs and parent array jobs, this is when the job
4592
- # entered the `SUBMITTED` state (at the time SubmitJob was called).
4593
- # For array child jobs, this is when the child job was spawned by its
4594
- # parent and entered the `PENDING` state.
4994
+ # entered the `SUBMITTED` state (at the time [SubmitJob][1] was
4995
+ # called). For array child jobs, this is when the child job was
4996
+ # spawned by its parent and entered the `PENDING` state.
4997
+ #
4998
+ #
4999
+ #
5000
+ # [1]: https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html
4595
5001
  # @return [Integer]
4596
5002
  #
4597
5003
  # @!attribute [rw] status
@@ -5272,7 +5678,7 @@ module Aws::Batch
5272
5678
  #
5273
5679
  #
5274
5680
  #
5275
- # [1]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.19/#create-a-container
5681
+ # [1]: https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerCreate
5276
5682
  #
5277
5683
  # @!attribute [rw] container_path
5278
5684
  # The path on the container where the host volume is mounted.
@@ -5299,8 +5705,8 @@ module Aws::Batch
5299
5705
  end
5300
5706
 
5301
5707
  # The network configuration for jobs that are running on Fargate
5302
- # resources. Jobs that are running on EC2 resources must not specify
5303
- # this parameter.
5708
+ # resources. Jobs that are running on Amazon EC2 resources must not
5709
+ # specify this parameter.
5304
5710
  #
5305
5711
  # @!attribute [rw] assign_public_ip
5306
5712
  # Indicates whether the job has a public IP address. For a job that's
@@ -5373,7 +5779,7 @@ module Aws::Batch
5373
5779
  end
5374
5780
 
5375
5781
  # An object that represents any node overrides to a job definition
5376
- # that's used in a SubmitJob API operation.
5782
+ # that's used in a [SubmitJob][1] API operation.
5377
5783
  #
5378
5784
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
5379
5785
  # resources. Don't provide it for these jobs. Rather, use
@@ -5381,6 +5787,10 @@ module Aws::Batch
5381
5787
  #
5382
5788
  # </note>
5383
5789
  #
5790
+ #
5791
+ #
5792
+ # [1]: https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html
5793
+ #
5384
5794
  # @!attribute [rw] num_nodes
5385
5795
  # The number of nodes to use with a multi-node parallel job. This
5386
5796
  # value overrides the number of nodes that are specified in the job
@@ -5474,7 +5884,11 @@ module Aws::Batch
5474
5884
  end
5475
5885
 
5476
5886
  # The object that represents any node overrides to a job definition
5477
- # that's used in a SubmitJob API operation.
5887
+ # that's used in a [SubmitJob][1] API operation.
5888
+ #
5889
+ #
5890
+ #
5891
+ # [1]: https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html
5478
5892
  #
5479
5893
  # @!attribute [rw] target_nodes
5480
5894
  # The range of nodes, using node index values, that's used to
@@ -5489,17 +5903,29 @@ module Aws::Batch
5489
5903
  # The overrides that are sent to a node range.
5490
5904
  # @return [Types::ContainerOverrides]
5491
5905
  #
5906
+ # @!attribute [rw] ecs_properties_override
5907
+ # An object that contains the properties that you want to replace for
5908
+ # the existing Amazon ECS resources of a job.
5909
+ # @return [Types::EcsPropertiesOverride]
5910
+ #
5911
+ # @!attribute [rw] instance_types
5912
+ # An object that contains the instance types that you want to replace
5913
+ # for the existing resources of a job.
5914
+ # @return [Array<String>]
5915
+ #
5492
5916
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NodePropertyOverride AWS API Documentation
5493
5917
  #
5494
5918
  class NodePropertyOverride < Struct.new(
5495
5919
  :target_nodes,
5496
- :container_overrides)
5920
+ :container_overrides,
5921
+ :ecs_properties_override,
5922
+ :instance_types)
5497
5923
  SENSITIVE = []
5498
5924
  include Aws::Structure
5499
5925
  end
5500
5926
 
5501
- # An object that represents the properties of the node range for a
5502
- # multi-node parallel job.
5927
+ # This is an object that represents the properties of the node range for
5928
+ # a multi-node parallel job.
5503
5929
  #
5504
5930
  # @!attribute [rw] target_nodes
5505
5931
  # The range of nodes, using node index values. A range of `0:3`
@@ -5516,11 +5942,30 @@ module Aws::Batch
5516
5942
  # The container details for the node range.
5517
5943
  # @return [Types::ContainerProperties]
5518
5944
  #
5945
+ # @!attribute [rw] instance_types
5946
+ # The instance types of the underlying host infrastructure of a
5947
+ # multi-node parallel job.
5948
+ #
5949
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
5950
+ # resources.
5951
+ #
5952
+ # In addition, this list object is currently limited to one element.
5953
+ #
5954
+ # </note>
5955
+ # @return [Array<String>]
5956
+ #
5957
+ # @!attribute [rw] ecs_properties
5958
+ # This is an object that represents the properties of the node range
5959
+ # for a multi-node parallel job.
5960
+ # @return [Types::EcsProperties]
5961
+ #
5519
5962
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NodeRangeProperty AWS API Documentation
5520
5963
  #
5521
5964
  class NodeRangeProperty < Struct.new(
5522
5965
  :target_nodes,
5523
- :container)
5966
+ :container,
5967
+ :instance_types,
5968
+ :ecs_properties)
5524
5969
  SENSITIVE = []
5525
5970
  include Aws::Structure
5526
5971
  end
@@ -5538,6 +5983,12 @@ module Aws::Batch
5538
5983
  # parallel jobs, see [Creating a multi-node parallel job
5539
5984
  # definition][1] in the *Batch User Guide*.
5540
5985
  #
5986
+ # * If the value is `container`, then one of the following is
5987
+ # required: `containerProperties`, `ecsProperties`, or
5988
+ # `eksProperties`.
5989
+ #
5990
+ # * If the value is `multinode`, then `nodeProperties` is required.
5991
+ #
5541
5992
  # <note markdown="1"> If the job is run on Fargate resources, then `multinode` isn't
5542
5993
  # supported.
5543
5994
  #
@@ -5566,11 +6017,11 @@ module Aws::Batch
5566
6017
  # @return [Integer]
5567
6018
  #
5568
6019
  # @!attribute [rw] container_properties
5569
- # An object with various properties specific to Amazon ECS based
5570
- # single-node container-based jobs. If the job definition's `type`
5571
- # parameter is `container`, then you must specify either
5572
- # `containerProperties` or `nodeProperties`. This must not be
5573
- # specified for Amazon EKS based job definitions.
6020
+ # An object with properties specific to Amazon ECS-based single-node
6021
+ # container-based jobs. If the job definition's `type` parameter is
6022
+ # `container`, then you must specify either `containerProperties` or
6023
+ # `nodeProperties`. This must not be specified for Amazon EKS-based
6024
+ # job definitions.
5574
6025
  #
5575
6026
  # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
5576
6027
  # `nodeProperties`; use only `containerProperties`.
@@ -5579,12 +6030,10 @@ module Aws::Batch
5579
6030
  # @return [Types::ContainerProperties]
5580
6031
  #
5581
6032
  # @!attribute [rw] node_properties
5582
- # An object with various properties specific to multi-node parallel
5583
- # jobs. If you specify node properties for a job, it becomes a
5584
- # multi-node parallel job. For more information, see [Multi-node
5585
- # Parallel Jobs][1] in the *Batch User Guide*. If the job
5586
- # definition's `type` parameter is `container`, then you must specify
5587
- # either `containerProperties` or `nodeProperties`.
6033
+ # An object with properties specific to multi-node parallel jobs. If
6034
+ # you specify node properties for a job, it becomes a multi-node
6035
+ # parallel job. For more information, see [Multi-node Parallel
6036
+ # Jobs][1] in the *Batch User Guide*.
5588
6037
  #
5589
6038
  # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
5590
6039
  # `nodeProperties`; use `containerProperties` instead.
@@ -5660,11 +6109,17 @@ module Aws::Batch
5660
6109
  # @return [Array<String>]
5661
6110
  #
5662
6111
  # @!attribute [rw] eks_properties
5663
- # An object with various properties that are specific to Amazon EKS
5664
- # based jobs. This must not be specified for Amazon ECS based job
6112
+ # An object with properties that are specific to Amazon EKS-based
6113
+ # jobs. This must not be specified for Amazon ECS based job
5665
6114
  # definitions.
5666
6115
  # @return [Types::EksProperties]
5667
6116
  #
6117
+ # @!attribute [rw] ecs_properties
6118
+ # An object with properties that are specific to Amazon ECS-based
6119
+ # jobs. This must not be specified for Amazon EKS-based job
6120
+ # definitions.
6121
+ # @return [Types::EcsProperties]
6122
+ #
5668
6123
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinitionRequest AWS API Documentation
5669
6124
  #
5670
6125
  class RegisterJobDefinitionRequest < Struct.new(
@@ -5679,7 +6134,8 @@ module Aws::Batch
5679
6134
  :timeout,
5680
6135
  :tags,
5681
6136
  :platform_capabilities,
5682
- :eks_properties)
6137
+ :eks_properties,
6138
+ :ecs_properties)
5683
6139
  SENSITIVE = []
5684
6140
  include Aws::Structure
5685
6141
  end
@@ -5706,6 +6162,21 @@ module Aws::Batch
5706
6162
  include Aws::Structure
5707
6163
  end
5708
6164
 
6165
+ # The repository credentials for private registry authentication.
6166
+ #
6167
+ # @!attribute [rw] credentials_parameter
6168
+ # The Amazon Resource Name (ARN) of the secret containing the private
6169
+ # repository credentials.
6170
+ # @return [String]
6171
+ #
6172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RepositoryCredentials AWS API Documentation
6173
+ #
6174
+ class RepositoryCredentials < Struct.new(
6175
+ :credentials_parameter)
6176
+ SENSITIVE = []
6177
+ include Aws::Structure
6178
+ end
6179
+
5709
6180
  # The type and amount of a resource to assign to a container. The
5710
6181
  # supported resources include `GPU`, `MEMORY`, and `VCPU`.
5711
6182
  #
@@ -5728,16 +6199,17 @@ module Aws::Batch
5728
6199
  # type="MEMORY"
5729
6200
  #
5730
6201
  # : The memory hard limit (in MiB) present to the container. This
5731
- # parameter is supported for jobs that are running on EC2 resources.
5732
- # If your container attempts to exceed the memory specified, the
5733
- # container is terminated. This parameter maps to `Memory` in the
5734
- # [Create a container][1] section of the [Docker Remote API][2] and
5735
- # the `--memory` option to [docker run][3]. You must specify at
5736
- # least 4 MiB of memory for a job. This is required but can be
5737
- # specified in several places for multi-node parallel (MNP) jobs. It
5738
- # must be specified for each node at least once. This parameter maps
5739
- # to `Memory` in the [Create a container][1] section of the [Docker
5740
- # Remote API][2] and the `--memory` option to [docker run][3].
6202
+ # parameter is supported for jobs that are running on Amazon EC2
6203
+ # resources. If your container attempts to exceed the memory
6204
+ # specified, the container is terminated. This parameter maps to
6205
+ # `Memory` in the [Create a container][1] section of the [Docker
6206
+ # Remote API][2] and the `--memory` option to [docker run][3]. You
6207
+ # must specify at least 4 MiB of memory for a job. This is required
6208
+ # but can be specified in several places for multi-node parallel
6209
+ # (MNP) jobs. It must be specified for each node at least once. This
6210
+ # parameter maps to `Memory` in the [Create a container][1] section
6211
+ # of the [Docker Remote API][2] and the `--memory` option to [docker
6212
+ # run][3].
5741
6213
  #
5742
6214
  # <note markdown="1"> If you're trying to maximize your resource utilization by
5743
6215
  # providing your jobs as much memory as possible for a particular
@@ -5812,10 +6284,10 @@ module Aws::Batch
5812
6284
  # : The number of vCPUs reserved for the container. This parameter
5813
6285
  # maps to `CpuShares` in the [Create a container][1] section of the
5814
6286
  # [Docker Remote API][2] and the `--cpu-shares` option to [docker
5815
- # run][3]. Each vCPU is equivalent to 1,024 CPU shares. For EC2
5816
- # resources, you must specify at least one vCPU. This is required
5817
- # but can be specified in several places; it must be specified for
5818
- # each node at least once.
6287
+ # run][3]. Each vCPU is equivalent to 1,024 CPU shares. For Amazon
6288
+ # EC2 resources, you must specify at least one vCPU. This is
6289
+ # required but can be specified in several places; it must be
6290
+ # specified for each node at least once.
5819
6291
  #
5820
6292
  # The default for the Fargate On-Demand vCPU resource count quota is
5821
6293
  # 6 vCPUs. For more information about Fargate quotas, see [Fargate
@@ -5927,19 +6399,21 @@ module Aws::Batch
5927
6399
  #
5928
6400
  # </note>
5929
6401
  #
5930
- # <note markdown="1"> The Batch Scheduler checks before registering a task definition with
5931
- # Fargate. If the job requires a Windows container and the first
6402
+ # <note markdown="1"> The Batch Scheduler checks the compute environments that are
6403
+ # attached to the job queue before registering a task definition with
6404
+ # Fargate. In this scenario, the job queue is where the job is
6405
+ # submitted. If the job requires a Windows container and the first
5932
6406
  # compute environment is `LINUX`, the compute environment is skipped
5933
- # and the next is checked until a Windows-based compute environment is
5934
- # found.
6407
+ # and the next compute environment is checked until a Windows-based
6408
+ # compute environment is found.
5935
6409
  #
5936
6410
  # </note>
5937
6411
  #
5938
- # <note markdown="1"> Fargate Spot is not supported for Windows-based containers on
5939
- # Fargate. A job queue will be blocked if a Fargate Windows job is
5940
- # submitted to a job queue with only Fargate Spot compute
5941
- # environments. However, you can attach both `FARGATE` and
5942
- # `FARGATE_SPOT` compute environments to the same job queue.
6412
+ # <note markdown="1"> Fargate Spot is not supported for `ARM64` and Windows-based
6413
+ # containers on Fargate. A job queue will be blocked if a Fargate
6414
+ # `ARM64` or Windows job is submitted to a job queue with only Fargate
6415
+ # Spot compute environments. However, you can attach both `FARGATE`
6416
+ # and `FARGATE_SPOT` compute environments to the same job queue.
5943
6417
  #
5944
6418
  # </note>
5945
6419
  # @return [String]
@@ -5951,6 +6425,14 @@ module Aws::Batch
5951
6425
  # <note markdown="1"> This parameter must be set to `X86_64` for Windows containers.
5952
6426
  #
5953
6427
  # </note>
6428
+ #
6429
+ # <note markdown="1"> Fargate Spot is not supported for `ARM64` and Windows-based
6430
+ # containers on Fargate. A job queue will be blocked if a Fargate
6431
+ # `ARM64` or Windows job is submitted to a job queue with only Fargate
6432
+ # Spot compute environments. However, you can attach both `FARGATE`
6433
+ # and `FARGATE_SPOT` compute environments to the same job queue.
6434
+ #
6435
+ # </note>
5954
6436
  # @return [String]
5955
6437
  #
5956
6438
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RuntimePlatform AWS API Documentation
@@ -6139,7 +6621,8 @@ module Aws::Batch
6139
6621
  # The scheduling priority for the job. This only affects jobs in job
6140
6622
  # queues with a fair share policy. Jobs with a higher scheduling
6141
6623
  # priority are scheduled before jobs with a lower scheduling priority.
6142
- # This overrides any scheduling priority in the job definition.
6624
+ # This overrides any scheduling priority in the job definition and
6625
+ # works only within a single share identifier.
6143
6626
  #
6144
6627
  # The minimum supported value is 0 and the maximum supported value is
6145
6628
  # 9999.
@@ -6188,10 +6671,10 @@ module Aws::Batch
6188
6671
  # @return [Hash<String,String>]
6189
6672
  #
6190
6673
  # @!attribute [rw] container_overrides
6191
- # An object with various properties that override the defaults for the
6192
- # job definition that specify the name of a container in the specified
6193
- # job definition and the overrides it should receive. You can override
6194
- # the default command for a container, which is specified in the job
6674
+ # An object with properties that override the defaults for the job
6675
+ # definition that specify the name of a container in the specified job
6676
+ # definition and the overrides it should receive. You can override the
6677
+ # default command for a container, which is specified in the job
6195
6678
  # definition or the Docker image, with a `command` override. You can
6196
6679
  # also override existing environment variables on a container or add
6197
6680
  # new environment variables to it with an `environment` override.
@@ -6252,11 +6735,17 @@ module Aws::Batch
6252
6735
  # @return [Hash<String,String>]
6253
6736
  #
6254
6737
  # @!attribute [rw] eks_properties_override
6255
- # An object that can only be specified for jobs that are run on Amazon
6256
- # EKS resources with various properties that override defaults for the
6257
- # job definition.
6738
+ # An object, with properties that override defaults for the job
6739
+ # definition, can only be specified for jobs that are run on Amazon
6740
+ # EKS resources.
6258
6741
  # @return [Types::EksPropertiesOverride]
6259
6742
  #
6743
+ # @!attribute [rw] ecs_properties_override
6744
+ # An object, with properties that override defaults for the job
6745
+ # definition, can only be specified for jobs that are run on Amazon
6746
+ # ECS resources.
6747
+ # @return [Types::EcsPropertiesOverride]
6748
+ #
6260
6749
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJobRequest AWS API Documentation
6261
6750
  #
6262
6751
  class SubmitJobRequest < Struct.new(
@@ -6274,7 +6763,8 @@ module Aws::Batch
6274
6763
  :propagate_tags,
6275
6764
  :timeout,
6276
6765
  :tags,
6277
- :eks_properties_override)
6766
+ :eks_properties_override,
6767
+ :ecs_properties_override)
6278
6768
  SENSITIVE = []
6279
6769
  include Aws::Structure
6280
6770
  end
@@ -6335,6 +6825,734 @@ module Aws::Batch
6335
6825
  #
6336
6826
  class TagResourceResponse < Aws::EmptyStructure; end
6337
6827
 
6828
+ # A list of containers that this task depends on.
6829
+ #
6830
+ # @!attribute [rw] container_name
6831
+ # A unique identifier for the container.
6832
+ # @return [String]
6833
+ #
6834
+ # @!attribute [rw] condition
6835
+ # The dependency condition of the container. The following are the
6836
+ # available conditions and their behavior:
6837
+ #
6838
+ # * `START` - This condition emulates the behavior of links and
6839
+ # volumes today. It validates that a dependent container is started
6840
+ # before permitting other containers to start.
6841
+ #
6842
+ # * `COMPLETE` - This condition validates that a dependent container
6843
+ # runs to completion (exits) before permitting other containers to
6844
+ # start. This can be useful for nonessential containers that run a
6845
+ # script and then exit. This condition can't be set on an essential
6846
+ # container.
6847
+ #
6848
+ # * `SUCCESS` - This condition is the same as `COMPLETE`, but it also
6849
+ # requires that the container exits with a zero status. This
6850
+ # condition can't be set on an essential container.
6851
+ # @return [String]
6852
+ #
6853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TaskContainerDependency AWS API Documentation
6854
+ #
6855
+ class TaskContainerDependency < Struct.new(
6856
+ :container_name,
6857
+ :condition)
6858
+ SENSITIVE = []
6859
+ include Aws::Structure
6860
+ end
6861
+
6862
+ # The details for the container in this task attempt.
6863
+ #
6864
+ # @!attribute [rw] command
6865
+ # The command that's passed to the container. This parameter maps to
6866
+ # `Cmd` in the [Create a container][1] section of the [Docker Remote
6867
+ # API][2] and the `COMMAND` parameter to [docker run][3]. For more
6868
+ # information, see
6869
+ # [https://docs.docker.com/engine/reference/builder/#cmd][4].
6870
+ #
6871
+ #
6872
+ #
6873
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
6874
+ # [2]: https://docs.docker.com/engine/api/v1.23/
6875
+ # [3]: https://docs.docker.com/engine/reference/run/
6876
+ # [4]: https://docs.docker.com/engine/reference/builder/#cmd
6877
+ # @return [Array<String>]
6878
+ #
6879
+ # @!attribute [rw] depends_on
6880
+ # A list of containers that this container depends on.
6881
+ # @return [Array<Types::TaskContainerDependency>]
6882
+ #
6883
+ # @!attribute [rw] environment
6884
+ # The environment variables to pass to a container. This parameter
6885
+ # maps to `Env` in the [Create a container][1] section of the [Docker
6886
+ # Remote API][2] and the `--env` option to [docker run][3].
6887
+ #
6888
+ # We don't recommend using plaintext environment variables for
6889
+ # sensitive information, such as credential data.
6890
+ #
6891
+ #
6892
+ #
6893
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
6894
+ # [2]: https://docs.docker.com/engine/api/v1.23/
6895
+ # [3]: https://docs.docker.com/engine/reference/run/
6896
+ # @return [Array<Types::KeyValuePair>]
6897
+ #
6898
+ # @!attribute [rw] essential
6899
+ # If the essential parameter of a container is marked as `true`, and
6900
+ # that container fails or stops for any reason, all other containers
6901
+ # that are part of the task are stopped. If the `essential` parameter
6902
+ # of a container is marked as false, its failure doesn't affect the
6903
+ # rest of the containers in a task. If this parameter is omitted, a
6904
+ # container is assumed to be essential.
6905
+ #
6906
+ # All tasks must have at least one essential container. If you have an
6907
+ # application that's composed of multiple containers, group
6908
+ # containers that are used for a common purpose into components, and
6909
+ # separate the different components into multiple task definitions.
6910
+ # For more information, see [Application Architecture][1] in the
6911
+ # *Amazon Elastic Container Service Developer Guide*.
6912
+ #
6913
+ #
6914
+ #
6915
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html
6916
+ # @return [Boolean]
6917
+ #
6918
+ # @!attribute [rw] image
6919
+ # The image used to start a container. This string is passed directly
6920
+ # to the Docker daemon. By default, images in the Docker Hub registry
6921
+ # are available. Other repositories are specified with either
6922
+ # `repository-url/image:tag` or `repository-url/image@digest`. Up to
6923
+ # 255 letters (uppercase and lowercase), numbers, hyphens,
6924
+ # underscores, colons, periods, forward slashes, and number signs are
6925
+ # allowed. This parameter maps to `Image` in the [Create a
6926
+ # container][1] section of the [Docker Remote API][2] and the `IMAGE`
6927
+ # parameter of the [ *docker run* ][3].
6928
+ #
6929
+ #
6930
+ #
6931
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
6932
+ # [2]: https://docs.docker.com/engine/api/v1.35/
6933
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
6934
+ # @return [String]
6935
+ #
6936
+ # @!attribute [rw] linux_parameters
6937
+ # Linux-specific modifications that are applied to the container, such
6938
+ # as Linux kernel capabilities. For more information, see
6939
+ # [KernelCapabilities][1].
6940
+ #
6941
+ # <note markdown="1"> This parameter is not supported for Windows containers.
6942
+ #
6943
+ # </note>
6944
+ #
6945
+ #
6946
+ #
6947
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html
6948
+ # @return [Types::LinuxParameters]
6949
+ #
6950
+ # @!attribute [rw] log_configuration
6951
+ # The log configuration specification for the container.
6952
+ #
6953
+ # This parameter maps to `LogConfig` in the [Create a container][1]
6954
+ # section of the [Docker Remote API][2] and the `--log-driver` option
6955
+ # to [docker run][3].
6956
+ #
6957
+ # By default, containers use the same logging driver that the Docker
6958
+ # daemon uses. However the container can use a different logging
6959
+ # driver than the Docker daemon by specifying a log driver with this
6960
+ # parameter in the container definition. To use a different logging
6961
+ # driver for a container, the log system must be configured properly
6962
+ # on the container instance (or on a different log server for remote
6963
+ # logging options). For more information about the options for
6964
+ # different supported log drivers, see [Configure logging drivers ][4]
6965
+ # in the *Docker documentation*.
6966
+ #
6967
+ # <note markdown="1"> Amazon ECS currently supports a subset of the logging drivers
6968
+ # available to the Docker daemon (shown in the `LogConfiguration` data
6969
+ # type). Additional log drivers may be available in future releases of
6970
+ # the Amazon ECS container agent.
6971
+ #
6972
+ # </note>
6973
+ #
6974
+ # This parameter requires version 1.18 of the Docker Remote API or
6975
+ # greater on your container instance. To check the Docker Remote API
6976
+ # version on your container instance, log in to your container
6977
+ # instance and run the following command: sudo docker version
6978
+ # `--format '\{\{.Server.APIVersion\}\}'`
6979
+ #
6980
+ # <note markdown="1"> The Amazon ECS container agent running on a container instance must
6981
+ # register the logging drivers available on that instance with the
6982
+ # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
6983
+ # containers placed on that instance can use these log configuration
6984
+ # options. For more information, see [Amazon ECS container agent
6985
+ # configuration][5] in the *Amazon Elastic Container Service Developer
6986
+ # Guide*.
6987
+ #
6988
+ # </note>
6989
+ #
6990
+ #
6991
+ #
6992
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
6993
+ # [2]: https://docs.docker.com/engine/api/v1.35/
6994
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
6995
+ # [4]: https://docs.docker.com/engine/admin/logging/overview/
6996
+ # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
6997
+ # @return [Types::LogConfiguration]
6998
+ #
6999
+ # @!attribute [rw] mount_points
7000
+ # The mount points for data volumes in your container.
7001
+ #
7002
+ # This parameter maps to `Volumes` in the [Create a container][1]
7003
+ # section of the [Docker Remote API][2] and the [--volume]() option to
7004
+ # [docker run][3].
7005
+ #
7006
+ # Windows containers can mount whole directories on the same drive as
7007
+ # `$env:ProgramData`. Windows containers can't mount directories on a
7008
+ # different drive, and mount point can't be across drives.
7009
+ #
7010
+ #
7011
+ #
7012
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
7013
+ # [2]: https://docs.docker.com/engine/api/v1.35/
7014
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
7015
+ # @return [Array<Types::MountPoint>]
7016
+ #
7017
+ # @!attribute [rw] name
7018
+ # The name of a container.
7019
+ # @return [String]
7020
+ #
7021
+ # @!attribute [rw] privileged
7022
+ # When this parameter is `true`, the container is given elevated
7023
+ # privileges on the host container instance (similar to the `root`
7024
+ # user). This parameter maps to `Privileged` in the [Create a
7025
+ # container][1] section of the [Docker Remote API][2] and the
7026
+ # `--privileged` option to [docker run][3].
7027
+ #
7028
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
7029
+ # on Fargate.
7030
+ #
7031
+ # </note>
7032
+ #
7033
+ #
7034
+ #
7035
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
7036
+ # [2]: https://docs.docker.com/engine/api/v1.35/
7037
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
7038
+ # @return [Boolean]
7039
+ #
7040
+ # @!attribute [rw] readonly_root_filesystem
7041
+ # When this parameter is true, the container is given read-only access
7042
+ # to its root file system. This parameter maps to `ReadonlyRootfs` in
7043
+ # the [Create a container][1] section of the [Docker Remote API][2]
7044
+ # and the `--read-only` option to [docker run][3].
7045
+ #
7046
+ # <note markdown="1"> This parameter is not supported for Windows containers.
7047
+ #
7048
+ # </note>
7049
+ #
7050
+ #
7051
+ #
7052
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
7053
+ # [2]: https://docs.docker.com/engine/api/v1.35/
7054
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
7055
+ # @return [Boolean]
7056
+ #
7057
+ # @!attribute [rw] repository_credentials
7058
+ # The private repository authentication credentials to use.
7059
+ # @return [Types::RepositoryCredentials]
7060
+ #
7061
+ # @!attribute [rw] resource_requirements
7062
+ # The type and amount of a resource to assign to a container. The only
7063
+ # supported resource is a GPU.
7064
+ # @return [Array<Types::ResourceRequirement>]
7065
+ #
7066
+ # @!attribute [rw] secrets
7067
+ # The secrets to pass to the container. For more information, see
7068
+ # [Specifying Sensitive Data][1] in the Amazon Elastic Container
7069
+ # Service Developer Guide.
7070
+ #
7071
+ #
7072
+ #
7073
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
7074
+ # @return [Array<Types::Secret>]
7075
+ #
7076
+ # @!attribute [rw] ulimits
7077
+ # A list of `ulimits` to set in the container. If a `ulimit` value is
7078
+ # specified in a task definition, it overrides the default values set
7079
+ # by Docker. This parameter maps to `Ulimits` in the [Create a
7080
+ # container][1] section of the [Docker Remote API][2] and the
7081
+ # `--ulimit` option to [docker run][3].
7082
+ #
7083
+ # Amazon ECS tasks hosted on Fargate use the default resource limit
7084
+ # values set by the operating system with the exception of the nofile
7085
+ # resource limit parameter which Fargate overrides. The `nofile`
7086
+ # resource limit sets a restriction on the number of open files that a
7087
+ # container can use. The default `nofile` soft limit is `1024` and the
7088
+ # default hard limit is `65535`.
7089
+ #
7090
+ # This parameter requires version 1.18 of the Docker Remote API or
7091
+ # greater on your container instance. To check the Docker Remote API
7092
+ # version on your container instance, log in to your container
7093
+ # instance and run the following command: sudo docker version
7094
+ # `--format '\{\{.Server.APIVersion\}\}'`
7095
+ #
7096
+ # <note markdown="1"> This parameter is not supported for Windows containers.
7097
+ #
7098
+ # </note>
7099
+ #
7100
+ #
7101
+ #
7102
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
7103
+ # [2]: https://docs.docker.com/engine/api/v1.35/
7104
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
7105
+ # @return [Array<Types::Ulimit>]
7106
+ #
7107
+ # @!attribute [rw] user
7108
+ # The user to use inside the container. This parameter maps to User in
7109
+ # the Create a container section of the Docker Remote API and the
7110
+ # --user option to docker run.
7111
+ #
7112
+ # <note markdown="1"> When running tasks using the `host` network mode, don't run
7113
+ # containers using the `root user (UID 0)`. We recommend using a
7114
+ # non-root user for better security.
7115
+ #
7116
+ # </note>
7117
+ #
7118
+ # You can specify the `user` using the following formats. If
7119
+ # specifying a UID or GID, you must specify it as a positive integer.
7120
+ #
7121
+ # * `user`
7122
+ #
7123
+ # * `user:group`
7124
+ #
7125
+ # * `uid`
7126
+ #
7127
+ # * `uid:gid`
7128
+ #
7129
+ # * `user:gi`
7130
+ #
7131
+ # * `uid:group`
7132
+ #
7133
+ # * ``
7134
+ #
7135
+ # <note markdown="1"> This parameter is not supported for Windows containers.
7136
+ #
7137
+ # </note>
7138
+ # @return [String]
7139
+ #
7140
+ # @!attribute [rw] exit_code
7141
+ # The exit code returned upon completion.
7142
+ # @return [Integer]
7143
+ #
7144
+ # @!attribute [rw] reason
7145
+ # A short (255 max characters) human-readable string to provide
7146
+ # additional details for a running or stopped container.
7147
+ # @return [String]
7148
+ #
7149
+ # @!attribute [rw] log_stream_name
7150
+ # The name of the CloudWatch Logs log stream that's associated with
7151
+ # the container. The log group for Batch jobs is /aws/batch/job. Each
7152
+ # container attempt receives a log stream name when they reach the
7153
+ # `RUNNING` status.
7154
+ # @return [String]
7155
+ #
7156
+ # @!attribute [rw] network_interfaces
7157
+ # The network interfaces that are associated with the job.
7158
+ # @return [Array<Types::NetworkInterface>]
7159
+ #
7160
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TaskContainerDetails AWS API Documentation
7161
+ #
7162
+ class TaskContainerDetails < Struct.new(
7163
+ :command,
7164
+ :depends_on,
7165
+ :environment,
7166
+ :essential,
7167
+ :image,
7168
+ :linux_parameters,
7169
+ :log_configuration,
7170
+ :mount_points,
7171
+ :name,
7172
+ :privileged,
7173
+ :readonly_root_filesystem,
7174
+ :repository_credentials,
7175
+ :resource_requirements,
7176
+ :secrets,
7177
+ :ulimits,
7178
+ :user,
7179
+ :exit_code,
7180
+ :reason,
7181
+ :log_stream_name,
7182
+ :network_interfaces)
7183
+ SENSITIVE = []
7184
+ include Aws::Structure
7185
+ end
7186
+
7187
+ # The overrides that should be sent to a container.
7188
+ #
7189
+ # For information about using Batch overrides when you connect event
7190
+ # sources to targets, see [BatchContainerOverrides][1].
7191
+ #
7192
+ #
7193
+ #
7194
+ # [1]: https://docs.aws.amazon.com/eventbridge/latest/pipes-reference/API_BatchContainerOverrides.html
7195
+ #
7196
+ # @!attribute [rw] command
7197
+ # The command to send to the container that overrides the default
7198
+ # command from the Docker image or the job definition.
7199
+ #
7200
+ # <note markdown="1"> This parameter can't contain an empty string.
7201
+ #
7202
+ # </note>
7203
+ # @return [Array<String>]
7204
+ #
7205
+ # @!attribute [rw] environment
7206
+ # The environment variables to send to the container. You can add new
7207
+ # environment variables, which are added to the container at launch,
7208
+ # or you can override the existing environment variables from the
7209
+ # Docker image or the job definition.
7210
+ #
7211
+ # <note markdown="1"> Environment variables cannot start with `AWS_BATCH`. This naming
7212
+ # convention is reserved for variables that Batch sets.
7213
+ #
7214
+ # </note>
7215
+ # @return [Array<Types::KeyValuePair>]
7216
+ #
7217
+ # @!attribute [rw] name
7218
+ # A pointer to the container that you want to override. The
7219
+ # container's name provides a unique identifier for the container
7220
+ # being used.
7221
+ # @return [String]
7222
+ #
7223
+ # @!attribute [rw] resource_requirements
7224
+ # The type and amount of resources to assign to a container. This
7225
+ # overrides the settings in the job definition. The supported
7226
+ # resources include `GPU`, `MEMORY`, and `VCPU`.
7227
+ # @return [Array<Types::ResourceRequirement>]
7228
+ #
7229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TaskContainerOverrides AWS API Documentation
7230
+ #
7231
+ class TaskContainerOverrides < Struct.new(
7232
+ :command,
7233
+ :environment,
7234
+ :name,
7235
+ :resource_requirements)
7236
+ SENSITIVE = []
7237
+ include Aws::Structure
7238
+ end
7239
+
7240
+ # Container properties are used for Amazon ECS-based job definitions.
7241
+ # These properties to describe the container that's launched as part of
7242
+ # a job.
7243
+ #
7244
+ # @!attribute [rw] command
7245
+ # The command that's passed to the container. This parameter maps to
7246
+ # `Cmd` in the [Create a container][1] section of the [Docker Remote
7247
+ # API][2] and the `COMMAND` parameter to [docker run][3]. For more
7248
+ # information, see [Dockerfile reference: CMD][4].
7249
+ #
7250
+ #
7251
+ #
7252
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
7253
+ # [2]: https://docs.docker.com/engine/api/v1.23/
7254
+ # [3]: https://docs.docker.com/engine/reference/run/
7255
+ # [4]: https://docs.docker.com/engine/reference/builder/#cmd
7256
+ # @return [Array<String>]
7257
+ #
7258
+ # @!attribute [rw] depends_on
7259
+ # A list of containers that this container depends on.
7260
+ # @return [Array<Types::TaskContainerDependency>]
7261
+ #
7262
+ # @!attribute [rw] environment
7263
+ # The environment variables to pass to a container. This parameter
7264
+ # maps to Env inthe [Create a container][1] section of the [Docker
7265
+ # Remote API][2] and the `--env` parameter to [docker run][3].
7266
+ #
7267
+ # We don't recommend using plaintext environment variables for
7268
+ # sensitive information, such as credential data.
7269
+ #
7270
+ # <note markdown="1"> Environment variables cannot start with `AWS_BATCH`. This naming
7271
+ # convention is reserved for variables that Batch sets.
7272
+ #
7273
+ # </note>
7274
+ #
7275
+ #
7276
+ #
7277
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
7278
+ # [2]: https://docs.docker.com/engine/api/v1.23/
7279
+ # [3]: https://docs.docker.com/engine/reference/run/
7280
+ # @return [Array<Types::KeyValuePair>]
7281
+ #
7282
+ # @!attribute [rw] essential
7283
+ # If the essential parameter of a container is marked as `true`, and
7284
+ # that container fails or stops for any reason, all other containers
7285
+ # that are part of the task are stopped. If the `essential` parameter
7286
+ # of a container is marked as false, its failure doesn't affect the
7287
+ # rest of the containers in a task. If this parameter is omitted, a
7288
+ # container is assumed to be essential.
7289
+ #
7290
+ # All tasks must have at least one essential container. If you have an
7291
+ # application that's composed of multiple containers, group
7292
+ # containers that are used for a common purpose into components, and
7293
+ # separate the different components into multiple task definitions.
7294
+ # For more information, see [Application Architecture][1] in the
7295
+ # *Amazon Elastic Container Service Developer Guide*.
7296
+ #
7297
+ #
7298
+ #
7299
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/application_architecture.html
7300
+ # @return [Boolean]
7301
+ #
7302
+ # @!attribute [rw] image
7303
+ # The image used to start a container. This string is passed directly
7304
+ # to the Docker daemon. By default, images in the Docker Hub registry
7305
+ # are available. Other repositories are specified with either
7306
+ # `repository-url/image:tag` or `repository-url/image@digest`. Up to
7307
+ # 255 letters (uppercase and lowercase), numbers, hyphens,
7308
+ # underscores, colons, periods, forward slashes, and number signs are
7309
+ # allowed. This parameter maps to `Image` in the [Create a
7310
+ # container][1] section of the [Docker Remote API][2] and the `IMAGE`
7311
+ # parameter of the [ *docker run* ][3].
7312
+ #
7313
+ #
7314
+ #
7315
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
7316
+ # [2]: https://docs.docker.com/engine/api/v1.35/
7317
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
7318
+ # @return [String]
7319
+ #
7320
+ # @!attribute [rw] linux_parameters
7321
+ # Linux-specific modifications that are applied to the container, such
7322
+ # as Linux kernel capabilities. For more information, see
7323
+ # [KernelCapabilities][1].
7324
+ #
7325
+ #
7326
+ #
7327
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html
7328
+ # @return [Types::LinuxParameters]
7329
+ #
7330
+ # @!attribute [rw] log_configuration
7331
+ # The log configuration specification for the container.
7332
+ #
7333
+ # This parameter maps to `LogConfig` in the [Create a container][1]
7334
+ # section of the [Docker Remote API][2] and the `--log-driver` option
7335
+ # to [docker run][3].
7336
+ #
7337
+ # By default, containers use the same logging driver that the Docker
7338
+ # daemon uses. However the container can use a different logging
7339
+ # driver than the Docker daemon by specifying a log driver with this
7340
+ # parameter in the container definition. To use a different logging
7341
+ # driver for a container, the log system must be configured properly
7342
+ # on the container instance (or on a different log server for remote
7343
+ # logging options). For more information about the options for
7344
+ # different supported log drivers, see [Configure logging drivers ][4]
7345
+ # in the *Docker documentation*.
7346
+ #
7347
+ # <note markdown="1"> Amazon ECS currently supports a subset of the logging drivers
7348
+ # available to the Docker daemon (shown in the `LogConfiguration` data
7349
+ # type). Additional log drivers may be available in future releases of
7350
+ # the Amazon ECS container agent.
7351
+ #
7352
+ # </note>
7353
+ #
7354
+ # This parameter requires version 1.18 of the Docker Remote API or
7355
+ # greater on your container instance. To check the Docker Remote API
7356
+ # version on your container instance, log in to your container
7357
+ # instance and run the following command: sudo docker version
7358
+ # `--format '\{\{.Server.APIVersion\}\}'`
7359
+ #
7360
+ # <note markdown="1"> The Amazon ECS container agent running on a container instance must
7361
+ # register the logging drivers available on that instance with the
7362
+ # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
7363
+ # containers placed on that instance can use these log configuration
7364
+ # options. For more information, see [Amazon ECS container agent
7365
+ # configuration][5] in the *Amazon Elastic Container Service Developer
7366
+ # Guide*.
7367
+ #
7368
+ # </note>
7369
+ #
7370
+ #
7371
+ #
7372
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
7373
+ # [2]: https://docs.docker.com/engine/api/v1.35/
7374
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
7375
+ # [4]: https://docs.docker.com/engine/admin/logging/overview/
7376
+ # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
7377
+ # @return [Types::LogConfiguration]
7378
+ #
7379
+ # @!attribute [rw] mount_points
7380
+ # The mount points for data volumes in your container.
7381
+ #
7382
+ # This parameter maps to `Volumes` in the [Create a container][1]
7383
+ # section of the [Docker Remote API][2] and the [--volume]() option to
7384
+ # [docker run][3].
7385
+ #
7386
+ # Windows containers can mount whole directories on the same drive as
7387
+ # `$env:ProgramData`. Windows containers can't mount directories on a
7388
+ # different drive, and mount point can't be across drives.
7389
+ #
7390
+ #
7391
+ #
7392
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
7393
+ # [2]: https://docs.docker.com/engine/api/v1.35/
7394
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
7395
+ # @return [Array<Types::MountPoint>]
7396
+ #
7397
+ # @!attribute [rw] name
7398
+ # The name of a container. The name can be used as a unique identifier
7399
+ # to target your `dependsOn` and `Overrides` objects.
7400
+ # @return [String]
7401
+ #
7402
+ # @!attribute [rw] privileged
7403
+ # When this parameter is `true`, the container is given elevated
7404
+ # privileges on the host container instance (similar to the `root`
7405
+ # user). This parameter maps to `Privileged` in the [Create a
7406
+ # container][1] section of the [Docker Remote API][2] and the
7407
+ # `--privileged` option to [docker run][3].
7408
+ #
7409
+ # <note markdown="1"> This parameter is not supported for Windows containers or tasks run
7410
+ # on Fargate.
7411
+ #
7412
+ # </note>
7413
+ #
7414
+ #
7415
+ #
7416
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
7417
+ # [2]: https://docs.docker.com/engine/api/v1.35/
7418
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
7419
+ # @return [Boolean]
7420
+ #
7421
+ # @!attribute [rw] readonly_root_filesystem
7422
+ # When this parameter is true, the container is given read-only access
7423
+ # to its root file system. This parameter maps to `ReadonlyRootfs` in
7424
+ # the [Create a container][1] section of the [Docker Remote API][2]
7425
+ # and the `--read-only` option to [docker run][3].
7426
+ #
7427
+ # <note markdown="1"> This parameter is not supported for Windows containers.
7428
+ #
7429
+ # </note>
7430
+ #
7431
+ #
7432
+ #
7433
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
7434
+ # [2]: https://docs.docker.com/engine/api/v1.35/
7435
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
7436
+ # @return [Boolean]
7437
+ #
7438
+ # @!attribute [rw] repository_credentials
7439
+ # The private repository authentication credentials to use.
7440
+ # @return [Types::RepositoryCredentials]
7441
+ #
7442
+ # @!attribute [rw] resource_requirements
7443
+ # The type and amount of a resource to assign to a container. The only
7444
+ # supported resource is a GPU.
7445
+ # @return [Array<Types::ResourceRequirement>]
7446
+ #
7447
+ # @!attribute [rw] secrets
7448
+ # The secrets to pass to the container. For more information, see
7449
+ # [Specifying Sensitive Data][1] in the Amazon Elastic Container
7450
+ # Service Developer Guide.
7451
+ #
7452
+ #
7453
+ #
7454
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
7455
+ # @return [Array<Types::Secret>]
7456
+ #
7457
+ # @!attribute [rw] ulimits
7458
+ # A list of `ulimits` to set in the container. If a `ulimit` value is
7459
+ # specified in a task definition, it overrides the default values set
7460
+ # by Docker. This parameter maps to `Ulimits` in the [Create a
7461
+ # container][1] section of the [Docker Remote API][2] and the
7462
+ # `--ulimit` option to [docker run][3].
7463
+ #
7464
+ # Amazon ECS tasks hosted on Fargate use the default resource limit
7465
+ # values set by the operating system with the exception of the nofile
7466
+ # resource limit parameter which Fargate overrides. The `nofile`
7467
+ # resource limit sets a restriction on the number of open files that a
7468
+ # container can use. The default `nofile` soft limit is `1024` and the
7469
+ # default hard limit is `65535`.
7470
+ #
7471
+ # This parameter requires version 1.18 of the Docker Remote API or
7472
+ # greater on your container instance. To check the Docker Remote API
7473
+ # version on your container instance, log in to your container
7474
+ # instance and run the following command: sudo docker version
7475
+ # `--format '\{\{.Server.APIVersion\}\}'`
7476
+ #
7477
+ # <note markdown="1"> This parameter is not supported for Windows containers.
7478
+ #
7479
+ # </note>
7480
+ #
7481
+ #
7482
+ #
7483
+ # [1]: https://docs.docker.com/engine/api/v1.35/#operation/ContainerCreate
7484
+ # [2]: https://docs.docker.com/engine/api/v1.35/
7485
+ # [3]: https://docs.docker.com/engine/reference/run/#security-configuration
7486
+ # @return [Array<Types::Ulimit>]
7487
+ #
7488
+ # @!attribute [rw] user
7489
+ # The user to use inside the container. This parameter maps to User in
7490
+ # the Create a container section of the Docker Remote API and the
7491
+ # --user option to docker run.
7492
+ #
7493
+ # <note markdown="1"> When running tasks using the `host` network mode, don't run
7494
+ # containers using the `root user (UID 0)`. We recommend using a
7495
+ # non-root user for better security.
7496
+ #
7497
+ # </note>
7498
+ #
7499
+ # You can specify the `user` using the following formats. If
7500
+ # specifying a UID or GID, you must specify it as a positive integer.
7501
+ #
7502
+ # * `user`
7503
+ #
7504
+ # * `user:group`
7505
+ #
7506
+ # * `uid`
7507
+ #
7508
+ # * `uid:gid`
7509
+ #
7510
+ # * `user:gi`
7511
+ #
7512
+ # * `uid:group`
7513
+ #
7514
+ # <note markdown="1"> This parameter is not supported for Windows containers.
7515
+ #
7516
+ # </note>
7517
+ # @return [String]
7518
+ #
7519
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TaskContainerProperties AWS API Documentation
7520
+ #
7521
+ class TaskContainerProperties < Struct.new(
7522
+ :command,
7523
+ :depends_on,
7524
+ :environment,
7525
+ :essential,
7526
+ :image,
7527
+ :linux_parameters,
7528
+ :log_configuration,
7529
+ :mount_points,
7530
+ :name,
7531
+ :privileged,
7532
+ :readonly_root_filesystem,
7533
+ :repository_credentials,
7534
+ :resource_requirements,
7535
+ :secrets,
7536
+ :ulimits,
7537
+ :user)
7538
+ SENSITIVE = []
7539
+ include Aws::Structure
7540
+ end
7541
+
7542
+ # An object that contains overrides for the task definition of a job.
7543
+ #
7544
+ # @!attribute [rw] containers
7545
+ # The overrides for the container definition of a job.
7546
+ # @return [Array<Types::TaskContainerOverrides>]
7547
+ #
7548
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TaskPropertiesOverride AWS API Documentation
7549
+ #
7550
+ class TaskPropertiesOverride < Struct.new(
7551
+ :containers)
7552
+ SENSITIVE = []
7553
+ include Aws::Structure
7554
+ end
7555
+
6338
7556
  # Contains the parameters for `TerminateJob`.
6339
7557
  #
6340
7558
  # @!attribute [rw] job_id
@@ -6402,19 +7620,27 @@ module Aws::Batch
6402
7620
  include Aws::Structure
6403
7621
  end
6404
7622
 
6405
- # The `ulimit` settings to pass to the container.
7623
+ # The `ulimit` settings to pass to the container. For more information,
7624
+ # see [Ulimit][1].
6406
7625
  #
6407
7626
  # <note markdown="1"> This object isn't applicable to jobs that are running on Fargate
6408
7627
  # resources.
6409
7628
  #
6410
7629
  # </note>
6411
7630
  #
7631
+ #
7632
+ #
7633
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Ulimit.html
7634
+ #
6412
7635
  # @!attribute [rw] hard_limit
6413
7636
  # The hard limit for the `ulimit` type.
6414
7637
  # @return [Integer]
6415
7638
  #
6416
7639
  # @!attribute [rw] name
6417
- # The `type` of the `ulimit`.
7640
+ # The `type` of the `ulimit`. Valid values are: `core` \| `cpu` \|
7641
+ # `data` \| `fsize` \| `locks` \| `memlock` \| `msgqueue` \| `nice` \|
7642
+ # `nofile` \| `nproc` \| `rss` \| `rtprio` \| `rttime` \| `sigpending`
7643
+ # \| `stack`.
6418
7644
  # @return [String]
6419
7645
  #
6420
7646
  # @!attribute [rw] soft_limit