aws-sdk-batch 1.56.0 → 1.77.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,7 +27,11 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
36
 
33
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:batch)
@@ -73,8 +77,13 @@ module Aws::Batch
73
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
78
  add_plugin(Aws::Plugins::TransferEncoding)
75
79
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
77
85
  add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::Batch::Plugins::Endpoints)
78
87
 
79
88
  # @overload initialize(options)
80
89
  # @param [Hash] options
@@ -175,10 +184,18 @@ module Aws::Batch
175
184
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
185
  # a clock skew correction and retry requests with skewed client clocks.
177
186
  #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
178
191
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
192
  # Set to true to disable SDK automatically adding host prefix
180
193
  # to default service endpoint when available.
181
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
182
199
  # @option options [String] :endpoint
183
200
  # The client endpoint is normally constructed from the `:region`
184
201
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +216,10 @@ module Aws::Batch
199
216
  # @option options [Boolean] :endpoint_discovery (false)
200
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
202
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
224
  # The log formatter.
204
225
  #
@@ -219,6 +240,11 @@ module Aws::Batch
219
240
  # Used when loading credentials from the shared credentials file
220
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
222
248
  # @option options [Proc] :retry_backoff
223
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
250
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +290,11 @@ module Aws::Batch
264
290
  # in the future.
265
291
  #
266
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
267
298
  # @option options [String] :secret_access_key
268
299
  #
269
300
  # @option options [String] :session_token
@@ -277,6 +308,19 @@ module Aws::Batch
277
308
  # ** Please note ** When response stubbing is enabled, no HTTP
278
309
  # requests are made, and retries are disabled.
279
310
  #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
280
324
  # @option options [Boolean] :use_dualstack_endpoint
281
325
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
326
  # will be used if available.
@@ -290,6 +334,9 @@ module Aws::Batch
290
334
  # When `true`, request parameters are validated before
291
335
  # sending the request.
292
336
  #
337
+ # @option options [Aws::Batch::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Batch::EndpointParameters`
339
+ #
293
340
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
294
341
  # requests through. Formatted like 'http://proxy.com:123'.
295
342
  #
@@ -297,7 +344,7 @@ module Aws::Batch
297
344
  # seconds to wait when opening a HTTP session before raising a
298
345
  # `Timeout::Error`.
299
346
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
347
+ # @option options [Float] :http_read_timeout (60) The default
301
348
  # number of seconds to wait for response data. This value can
302
349
  # safely be set per-request on the session.
303
350
  #
@@ -313,6 +360,9 @@ module Aws::Batch
313
360
  # disables this behaviour. This value can safely be set per
314
361
  # request on the session.
315
362
  #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
316
366
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
367
  # HTTP debug output will be sent to the `:logger`.
318
368
  #
@@ -338,11 +388,25 @@ module Aws::Batch
338
388
 
339
389
  # @!group API Operations
340
390
 
341
- # Cancels a job in an Batch job queue. Jobs that are in the `SUBMITTED`,
342
- # `PENDING`, or `RUNNABLE` state are canceled. Jobs that have progressed
343
- # to `STARTING` or `RUNNING` aren't canceled, but the API operation
344
- # still succeeds, even if no job is canceled. These jobs must be
345
- # terminated with the TerminateJob operation.
391
+ # Cancels a job in an Batch job queue. Jobs that are in the `SUBMITTED`
392
+ # or `PENDING` are canceled. A job in`RUNNABLE` remains in `RUNNABLE`
393
+ # until it reaches the head of the job queue. Then the job status is
394
+ # updated to `FAILED`.
395
+ #
396
+ # <note markdown="1"> A `PENDING` job is canceled after all dependency jobs are completed.
397
+ # Therefore, it may take longer than expected to cancel a job in
398
+ # `PENDING` status.
399
+ #
400
+ # When you try to cancel an array parent job in `PENDING`, Batch
401
+ # attempts to cancel all child jobs. The array parent job is canceled
402
+ # when all child jobs are completed.
403
+ #
404
+ # </note>
405
+ #
406
+ # Jobs that progressed to the `STARTING` or `RUNNING` state aren't
407
+ # canceled. However, the API operation still succeeds, even if no job is
408
+ # canceled. These jobs must be terminated with the TerminateJob
409
+ # operation.
346
410
  #
347
411
  # @option params [required, String] :job_id
348
412
  # The Batch job ID of the job to cancel.
@@ -404,9 +468,9 @@ module Aws::Batch
404
468
  # </note>
405
469
  #
406
470
  # In an unmanaged compute environment, you can manage your own EC2
407
- # compute resources and have a lot of flexibility with how you configure
408
- # your compute resources. For example, you can use custom AMIs. However,
409
- # you must verify that each of your AMIs meet the Amazon ECS container
471
+ # compute resources and have flexibility with how you configure your
472
+ # compute resources. For example, you can use custom AMIs. However, you
473
+ # must verify that each of your AMIs meet the Amazon ECS container
410
474
  # instance AMI specification. For more information, see [container
411
475
  # instance AMIs][2] in the *Amazon Elastic Container Service Developer
412
476
  # Guide*. After you created your unmanaged compute environment, you can
@@ -416,13 +480,20 @@ module Aws::Batch
416
480
  # [Launching an Amazon ECS container instance][3] in the *Amazon Elastic
417
481
  # Container Service Developer Guide*.
418
482
  #
419
- # <note markdown="1"> Batch doesn't upgrade the AMIs in a compute environment after the
420
- # environment is created. For example, it doesn't update the AMIs when
421
- # a newer version of the Amazon ECS optimized AMI is available.
422
- # Therefore, you're responsible for managing the guest operating system
423
- # (including its updates and security patches) and any additional
424
- # application software or utilities that you install on the compute
425
- # resources. To use a new AMI for your Batch jobs, complete these steps:
483
+ # <note markdown="1"> To create a compute environment that uses EKS resources, the caller
484
+ # must have permissions to call `eks:DescribeCluster`.
485
+ #
486
+ # </note>
487
+ #
488
+ # <note markdown="1"> Batch doesn't automatically upgrade the AMIs in a compute environment
489
+ # after it's created. For example, it also doesn't update the AMIs in
490
+ # your compute environment when a newer version of the Amazon ECS
491
+ # optimized AMI is available. You're responsible for the management of
492
+ # the guest operating system. This includes any updates and security
493
+ # patches. You're also responsible for any additional application
494
+ # software or utilities that you install on the compute resources. There
495
+ # are two ways to use a new AMI for your Batch jobs. The original method
496
+ # is to complete these steps:
426
497
  #
427
498
  # 1. Create a new compute environment with the new AMI.
428
499
  #
@@ -432,6 +503,47 @@ module Aws::Batch
432
503
  #
433
504
  # 4. Delete the earlier compute environment.
434
505
  #
