aws-sdk-batch 1.80.0 → 1.82.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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