aws-sdk-batch 1.56.0 → 1.77.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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