506
+ # In April 2022, Batch added enhanced support for updating compute
507
+ # environments. For more information, see [Updating compute
508
+ # environments][4]. To use the enhanced updating of compute environments
509
+ # to update AMIs, follow these rules:
510
+ #
511
+ # * Either don't set the service role (`serviceRole`) parameter or set
512
+ # it to the **AWSBatchServiceRole** service-linked role.
513
+ #
514
+ # * Set the allocation strategy (`allocationStrategy`) parameter to
515
+ # `BEST_FIT_PROGRESSIVE`, `SPOT_CAPACITY_OPTIMIZED`, or
516
+ # `SPOT_PRICE_CAPACITY_OPTIMIZED`.
517
+ #
518
+ # * Set the update to latest image version
519
+ # (`updateToLatestImageVersion`) parameter to `true`. The
520
+ # `updateToLatestImageVersion` parameter is used when you update a
521
+ # compute environment. This parameter is ignored when you create a
522
+ # compute environment.
523
+ #
524
+ # * Don't specify an AMI ID in `imageId`, `imageIdOverride` (in [
525
+ # `ec2Configuration` ][5]), or in the launch template
526
+ # (`launchTemplate`). In that case, Batch selects the latest Amazon
527
+ # ECS optimized AMI that's supported by Batch at the time the
528
+ # infrastructure update is initiated. Alternatively, you can specify
529
+ # the AMI ID in the `imageId` or `imageIdOverride` parameters, or the
530
+ # launch template identified by the `LaunchTemplate` properties.
531
+ # Changing any of these properties starts an infrastructure update. If
532
+ # the AMI ID is specified in the launch template, it can't be
533
+ # replaced by specifying an AMI ID in either the `imageId` or
534
+ # `imageIdOverride` parameters. It can only be replaced by specifying
535
+ # a different launch template, or if the launch template version is
536
+ # set to `$Default` or `$Latest`, by setting either a new default
537
+ # version for the launch template (if `$Default`) or by adding a new
538
+ # version to the launch template (if `$Latest`).
539
+ #
540
+ # If these rules are followed, any update that starts an infrastructure
541
+ # update causes the AMI ID to be re-selected. If the `version` setting
542
+ # in the launch template (`launchTemplate`) is set to `$Latest` or
543
+ # `$Default`, the latest or default version of the launch template is
544
+ # evaluated up at the time of the infrastructure update, even if the
545
+ # `launchTemplate` wasn't updated.
546
+ #
435
547
  # </note>
436
548
  #
437
549
  #
@@ -439,9 +551,11 @@ module Aws::Batch
439
551
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html
440
552
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/container_instance_AMIs.html
441
553
  # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_container_instance.html
554
+ # [4]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
555
+ # [5]: https://docs.aws.amazon.com/batch/latest/APIReference/API_Ec2Configuration.html
442
556
  #
443
557
  # @option params [required, String] :compute_environment_name
444
- # The name for your compute environment. It can be up to 128 letters
558
+ # The name for your compute environment. It can be up to 128 characters
445
559
  # long. It can contain uppercase and lowercase letters, numbers, hyphens
446
560
  # (-), and underscores (\_).
447
561
  #
@@ -468,8 +582,24 @@ module Aws::Batch
468
582
  # If the state is `DISABLED`, then the Batch scheduler doesn't attempt
469
583
  # to place jobs within the environment. Jobs in a `STARTING` or
470
584
  # `RUNNING` state continue to progress normally. Managed compute
471
- # environments in the `DISABLED` state don't scale out. However, they
472
- # scale in to `minvCpus` value after instances become idle.
585
+ # environments in the `DISABLED` state don't scale out.
586
+ #
587
+ # <note markdown="1"> Compute environments in a `DISABLED` state may continue to incur
588
+ # billing charges. To prevent additional charges, turn off and then
589
+ # delete the compute environment. For more information, see [State][1]
590
+ # in the *Batch User Guide*.
591
+ #
592
+ # </note>
593
+ #
594
+ # When an instance is idle, the instance scales down to the `minvCpus`
595
+ # value. However, the instance size doesn't change. For example,
596
+ # consider a `c5.8xlarge` instance with a `minvCpus` value of `4` and a
597
+ # `desiredvCpus` value of `36`. This instance doesn't scale down to a
598
+ # `c5.large` instance.
599
+ #
600
+ #
601
+ #
602
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environment_parameters.html#compute_environment_state
473
603
  #
474
604
  # @option params [Integer] :unmanagedv_cpus
475
605
  # The maximum number of vCPUs for an unmanaged compute environment. This
@@ -478,7 +608,7 @@ module Aws::Batch
478
608
  # for a fair share job queue, no vCPU capacity is reserved.
479
609
  #
480
610
  # <note markdown="1"> This parameter is only supported when the `type` parameter is set to
481
- # `UNMANAGED`/
611
+ # `UNMANAGED`.
482
612
  #
483
613
  # </note>
484
614
  #
@@ -508,9 +638,8 @@ module Aws::Batch
508
638
  # If your specified role has a path other than `/`, then you must
509
639
  # specify either the full role ARN (recommended) or prefix the role name
510
640
  # with the path. For example, if a role with the name `bar` has a path
511
- # of `/foo/` then you would specify `/foo/bar` as the role name. For
512
- # more information, see [Friendly names and paths][2] in the *IAM User
513
- # Guide*.
641
+ # of `/foo/`, specify `/foo/bar` as the role name. For more information,
642
+ # see [Friendly names and paths][2] in the *IAM User Guide*.
514
643
  #
515
644
  # <note markdown="1"> Depending on how you created your Batch service role, its ARN might
516
645
  # contain the `service-role` path prefix. When you only specify the name
@@ -542,6 +671,10 @@ module Aws::Batch
542
671
  # [2]: https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html
543
672
  # [3]: https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html
544
673
  #
674
+ # @option params [Types::EksConfiguration] :eks_configuration
675
+ # The details for the Amazon EKS cluster that supports the compute
676
+ # environment.
677
+ #
545
678
  # @return [Types::CreateComputeEnvironmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
546
679
  #
547
680
  # * {Types::CreateComputeEnvironmentResponse#compute_environment_name #compute_environment_name} => String
@@ -643,7 +776,7 @@ module Aws::Batch
643
776
  # unmanagedv_cpus: 1,
644
777
  # compute_resources: {
645
778
  # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
646
- # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
779
+ # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED, SPOT_PRICE_CAPACITY_OPTIMIZED
647
780
  # minv_cpus: 1,
648
781
  # maxv_cpus: 1, # required
649
782
  # desiredv_cpus: 1,
@@ -668,6 +801,7 @@ module Aws::Batch
668
801
  # {
669
802
  # image_type: "ImageType", # required
670
803
  # image_id_override: "ImageIdOverride",
804
+ # image_kubernetes_version: "KubernetesVersion",
671
805
  # },
672
806
  # ],
673
807
  # },
@@ -675,6 +809,10 @@ module Aws::Batch
675
809
  # tags: {
676
810
  # "TagKey" => "TagValue",
677
811
  # },
812
+ # eks_configuration: {
813
+ # eks_cluster_arn: "String", # required
814
+ # kubernetes_namespace: "String", # required
815
+ # },
678
816
  # })
679
817
  #
680
818
  # @example Response structure
@@ -721,7 +859,7 @@ module Aws::Batch
721
859
  # scheduling policy. The format is
722
860
  # `aws:Partition:batch:Region:Account:scheduling-policy/Name `. An
723
861
  # example is
724
- # `aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy`.
862
+ # `aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy`.
725
863
  #
726
864
  # @option params [required, Integer] :priority
727
865
  # The priority of the job queue. Job queues with a higher priority (or a
@@ -736,7 +874,7 @@ module Aws::Batch
736
874
  # @option params [required, Array<Types::ComputeEnvironmentOrder>] :compute_environment_order
737
875
  # The set of compute environments mapped to a job queue and their order
738
876
  # relative to each other. The job scheduler uses this parameter to
739
- # determine which compute environment should run a specific job. Compute
877
+ # determine which compute environment runs a specific job. Compute
740
878
  # environments must be in the `VALID` state before you can associate
741
879
  # them with a job queue. You can associate up to three compute
742
880
  # environments with a job queue. All of the compute environments must be
@@ -1060,8 +1198,8 @@ module Aws::Batch
1060
1198
  #
1061
1199
  # If you're using an unmanaged compute environment, you can use the
1062
1200
  # `DescribeComputeEnvironment` operation to determine the
1063
- # `ecsClusterArn` that you should launch your Amazon ECS container
1064
- # instances into.
1201
+ # `ecsClusterArn` that you launch your Amazon ECS container instances
1202
+ # into.
1065
1203
  #
1066
1204
  # @option params [Array<String>] :compute_environments
1067
1205
  # A list of up to 100 compute environment names or full Amazon Resource
@@ -1085,9 +1223,8 @@ module Aws::Batch
1085
1223
  # from the end of the previous results that returned the `nextToken`
1086
1224
  # value. This value is `null` when there are no more results to return.
1087
1225
  #
1088
- # <note markdown="1"> This token should be treated as an opaque identifier that's only used
1089
- # to retrieve the next items in a list and not for other programmatic
1090
- # purposes.
1226
+ # <note markdown="1"> Treat this token as an opaque identifier that's only used to retrieve
1227
+ # the next items in a list and not for other programmatic purposes.
1091
1228
  #
1092
1229
  # </note>
1093
1230
  #
@@ -1169,7 +1306,7 @@ module Aws::Batch
1169
1306
  # resp.compute_environments[0].status #=> String, one of "CREATING", "UPDATING", "DELETING", "DELETED", "VALID", "INVALID"
1170
1307
  # resp.compute_environments[0].status_reason #=> String
1171
1308
  # resp.compute_environments[0].compute_resources.type #=> String, one of "EC2", "SPOT", "FARGATE", "FARGATE_SPOT"
1172
- # resp.compute_environments[0].compute_resources.allocation_strategy #=> String, one of "BEST_FIT", "BEST_FIT_PROGRESSIVE", "SPOT_CAPACITY_OPTIMIZED"
1309
+ # resp.compute_environments[0].compute_resources.allocation_strategy #=> String, one of "BEST_FIT", "BEST_FIT_PROGRESSIVE", "SPOT_CAPACITY_OPTIMIZED", "SPOT_PRICE_CAPACITY_OPTIMIZED"
1173
1310
  # resp.compute_environments[0].compute_resources.minv_cpus #=> Integer
1174
1311
  # resp.compute_environments[0].compute_resources.maxv_cpus #=> Integer
1175
1312
  # resp.compute_environments[0].compute_resources.desiredv_cpus #=> Integer
@@ -1193,7 +1330,14 @@ module Aws::Batch
1193
1330
  # resp.compute_environments[0].compute_resources.ec2_configuration #=> Array
1194
1331
  # resp.compute_environments[0].compute_resources.ec2_configuration[0].image_type #=> String
1195
1332
  # resp.compute_environments[0].compute_resources.ec2_configuration[0].image_id_override #=> String
1333
+ # resp.compute_environments[0].compute_resources.ec2_configuration[0].image_kubernetes_version #=> String
1196
1334
  # resp.compute_environments[0].service_role #=> String
1335
+ # resp.compute_environments[0].update_policy.terminate_jobs_on_update #=> Boolean
1336
+ # resp.compute_environments[0].update_policy.job_execution_timeout_minutes #=> Integer
1337
+ # resp.compute_environments[0].eks_configuration.eks_cluster_arn #=> String
1338
+ # resp.compute_environments[0].eks_configuration.kubernetes_namespace #=> String
1339
+ # resp.compute_environments[0].container_orchestration_type #=> String, one of "ECS", "EKS"
1340
+ # resp.compute_environments[0].uuid #=> String
1197
1341
  # resp.next_token #=> String
1198
1342
  #
1199
1343
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironments AWS API Documentation
@@ -1239,9 +1383,8 @@ module Aws::Batch
1239
1383
  # from the end of the previous results that returned the `nextToken`
1240
1384
  # value. This value is `null` when there are no more results to return.
1241
1385
  #
1242
- # <note markdown="1"> This token should be treated as an opaque identifier that's only used
1243
- # to retrieve the next items in a list and not for other programmatic
1244
- # purposes.
1386
+ # <note markdown="1"> Treat this token as an opaque identifier that's only used to retrieve
1387
+ # the next items in a list and not for other programmatic purposes.
1245
1388
  #
1246
1389
  # </note>
1247
1390
  #
@@ -1385,6 +1528,9 @@ module Aws::Batch
1385
1528
  # resp.job_definitions[0].container_properties.secrets[0].value_from #=> String
1386
1529
  # resp.job_definitions[0].container_properties.network_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
1387
1530
  # resp.job_definitions[0].container_properties.fargate_platform_configuration.platform_version #=> String
1531
+ # resp.job_definitions[0].container_properties.ephemeral_storage.size_in_gi_b #=> Integer
1532
+ # resp.job_definitions[0].container_properties.runtime_platform.operating_system_family #=> String
1533
+ # resp.job_definitions[0].container_properties.runtime_platform.cpu_architecture #=> String
1388
1534
  # resp.job_definitions[0].timeout.attempt_duration_seconds #=> Integer
1389
1535
  # resp.job_definitions[0].node_properties.num_nodes #=> Integer
1390
1536
  # resp.job_definitions[0].node_properties.main_node #=> Integer
@@ -1449,11 +1595,51 @@ module Aws::Batch
1449
1595
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.secrets[0].value_from #=> String
1450
1596
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.network_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
1451
1597
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.fargate_platform_configuration.platform_version #=> String
1598
+ # resp.job_definitions[0].node_properties.node_range_properties[0].container.ephemeral_storage.size_in_gi_b #=> Integer
1599
+ # resp.job_definitions[0].node_properties.node_range_properties[0].container.runtime_platform.operating_system_family #=> String
1600
+ # resp.job_definitions[0].node_properties.node_range_properties[0].container.runtime_platform.cpu_architecture #=> String
1452
1601
  # resp.job_definitions[0].tags #=> Hash
1453
1602
  # resp.job_definitions[0].tags["TagKey"] #=> String
1454
1603
  # resp.job_definitions[0].propagate_tags #=> Boolean
1455
1604
  # resp.job_definitions[0].platform_capabilities #=> Array
1456
1605
  # resp.job_definitions[0].platform_capabilities[0] #=> String, one of "EC2", "FARGATE"
1606
+ # resp.job_definitions[0].eks_properties.pod_properties.service_account_name #=> String
1607
+ # resp.job_definitions[0].eks_properties.pod_properties.host_network #=> Boolean
1608
+ # resp.job_definitions[0].eks_properties.pod_properties.dns_policy #=> String
1609
+ # resp.job_definitions[0].eks_properties.pod_properties.containers #=> Array
1610
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].name #=> String
1611
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].image #=> String
1612
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].image_pull_policy #=> String
1613
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].command #=> Array
1614
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].command[0] #=> String
1615
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].args #=> Array
1616
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].args[0] #=> String
1617
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].env #=> Array
1618
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].env[0].name #=> String
1619
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].env[0].value #=> String
1620
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].resources.limits #=> Hash
1621
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].resources.limits["String"] #=> String
1622
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].resources.requests #=> Hash
1623
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].resources.requests["String"] #=> String
1624
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].volume_mounts #=> Array
1625
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].volume_mounts[0].name #=> String
1626
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].volume_mounts[0].mount_path #=> String
1627
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].volume_mounts[0].read_only #=> Boolean
1628
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].security_context.run_as_user #=> Integer
1629
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].security_context.run_as_group #=> Integer
1630
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].security_context.privileged #=> Boolean
1631
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].security_context.read_only_root_filesystem #=> Boolean
1632
+ # resp.job_definitions[0].eks_properties.pod_properties.containers[0].security_context.run_as_non_root #=> Boolean
1633
+ # resp.job_definitions[0].eks_properties.pod_properties.volumes #=> Array
1634
+ # resp.job_definitions[0].eks_properties.pod_properties.volumes[0].name #=> String
1635
+ # resp.job_definitions[0].eks_properties.pod_properties.volumes[0].host_path.path #=> String
1636
+ # resp.job_definitions[0].eks_properties.pod_properties.volumes[0].empty_dir.medium #=> String
1637
+ # resp.job_definitions[0].eks_properties.pod_properties.volumes[0].empty_dir.size_limit #=> String
1638
+ # resp.job_definitions[0].eks_properties.pod_properties.volumes[0].secret.secret_name #=> String
1639
+ # resp.job_definitions[0].eks_properties.pod_properties.volumes[0].secret.optional #=> Boolean
1640
+ # resp.job_definitions[0].eks_properties.pod_properties.metadata.labels #=> Hash
1641
+ # resp.job_definitions[0].eks_properties.pod_properties.metadata.labels["String"] #=> String
1642
+ # resp.job_definitions[0].container_orchestration_type #=> String, one of "ECS", "EKS"
1457
1643
  # resp.next_token #=> String
1458
1644
  #
1459
1645
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions AWS API Documentation
@@ -1488,9 +1674,8 @@ module Aws::Batch
1488
1674
  # from the end of the previous results that returned the `nextToken`
1489
1675
  # value. This value is `null` when there are no more results to return.
1490
1676
  #
1491
- # <note markdown="1"> This token should be treated as an opaque identifier that's only used
1492
- # to retrieve the next items in a list and not for other programmatic
1493
- # purposes.
1677
+ # <note markdown="1"> Treat this token as an opaque identifier that's only used to retrieve
1678
+ # the next items in a list and not for other programmatic purposes.
1494
1679
  #
1495
1680
  # </note>
1496
1681
  #
@@ -1738,6 +1923,9 @@ module Aws::Batch
1738
1923
  # resp.jobs[0].container.secrets[0].value_from #=> String
1739
1924
  # resp.jobs[0].container.network_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
1740
1925
  # resp.jobs[0].container.fargate_platform_configuration.platform_version #=> String
1926
+ # resp.jobs[0].container.ephemeral_storage.size_in_gi_b #=> Integer
1927
+ # resp.jobs[0].container.runtime_platform.operating_system_family #=> String
1928
+ # resp.jobs[0].container.runtime_platform.cpu_architecture #=> String
1741
1929
  # resp.jobs[0].node_details.node_index #=> Integer
1742
1930
  # resp.jobs[0].node_details.is_main_node #=> Boolean
1743
1931
  # resp.jobs[0].node_properties.num_nodes #=> Integer
@@ -1803,6 +1991,9 @@ module Aws::Batch
1803
1991
  # resp.jobs[0].node_properties.node_range_properties[0].container.secrets[0].value_from #=> String
1804
1992
  # resp.jobs[0].node_properties.node_range_properties[0].container.network_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
1805
1993
  # resp.jobs[0].node_properties.node_range_properties[0].container.fargate_platform_configuration.platform_version #=> String
1994
+ # resp.jobs[0].node_properties.node_range_properties[0].container.ephemeral_storage.size_in_gi_b #=> Integer
1995
+ # resp.jobs[0].node_properties.node_range_properties[0].container.runtime_platform.operating_system_family #=> String
1996
+ # resp.jobs[0].node_properties.node_range_properties[0].container.runtime_platform.cpu_architecture #=> String
1806
1997
  # resp.jobs[0].array_properties.status_summary #=> Hash
1807
1998
  # resp.jobs[0].array_properties.status_summary["String"] #=> Integer
1808
1999
  # resp.jobs[0].array_properties.size #=> Integer
@@ -1813,6 +2004,57 @@ module Aws::Batch
1813
2004
  # resp.jobs[0].propagate_tags #=> Boolean
1814
2005
  # resp.jobs[0].platform_capabilities #=> Array
1815
2006
  # resp.jobs[0].platform_capabilities[0] #=> String, one of "EC2", "FARGATE"
2007
+ # resp.jobs[0].eks_properties.pod_properties.service_account_name #=> String
2008
+ # resp.jobs[0].eks_properties.pod_properties.host_network #=> Boolean
2009
+ # resp.jobs[0].eks_properties.pod_properties.dns_policy #=> String
2010
+ # resp.jobs[0].eks_properties.pod_properties.containers #=> Array
2011
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].name #=> String
2012
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].image #=> String
2013
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].image_pull_policy #=> String
2014
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].command #=> Array
2015
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].command[0] #=> String
2016
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].args #=> Array
2017
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].args[0] #=> String
2018
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].env #=> Array
2019
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].env[0].name #=> String
2020
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].env[0].value #=> String
2021
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].resources.limits #=> Hash
2022
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].resources.limits["String"] #=> String
2023
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].resources.requests #=> Hash
2024
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].resources.requests["String"] #=> String
2025
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].exit_code #=> Integer
2026
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].reason #=> String
2027
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].volume_mounts #=> Array
2028
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].volume_mounts[0].name #=> String
2029
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].volume_mounts[0].mount_path #=> String
2030
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].volume_mounts[0].read_only #=> Boolean
2031
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].security_context.run_as_user #=> Integer
2032
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].security_context.run_as_group #=> Integer
2033
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].security_context.privileged #=> Boolean
2034
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].security_context.read_only_root_filesystem #=> Boolean
2035
+ # resp.jobs[0].eks_properties.pod_properties.containers[0].security_context.run_as_non_root #=> Boolean
2036
+ # resp.jobs[0].eks_properties.pod_properties.volumes #=> Array
2037
+ # resp.jobs[0].eks_properties.pod_properties.volumes[0].name #=> String
2038
+ # resp.jobs[0].eks_properties.pod_properties.volumes[0].host_path.path #=> String
2039
+ # resp.jobs[0].eks_properties.pod_properties.volumes[0].empty_dir.medium #=> String
2040
+ # resp.jobs[0].eks_properties.pod_properties.volumes[0].empty_dir.size_limit #=> String
2041
+ # resp.jobs[0].eks_properties.pod_properties.volumes[0].secret.secret_name #=> String
2042
+ # resp.jobs[0].eks_properties.pod_properties.volumes[0].secret.optional #=> Boolean
2043
+ # resp.jobs[0].eks_properties.pod_properties.pod_name #=> String
2044
+ # resp.jobs[0].eks_properties.pod_properties.node_name #=> String
2045
+ # resp.jobs[0].eks_properties.pod_properties.metadata.labels #=> Hash
2046
+ # resp.jobs[0].eks_properties.pod_properties.metadata.labels["String"] #=> String
2047
+ # resp.jobs[0].eks_attempts #=> Array
2048
+ # resp.jobs[0].eks_attempts[0].containers #=> Array
2049
+ # resp.jobs[0].eks_attempts[0].containers[0].exit_code #=> Integer
2050
+ # resp.jobs[0].eks_attempts[0].containers[0].reason #=> String
2051
+ # resp.jobs[0].eks_attempts[0].pod_name #=> String
2052
+ # resp.jobs[0].eks_attempts[0].node_name #=> String
2053
+ # resp.jobs[0].eks_attempts[0].started_at #=> Integer
2054
+ # resp.jobs[0].eks_attempts[0].stopped_at #=> Integer
2055
+ # resp.jobs[0].eks_attempts[0].status_reason #=> String
2056
+ # resp.jobs[0].is_cancelled #=> Boolean
2057
+ # resp.jobs[0].is_terminated #=> Boolean
1816
2058
  #
1817
2059
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs AWS API Documentation
1818
2060
  #
@@ -1911,9 +2153,8 @@ module Aws::Batch
1911
2153
  # results that returned the `nextToken` value. This value is `null` when
1912
2154
  # there are no more results to return.
1913
2155
  #
1914
- # <note markdown="1"> This token should be treated as an opaque identifier that's only used
1915
- # to retrieve the next items in a list and not for other programmatic
1916
- # purposes.
2156
+ # <note markdown="1"> Treat this token as an opaque identifier that's only used to retrieve
2157
+ # the next items in a list and not for other programmatic purposes.
1917
2158
  #
1918
2159
  # </note>
1919
2160
  #
@@ -1927,7 +2168,7 @@ module Aws::Batch
1927
2168
  # JOB\_NAME
1928
2169
  #
1929
2170
  # : The value of the filter is a case-insensitive match for the job
1930
- # name. If the value ends with an asterisk (*), the filter will match
2171
+ # name. If the value ends with an asterisk (*), the filter matches
1931
2172
  # any job name that begins with the string before the '*'. This
1932
2173
  # corresponds to the `jobName` value. For example, `test1` matches
1933
2174
  # both `Test1` and `test1`, and `test1*` matches both `test1` and
@@ -1941,7 +2182,7 @@ module Aws::Batch
1941
2182
  # value. The value is case sensitive. When the value for the filter is
1942
2183
  # the job definition name, the results include all the jobs that used
1943
2184
  # any revision of that job definition name. If the value ends with an
1944
- # asterisk (*), the filter will match any job definition name that
2185
+ # asterisk (*), the filter matches any job definition name that
1945
2186
  # begins with the string before the '*'. For example, `jd1` matches
1946
2187
  # only `jd1`, and `jd1*` matches both `jd1` and `jd1A`. The version of
1947
2188
  # the job definition that's used doesn't affect the sort order. When
@@ -1949,7 +2190,7 @@ module Aws::Batch
1949
2190
  # the form
1950
2191
  # `arn:$\{Partition\}:batch:$\{Region\}:$\{Account\}:job-definition/$\{JobDefinitionName\}:$\{Revision\}`),
1951
2192
  # the results include jobs that used the specified revision of the job
1952
- # definition. Asterisk (*) is not supported when the ARN is used.
2193
+ # definition. Asterisk (*) isn't supported when the ARN is used.
1953
2194
  #
1954
2195
  # BEFORE\_CREATED\_AT
1955
2196
  #
@@ -2077,9 +2318,8 @@ module Aws::Batch
2077
2318
  # from the end of the previous results that returned the `nextToken`
2078
2319
  # value. This value is `null` when there are no more results to return.
2079
2320
  #
2080
- # <note markdown="1"> This token should be treated as an opaque identifier that's only used
2081
- # to retrieve the next items in a list and not for other programmatic
2082
- # purposes.
2321
+ # <note markdown="1"> Treat this token as an opaque identifier that's only used to retrieve
2322
+ # the next items in a list and not for other programmatic purposes.
2083
2323
  #
2084
2324
  # </note>
2085
2325
  #
@@ -2115,14 +2355,14 @@ module Aws::Batch
2115
2355
  # Lists the tags for an Batch resource. Batch resources that support
2116
2356
  # tags are compute environments, jobs, job definitions, job queues, and
2117
2357
  # scheduling policies. ARNs for child jobs of array and multi-node
2118
- # parallel (MNP) jobs are not supported.
2358
+ # parallel (MNP) jobs aren't supported.
2119
2359
  #
2120
2360
  # @option params [required, String] :resource_arn
2121
2361
  # The Amazon Resource Name (ARN) that identifies the resource that tags
2122
2362
  # are listed for. Batch resources that support tags are compute
2123
2363
  # environments, jobs, job definitions, job queues, and scheduling
2124
2364
  # policies. ARNs for child jobs of array and multi-node parallel (MNP)
2125
- # jobs are not supported.
2365
+ # jobs aren't supported.
2126
2366
  #
2127
2367
  # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2128
2368
  #
@@ -2195,18 +2435,19 @@ module Aws::Batch
2195
2435
  #
2196
2436
  # @option params [Integer] :scheduling_priority
2197
2437
  # The scheduling priority for jobs that are submitted with this job
2198
- # definition. This will only affect jobs in job queues with a fair share
2199
- # policy. Jobs with a higher scheduling priority will be scheduled
2200
- # before jobs with a lower scheduling priority.
2438
+ # definition. This only affects jobs in job queues with a fair share
2439
+ # policy. Jobs with a higher scheduling priority are scheduled before
2440
+ # jobs with a lower scheduling priority.
2201
2441
  #
2202
2442
  # The minimum supported value is 0 and the maximum supported value is
2203
2443
  # 9999.
2204
2444
  #
2205
2445
  # @option params [Types::ContainerProperties] :container_properties
2206
- # An object with various properties specific to single-node
2207
- # container-based jobs. If the job definition's `type` parameter is
2208
- # `container`, then you must specify either `containerProperties` or
2209
- # `nodeProperties`.
2446
+ # An object with various properties specific to Amazon ECS based
2447
+ # single-node container-based jobs. If the job definition's `type`
2448
+ # parameter is `container`, then you must specify either
2449
+ # `containerProperties` or `nodeProperties`. This must not be specified
2450
+ # for Amazon EKS based job definitions.
2210
2451
  #
2211
2452
  # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
2212
2453
  # `nodeProperties`; use only `containerProperties`.
@@ -2226,6 +2467,11 @@ module Aws::Batch
2226
2467
  #
2227
2468
  # </note>
2228
2469
  #
2470
+ # <note markdown="1"> If the job runs on Amazon EKS resources, then you must not specify
2471
+ # `nodeProperties`.
2472
+ #
2473
+ # </note>
2474
+ #
2229
2475
  #
2230
2476
  #
2231
2477
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html
@@ -2245,6 +2491,11 @@ module Aws::Batch
2245
2491
  # tags from the job and job definition is over 50, the job is moved to
2246
2492
  # the `FAILED` state.
2247
2493
  #
2494
+ # <note markdown="1"> If the job runs on Amazon EKS resources, then you must not specify
2495
+ # `propagateTags`.
2496
+ #
2497
+ # </note>
2498
+ #
2248
2499
  # @option params [Types::JobTimeout] :timeout
2249
2500
  # The timeout configuration for jobs that are submitted with this job
2250
2501
  # definition, after which Batch terminates your jobs if they have not
@@ -2273,6 +2524,16 @@ module Aws::Batch
2273
2524
  # is specified, it defaults to `EC2`. To run the job on Fargate
2274
2525
  # resources, specify `FARGATE`.
2275
2526
  #
2527
+ # <note markdown="1"> If the job runs on Amazon EKS resources, then you must not specify
2528
+ # `platformCapabilities`.
2529
+ #
2530
+ # </note>
2531
+ #
2532
+ # @option params [Types::EksProperties] :eks_properties
2533
+ # An object with various properties that are specific to Amazon EKS
2534
+ # based jobs. This must not be specified for Amazon ECS based job
2535
+ # definitions.
2536
+ #
2276
2537
  # @return [Types::RegisterJobDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2277
2538
  #
2278
2539
  # * {Types::RegisterJobDefinitionResponse#job_definition_name #job_definition_name} => String
@@ -2458,6 +2719,13 @@ module Aws::Batch
2458
2719
  # fargate_platform_configuration: {
2459
2720
  # platform_version: "String",
2460
2721
  # },
2722
+ # ephemeral_storage: {
2723
+ # size_in_gi_b: 1, # required
2724
+ # },
2725
+ # runtime_platform: {
2726
+ # operating_system_family: "String",
2727
+ # cpu_architecture: "String",
2728
+ # },
2461
2729
  # },
2462
2730
  # node_properties: {
2463
2731
  # num_nodes: 1, # required
@@ -2564,6 +2832,13 @@ module Aws::Batch
2564
2832
  # fargate_platform_configuration: {
2565
2833
  # platform_version: "String",
2566
2834
  # },
2835
+ # ephemeral_storage: {
2836
+ # size_in_gi_b: 1, # required
2837
+ # },
2838
+ # runtime_platform: {
2839
+ # operating_system_family: "String",
2840
+ # cpu_architecture: "String",
2841
+ # },
2567
2842
  # },
2568
2843
  # },
2569
2844
  # ],
@@ -2587,6 +2862,71 @@ module Aws::Batch
2587
2862
  # "TagKey" => "TagValue",
2588
2863
  # },
2589
2864
  # platform_capabilities: ["EC2"], # accepts EC2, FARGATE
2865
+ # eks_properties: {
2866
+ # pod_properties: {
2867
+ # service_account_name: "String",
2868
+ # host_network: false,
2869
+ # dns_policy: "String",
2870
+ # containers: [
2871
+ # {
2872
+ # name: "String",
2873
+ # image: "String", # required
2874
+ # image_pull_policy: "String",
2875
+ # command: ["String"],
2876
+ # args: ["String"],
2877
+ # env: [
2878
+ # {
2879
+ # name: "String", # required
2880
+ # value: "String",
2881
+ # },
2882
+ # ],
2883
+ # resources: {
2884
+ # limits: {
2885
+ # "String" => "Quantity",
2886
+ # },
2887
+ # requests: {
2888
+ # "String" => "Quantity",
2889
+ # },
2890
+ # },
2891
+ # volume_mounts: [
2892
+ # {
2893
+ # name: "String",
2894
+ # mount_path: "String",
2895
+ # read_only: false,
2896
+ # },
2897
+ # ],
2898
+ # security_context: {
2899
+ # run_as_user: 1,
2900
+ # run_as_group: 1,
2901
+ # privileged: false,
2902
+ # read_only_root_filesystem: false,
2903
+ # run_as_non_root: false,
2904
+ # },
2905
+ # },
2906
+ # ],
2907
+ # volumes: [
2908
+ # {
2909
+ # name: "String", # required
2910
+ # host_path: {
2911
+ # path: "String",
2912
+ # },
2913
+ # empty_dir: {
2914
+ # medium: "String",
2915
+ # size_limit: "Quantity",
2916
+ # },
2917
+ # secret: {
2918
+ # secret_name: "String", # required
2919
+ # optional: false,
2920
+ # },
2921
+ # },
2922
+ # ],
2923
+ # metadata: {
2924
+ # labels: {
2925
+ # "String" => "String",
2926
+ # },
2927
+ # },
2928
+ # },
2929
+ # },
2590
2930
  # })
2591
2931
  #
2592
2932
  # @example Response structure
@@ -2610,7 +2950,7 @@ module Aws::Batch
2610
2950
  # `resourceRequirements` objects in the job definition are the
2611
2951
  # exception. They can't be overridden this way using the `memory` and
2612
2952
  # `vcpus` parameters. Rather, you must specify updates to job definition
2613
- # parameters in a `ResourceRequirements` object that's included in the
2953
+ # parameters in a `resourceRequirements` object that's included in the
2614
2954
  # `containerOverrides` parameter.
2615
2955
  #
2616
2956
  # <note markdown="1"> Job queues with a scheduling policy are limited to 500 active fair
@@ -2632,14 +2972,18 @@ module Aws::Batch
2632
2972
  # name or the Amazon Resource Name (ARN) of the queue.
2633
2973
  #
2634
2974
  # @option params [String] :share_identifier
2635
- # The share identifier for the job.
2975
+ # The share identifier for the job. Don't specify this parameter if the
2976
+ # job queue doesn't have a scheduling policy. If the job queue has a
2977
+ # scheduling policy, then this parameter must be specified.
2978
+ #
2979
+ # This string is limited to 255 alphanumeric characters, and can be
2980
+ # followed by an asterisk (*).
2636
2981
  #
2637
2982
  # @option params [Integer] :scheduling_priority_override
2638
- # The scheduling priority for the job. This will only affect jobs in job
2983
+ # The scheduling priority for the job. This only affects jobs in job
2639
2984
  # queues with a fair share policy. Jobs with a higher scheduling
2640
- # priority will be scheduled before jobs with a lower scheduling
2641
- # priority. This will override any scheduling priority in the job
2642
- # definition.
2985
+ # priority are scheduled before jobs with a lower scheduling priority.
2986
+ # This overrides any scheduling priority in the job definition.
2643
2987
  #
2644
2988
  # The minimum supported value is 0 and the maximum supported value is
2645
2989
  # 9999.
@@ -2664,10 +3008,14 @@ module Aws::Batch
2664
3008
  # child of each dependency to complete before it can begin.
2665
3009
  #
2666
3010
  # @option params [required, String] :job_definition
2667
- # The job definition used by this job. This value can be one of `name`,
2668
- # `name:revision`, or the Amazon Resource Name (ARN) for the job
2669
- # definition. If `name` is specified without a revision then the latest
2670
- # active revision is used.
3011
+ # The job definition used by this job. This value can be one of
3012
+ # `definition-name`, `definition-name:revision`, or the Amazon Resource
3013
+ # Name (ARN) for the job definition, with or without the revision
3014
+ # (`arn:aws:batch:region:account:job-definition/definition-name:revision
3015
+ # `, or `arn:aws:batch:region:account:job-definition/definition-name `).
3016
+ #
3017
+ # If the revision is not specified, then the latest active revision is
3018
+ # used.
2671
3019
  #
2672
3020
  # @option params [Hash<String,String>] :parameters
2673
3021
  # Additional parameters passed to the job that replace parameter
@@ -2677,13 +3025,13 @@ module Aws::Batch
2677
3025
  # from the job definition.
2678
3026
  #
2679
3027
  # @option params [Types::ContainerOverrides] :container_overrides
2680
- # A list of container overrides in the JSON format that specify the name
2681
- # of a container in the specified job definition and the overrides it
2682
- # should receive. You can override the default command for a container,
2683
- # which is specified in the job definition or the Docker image, with a
2684
- # `command` override. You can also override existing environment
2685
- # variables on a container or add new environment variables to it with
2686
- # an `environment` override.
3028
+ # An object with various properties that override the defaults for the
3029
+ # job definition that specify the name of a container in the specified
3030
+ # job definition and the overrides it should receive. You can override
3031
+ # the default command for a container, which is specified in the job
3032
+ # definition or the Docker image, with a `command` override. You can
3033
+ # also override existing environment variables on a container or add new
3034
+ # environment variables to it with an `environment` override.
2687
3035
  #
2688
3036
  # @option params [Types::NodeOverrides] :node_overrides
2689
3037
  # A list of node overrides in JSON format that specify the node range to
@@ -2734,6 +3082,11 @@ module Aws::Batch
2734
3082
  #
2735
3083
  # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
2736
3084
  #
3085
+ # @option params [Types::EksPropertiesOverride] :eks_properties_override
3086
+ # An object that can only be specified for jobs that are run on Amazon
3087
+ # EKS resources with various properties that override defaults for the
3088
+ # job definition.
3089
+ #
2737
3090
  # @return [Types::SubmitJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2738
3091
  #
2739
3092
  # * {Types::SubmitJobResponse#job_arn #job_arn} => String
@@ -2839,6 +3192,36 @@ module Aws::Batch
2839
3192
  # tags: {
2840
3193
  # "TagKey" => "TagValue",
2841
3194
  # },
3195
+ # eks_properties_override: {
3196
+ # pod_properties: {
3197
+ # containers: [
3198
+ # {
3199
+ # image: "String",
3200
+ # command: ["String"],
3201
+ # args: ["String"],
3202
+ # env: [
3203
+ # {
3204
+ # name: "String", # required
3205
+ # value: "String",
3206
+ # },
3207
+ # ],
3208
+ # resources: {
3209
+ # limits: {
3210
+ # "String" => "Quantity",
3211
+ # },
3212
+ # requests: {
3213
+ # "String" => "Quantity",
3214
+ # },
3215
+ # },
3216
+ # },
3217
+ # ],
3218
+ # metadata: {
3219
+ # labels: {
3220
+ # "String" => "String",
3221
+ # },
3222
+ # },
3223
+ # },
3224
+ # },
2842
3225
  # })
2843
3226
  #
2844
3227
  # @example Response structure
@@ -2862,13 +3245,13 @@ module Aws::Batch
2862
3245
  # the tags that are associated with that resource are deleted as well.
2863
3246
  # Batch resources that support tags are compute environments, jobs, job
2864
3247
  # definitions, job queues, and scheduling policies. ARNs for child jobs
2865
- # of array and multi-node parallel (MNP) jobs are not supported.
3248
+ # of array and multi-node parallel (MNP) jobs aren't supported.
2866
3249
  #
2867
3250
  # @option params [required, String] :resource_arn
2868
3251
  # The Amazon Resource Name (ARN) of the resource that tags are added to.
2869
3252
  # Batch resources that support tags are compute environments, jobs, job
2870
3253
  # definitions, job queues, and scheduling policies. ARNs for child jobs
2871
- # of array and multi-node parallel (MNP) jobs are not supported.
3254
+ # of array and multi-node parallel (MNP) jobs aren't supported.
2872
3255
  #
2873
3256
  # @option params [required, Hash<String,String>] :tags
2874
3257
  # The tags that you apply to the resource to help you categorize and
@@ -2967,7 +3350,7 @@ module Aws::Batch
2967
3350
  # The Amazon Resource Name (ARN) of the resource from which to delete
2968
3351
  # tags. Batch resources that support tags are compute environments,
2969
3352
  # jobs, job definitions, job queues, and scheduling policies. ARNs for
2970
- # child jobs of array and multi-node parallel (MNP) jobs are not
3353
+ # child jobs of array and multi-node parallel (MNP) jobs aren't
2971
3354
  # supported.
2972
3355
  #
2973
3356
  # @option params [required, Array<String>] :tag_keys
@@ -3027,16 +3410,32 @@ module Aws::Batch
3027
3410
  # If the state is `DISABLED`, then the Batch scheduler doesn't attempt
3028
3411
  # to place jobs within the environment. Jobs in a `STARTING` or
3029
3412
  # `RUNNING` state continue to progress normally. Managed compute
3030
- # environments in the `DISABLED` state don't scale out. However, they
3031
- # scale in to `minvCpus` value after instances become idle.
3413
+ # environments in the `DISABLED` state don't scale out.
3414
+ #
3415
+ # <note markdown="1"> Compute environments in a `DISABLED` state may continue to incur
3416
+ # billing charges. To prevent additional charges, turn off and then
3417
+ # delete the compute environment. For more information, see [State][1]
3418
+ # in the *Batch User Guide*.
3419
+ #
3420
+ # </note>
3421
+ #
3422
+ # When an instance is idle, the instance scales down to the `minvCpus`
3423
+ # value. However, the instance size doesn't change. For example,
3424
+ # consider a `c5.8xlarge` instance with a `minvCpus` value of `4` and a
3425
+ # `desiredvCpus` value of `36`. This instance doesn't scale down to a
3426
+ # `c5.large` instance.
3427
+ #
3428
+ #
3429
+ #
3430
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environment_parameters.html#compute_environment_state
3032
3431
  #
3033
3432
  # @option params [Integer] :unmanagedv_cpus
3034
3433
  # The maximum number of vCPUs expected to be used for an unmanaged
3035
- # compute environment. This parameter should not be specified for a
3036
- # managed compute environment. This parameter is only used for fair
3037
- # share scheduling to reserve vCPU capacity for new share identifiers.
3038
- # If this parameter is not provided for a fair share job queue, no vCPU
3039
- # capacity will be reserved.
3434
+ # compute environment. Don't specify this parameter for a managed
3435
+ # compute environment. This parameter is only used for fair share
3436
+ # scheduling to reserve vCPU capacity for new share identifiers. If this
3437
+ # parameter isn't provided for a fair share job queue, no vCPU capacity
3438
+ # is reserved.
3040
3439
  #
3041
3440
  # @option params [Types::ComputeResourceUpdate] :compute_resources
3042
3441
  # Details of the compute resources managed by the compute environment.
@@ -3056,11 +3455,15 @@ module Aws::Batch
3056
3455
  # If the compute environment has a service-linked role, it can't be
3057
3456
  # changed to use a regular IAM role. Likewise, if the compute
3058
3457
  # environment has a regular IAM role, it can't be changed to use a
3059
- # service-linked role.
3458
+ # service-linked role. To update the parameters for the compute
3459
+ # environment that require an infrastructure update to change, the
3460
+ # **AWSServiceRoleForBatch** service-linked role must be used. For more
3461
+ # information, see [Updating compute environments][2] in the *Batch User
3462
+ # Guide*.
3060
3463
  #
3061
3464
  # If your specified role has a path other than `/`, then you must either
3062
- # specify the full role ARN (this is recommended) or prefix the role
3063
- # name with the path.
3465
+ # specify the full role ARN (recommended) or prefix the role name with
3466
+ # the path.
3064
3467
  #
3065
3468
  # <note markdown="1"> Depending on how you created your Batch service role, its ARN might
3066
3469
  # contain the `service-role` path prefix. When you only specify the name
@@ -3074,6 +3477,16 @@ module Aws::Batch
3074
3477
  #
3075
3478
  #
3076
3479
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
3480
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
3481
+ #
3482
+ # @option params [Types::UpdatePolicy] :update_policy
3483
+ # Specifies the updated infrastructure update policy for the compute
3484
+ # environment. For more information about infrastructure updates, see
3485
+ # [Updating compute environments][1] in the *Batch User Guide*.
3486
+ #
3487
+ #
3488
+ #
3489
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
3077
3490
  #
3078
3491
  # @return [Types::UpdateComputeEnvironmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3079
3492
  #
@@ -3108,8 +3521,36 @@ module Aws::Batch
3108
3521
  # desiredv_cpus: 1,
3109
3522
  # subnets: ["String"],
3110
3523
  # security_group_ids: ["String"],
3524
+ # allocation_strategy: "BEST_FIT_PROGRESSIVE", # accepts BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED, SPOT_PRICE_CAPACITY_OPTIMIZED
3525
+ # instance_types: ["String"],
3526
+ # ec2_key_pair: "String",
3527
+ # instance_role: "String",
3528
+ # tags: {
3529
+ # "String" => "String",
3530
+ # },
3531
+ # placement_group: "String",
3532
+ # bid_percentage: 1,
3533
+ # launch_template: {
3534
+ # launch_template_id: "String",
3535
+ # launch_template_name: "String",
3536
+ # version: "String",
3537
+ # },
3538
+ # ec2_configuration: [
3539
+ # {
3540
+ # image_type: "ImageType", # required
3541
+ # image_id_override: "ImageIdOverride",
3542
+ # image_kubernetes_version: "KubernetesVersion",
3543
+ # },
3544
+ # ],
3545
+ # update_to_latest_image_version: false,
3546
+ # type: "EC2", # accepts EC2, SPOT, FARGATE, FARGATE_SPOT
3547
+ # image_id: "String",
3111
3548
  # },
3112
3549
  # service_role: "String",
3550
+ # update_policy: {
3551
+ # terminate_jobs_on_update: false,
3552
+ # job_execution_timeout_minutes: 1,
3553
+ # },
3113
3554
  # })
3114
3555
  #
3115
3556
  # @example Response structure
@@ -3143,13 +3584,13 @@ module Aws::Batch
3143
3584
  # but not removed. The format is
3144
3585
  # `aws:Partition:batch:Region:Account:scheduling-policy/Name `. For
3145
3586
  # example,
3146
- # `aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy`.
3587
+ # `aws:aws:batch:us-west-2:123456789012:scheduling-policy/MySchedulingPolicy`.
3147
3588
  #
3148
3589
  # @option params [Integer] :priority
3149
3590
  # The priority of the job queue. Job queues with a higher priority (or a
3150
3591
  # higher integer value for the `priority` parameter) are evaluated first
3151
3592
  # when associated with the same compute environment. Priority is
3152
- # determined in descending order, for example, a job queue with a
3593
+ # determined in descending order. For example, a job queue with a
3153
3594
  # priority value of `10` is given scheduling preference over a job queue
3154
3595
  # with a priority value of `1`. All of the compute environments must be
3155
3596
  # either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or `FARGATE_SPOT`).
@@ -3158,8 +3599,8 @@ module Aws::Batch
3158
3599
  # @option params [Array<Types::ComputeEnvironmentOrder>] :compute_environment_order
3159
3600
  # Details the set of compute environments mapped to a job queue and
3160
3601
  # their order relative to each other. This is one of the parameters used
3161
- # by the job scheduler to determine which compute environment should run
3162
- # a given job. Compute environments must be in the `VALID` state before
3602
+ # by the job scheduler to determine which compute environment runs a
3603
+ # given job. Compute environments must be in the `VALID` state before
3163
3604
  # you can associate them with a job queue. All of the compute
3164
3605
  # environments must be either EC2 (`EC2` or `SPOT`) or Fargate
3165
3606
  # (`FARGATE` or `FARGATE_SPOT`). EC2 and Fargate compute environments
@@ -3269,7 +3710,7 @@ module Aws::Batch
3269
3710
  params: params,
3270
3711
  config: config)
3271
3712
  context[:gem_name] = 'aws-sdk-batch'
3272
- context[:gem_version] = '1.56.0'
3713
+ context[:gem_version] = '1.77.0'
3273
3714
  Seahorse::Client::Request.new(handlers, context)
3274
3715
  end
3275
3716