aws-sdk-batch 1.0.0.rc1

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.
File without changes
@@ -0,0 +1,14 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::Batch
9
+ module Errors
10
+
11
+ extend Aws::Errors::DynamicErrors
12
+
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::Batch
9
+ class Resource
10
+
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
16
+
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,1785 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::Batch
9
+ module Types
10
+
11
+ # @note When making an API call, you may pass CancelJobRequest
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # job_id: "String", # required
16
+ # reason: "String", # required
17
+ # }
18
+ #
19
+ # @!attribute [rw] job_id
20
+ # A list of up to 100 job IDs to cancel.
21
+ # @return [String]
22
+ #
23
+ # @!attribute [rw] reason
24
+ # A message to attach to the job that explains the reason for
25
+ # cancelling it. This message is returned by future DescribeJobs
26
+ # operations on the job. This message is also recorded in the AWS
27
+ # Batch activity logs.
28
+ # @return [String]
29
+ #
30
+ class CancelJobRequest < Struct.new(
31
+ :job_id,
32
+ :reason)
33
+ include Aws::Structure
34
+ end
35
+
36
+ class CancelJobResponse < Aws::EmptyStructure; end
37
+
38
+ # An object representing an AWS Batch compute environment.
39
+ #
40
+ # @!attribute [rw] compute_environment_name
41
+ # The name of the compute environment.
42
+ # @return [String]
43
+ #
44
+ # @!attribute [rw] compute_environment_arn
45
+ # The Amazon Resource Name (ARN) of the compute environment.
46
+ # @return [String]
47
+ #
48
+ # @!attribute [rw] ecs_cluster_arn
49
+ # The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster
50
+ # used by the compute environment.
51
+ # @return [String]
52
+ #
53
+ # @!attribute [rw] type
54
+ # The type of the compute environment.
55
+ # @return [String]
56
+ #
57
+ # @!attribute [rw] state
58
+ # The state of the compute environment. The valid values are `ENABLED`
59
+ # or `DISABLED`. An `ENABLED` state indicates that you can register
60
+ # instances with the compute environment and that the associated
61
+ # instances can accept jobs.
62
+ # @return [String]
63
+ #
64
+ # @!attribute [rw] status
65
+ # The current status of the compute environment (for example,
66
+ # `CREATING` or `VALID`).
67
+ # @return [String]
68
+ #
69
+ # @!attribute [rw] status_reason
70
+ # A short, human-readable string to provide additional details about
71
+ # the current status of the compute environment.
72
+ # @return [String]
73
+ #
74
+ # @!attribute [rw] compute_resources
75
+ # The compute resources defined for the compute environment.
76
+ # @return [Types::ComputeResource]
77
+ #
78
+ # @!attribute [rw] service_role
79
+ # The service role associated with the compute environment that allows
80
+ # AWS Batch to make calls to AWS API operations on your behalf.
81
+ # @return [String]
82
+ #
83
+ class ComputeEnvironmentDetail < Struct.new(
84
+ :compute_environment_name,
85
+ :compute_environment_arn,
86
+ :ecs_cluster_arn,
87
+ :type,
88
+ :state,
89
+ :status,
90
+ :status_reason,
91
+ :compute_resources,
92
+ :service_role)
93
+ include Aws::Structure
94
+ end
95
+
96
+ # The order in which compute environments are tried for job placement
97
+ # within a queue. Compute environments are tried in ascending order. For
98
+ # example, if two compute environments are associated with a job queue,
99
+ # the compute environment with a lower order integer value is tried for
100
+ # job placement first.
101
+ #
102
+ # @note When making an API call, you may pass ComputeEnvironmentOrder
103
+ # data as a hash:
104
+ #
105
+ # {
106
+ # order: 1, # required
107
+ # compute_environment: "String", # required
108
+ # }
109
+ #
110
+ # @!attribute [rw] order
111
+ # The order of the compute environment.
112
+ # @return [Integer]
113
+ #
114
+ # @!attribute [rw] compute_environment
115
+ # The Amazon Resource Name (ARN) of the compute environment.
116
+ # @return [String]
117
+ #
118
+ class ComputeEnvironmentOrder < Struct.new(
119
+ :order,
120
+ :compute_environment)
121
+ include Aws::Structure
122
+ end
123
+
124
+ # An object representing an AWS Batch compute resource.
125
+ #
126
+ # @note When making an API call, you may pass ComputeResource
127
+ # data as a hash:
128
+ #
129
+ # {
130
+ # type: "EC2", # required, accepts EC2, SPOT
131
+ # minv_cpus: 1, # required
132
+ # maxv_cpus: 1, # required
133
+ # desiredv_cpus: 1,
134
+ # instance_types: ["String"], # required
135
+ # subnets: ["String"], # required
136
+ # security_group_ids: ["String"], # required
137
+ # ec2_key_pair: "String",
138
+ # instance_role: "String", # required
139
+ # tags: {
140
+ # "String" => "String",
141
+ # },
142
+ # bid_percentage: 1,
143
+ # spot_iam_fleet_role: "String",
144
+ # }
145
+ #
146
+ # @!attribute [rw] type
147
+ # The type of compute environment.
148
+ # @return [String]
149
+ #
150
+ # @!attribute [rw] minv_cpus
151
+ # The minimum number of EC2 vCPUs that an environment should maintain.
152
+ # @return [Integer]
153
+ #
154
+ # @!attribute [rw] maxv_cpus
155
+ # The maximum number of EC2 vCPUs that an environment can reach.
156
+ # @return [Integer]
157
+ #
158
+ # @!attribute [rw] desiredv_cpus
159
+ # The desired number of EC2 vCPUS in the compute environment.
160
+ # @return [Integer]
161
+ #
162
+ # @!attribute [rw] instance_types
163
+ # The instances types that may launched.
164
+ # @return [Array<String>]
165
+ #
166
+ # @!attribute [rw] subnets
167
+ # The VPC subnets into which the compute resources are launched.
168
+ # @return [Array<String>]
169
+ #
170
+ # @!attribute [rw] security_group_ids
171
+ # The EC2 security group that is associated with instances launched in
172
+ # the compute environment.
173
+ # @return [Array<String>]
174
+ #
175
+ # @!attribute [rw] ec2_key_pair
176
+ # The EC2 key pair that is used for instances launched in the compute
177
+ # environment.
178
+ # @return [String]
179
+ #
180
+ # @!attribute [rw] instance_role
181
+ # The Amazon ECS instance role applied to Amazon EC2 instances in a
182
+ # compute environment.
183
+ # @return [String]
184
+ #
185
+ # @!attribute [rw] tags
186
+ # Key-value pair tags to be applied to resources that are launched in
187
+ # the compute environment.
188
+ # @return [Hash<String,String>]
189
+ #
190
+ # @!attribute [rw] bid_percentage
191
+ # The minimum percentage that a Spot Instance price must be when
192
+ # compared with the On-Demand price for that instance type before
193
+ # instances are launched. For example, if your bid percentage is 20%,
194
+ # then the Spot price must be below 20% of the current On-Demand price
195
+ # for that EC2 instance.
196
+ # @return [Integer]
197
+ #
198
+ # @!attribute [rw] spot_iam_fleet_role
199
+ # The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role
200
+ # applied to a `SPOT` compute environment.
201
+ # @return [String]
202
+ #
203
+ class ComputeResource < Struct.new(
204
+ :type,
205
+ :minv_cpus,
206
+ :maxv_cpus,
207
+ :desiredv_cpus,
208
+ :instance_types,
209
+ :subnets,
210
+ :security_group_ids,
211
+ :ec2_key_pair,
212
+ :instance_role,
213
+ :tags,
214
+ :bid_percentage,
215
+ :spot_iam_fleet_role)
216
+ include Aws::Structure
217
+ end
218
+
219
+ # An object representing the attributes of a compute environment that
220
+ # can be updated.
221
+ #
222
+ # @note When making an API call, you may pass ComputeResourceUpdate
223
+ # data as a hash:
224
+ #
225
+ # {
226
+ # minv_cpus: 1,
227
+ # maxv_cpus: 1,
228
+ # desiredv_cpus: 1,
229
+ # }
230
+ #
231
+ # @!attribute [rw] minv_cpus
232
+ # The minimum number of EC2 vCPUs that an environment should maintain.
233
+ # @return [Integer]
234
+ #
235
+ # @!attribute [rw] maxv_cpus
236
+ # The maximum number of EC2 vCPUs that an environment can reach.
237
+ # @return [Integer]
238
+ #
239
+ # @!attribute [rw] desiredv_cpus
240
+ # The desired number of EC2 vCPUS in the compute environment.
241
+ # @return [Integer]
242
+ #
243
+ class ComputeResourceUpdate < Struct.new(
244
+ :minv_cpus,
245
+ :maxv_cpus,
246
+ :desiredv_cpus)
247
+ include Aws::Structure
248
+ end
249
+
250
+ # An object representing the details of a container that is part of a
251
+ # job.
252
+ #
253
+ # @!attribute [rw] image
254
+ # The image used to start the container.
255
+ # @return [String]
256
+ #
257
+ # @!attribute [rw] vcpus
258
+ # The number of VCPUs allocated for the job.
259
+ # @return [Integer]
260
+ #
261
+ # @!attribute [rw] memory
262
+ # The number of MiB of memory reserved for the job.
263
+ # @return [Integer]
264
+ #
265
+ # @!attribute [rw] command
266
+ # The command that is passed to the container.
267
+ # @return [Array<String>]
268
+ #
269
+ # @!attribute [rw] job_role_arn
270
+ # The Amazon Resource Name (ARN) associated with the job upon
271
+ # execution.
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] volumes
275
+ # A list of volumes associated with the job.
276
+ # @return [Array<Types::Volume>]
277
+ #
278
+ # @!attribute [rw] environment
279
+ # The environment variables to pass to a container.
280
+ # @return [Array<Types::KeyValuePair>]
281
+ #
282
+ # @!attribute [rw] mount_points
283
+ # The mount points for data volumes in your container.
284
+ # @return [Array<Types::MountPoint>]
285
+ #
286
+ # @!attribute [rw] readonly_root_filesystem
287
+ # When this parameter is true, the container is given read-only access
288
+ # to its root file system.
289
+ # @return [Boolean]
290
+ #
291
+ # @!attribute [rw] ulimits
292
+ # A list of `ulimit` values to set in the container.
293
+ # @return [Array<Types::Ulimit>]
294
+ #
295
+ # @!attribute [rw] privileged
296
+ # When this parameter is true, the container is given elevated
297
+ # privileges on the host container instance (similar to the `root`
298
+ # user).
299
+ # @return [Boolean]
300
+ #
301
+ # @!attribute [rw] user
302
+ # The user name to use inside the container.
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] exit_code
306
+ # The exit code to return upon completion.
307
+ # @return [Integer]
308
+ #
309
+ # @!attribute [rw] reason
310
+ # A short (255 max characters) human-readable string to provide
311
+ # additional details about a running or stopped container.
312
+ # @return [String]
313
+ #
314
+ # @!attribute [rw] container_instance_arn
315
+ # The Amazon Resource Name (ARN) of the container instance on which
316
+ # the container is running.
317
+ # @return [String]
318
+ #
319
+ class ContainerDetail < Struct.new(
320
+ :image,
321
+ :vcpus,
322
+ :memory,
323
+ :command,
324
+ :job_role_arn,
325
+ :volumes,
326
+ :environment,
327
+ :mount_points,
328
+ :readonly_root_filesystem,
329
+ :ulimits,
330
+ :privileged,
331
+ :user,
332
+ :exit_code,
333
+ :reason,
334
+ :container_instance_arn)
335
+ include Aws::Structure
336
+ end
337
+
338
+ # The overrides that should be sent to a container.
339
+ #
340
+ # @note When making an API call, you may pass ContainerOverrides
341
+ # data as a hash:
342
+ #
343
+ # {
344
+ # vcpus: 1,
345
+ # memory: 1,
346
+ # command: ["String"],
347
+ # environment: [
348
+ # {
349
+ # name: "String",
350
+ # value: "String",
351
+ # },
352
+ # ],
353
+ # }
354
+ #
355
+ # @!attribute [rw] vcpus
356
+ # The number of vCPUs to reserve for the container. This value
357
+ # overrides the value set in the job definition.
358
+ # @return [Integer]
359
+ #
360
+ # @!attribute [rw] memory
361
+ # The number of MiB of memory reserved for the job. This value
362
+ # overrides the value set in the job definition.
363
+ # @return [Integer]
364
+ #
365
+ # @!attribute [rw] command
366
+ # The command to send to the container that overrides the default
367
+ # command from the Docker image or the job definition.
368
+ # @return [Array<String>]
369
+ #
370
+ # @!attribute [rw] environment
371
+ # The environment variables to send to the container. You can add new
372
+ # environment variables, which are added to the container at launch,
373
+ # or you can override the existing environment variables from the
374
+ # Docker image or the job definition.
375
+ # @return [Array<Types::KeyValuePair>]
376
+ #
377
+ class ContainerOverrides < Struct.new(
378
+ :vcpus,
379
+ :memory,
380
+ :command,
381
+ :environment)
382
+ include Aws::Structure
383
+ end
384
+
385
+ # Container properties are used in job definitions to describe the
386
+ # container that is launched as part of a job.
387
+ #
388
+ # @note When making an API call, you may pass ContainerProperties
389
+ # data as a hash:
390
+ #
391
+ # {
392
+ # image: "String", # required
393
+ # vcpus: 1, # required
394
+ # memory: 1, # required
395
+ # command: ["String"],
396
+ # job_role_arn: "String",
397
+ # volumes: [
398
+ # {
399
+ # host: {
400
+ # source_path: "String",
401
+ # },
402
+ # name: "String",
403
+ # },
404
+ # ],
405
+ # environment: [
406
+ # {
407
+ # name: "String",
408
+ # value: "String",
409
+ # },
410
+ # ],
411
+ # mount_points: [
412
+ # {
413
+ # container_path: "String",
414
+ # read_only: false,
415
+ # source_volume: "String",
416
+ # },
417
+ # ],
418
+ # readonly_root_filesystem: false,
419
+ # privileged: false,
420
+ # ulimits: [
421
+ # {
422
+ # hard_limit: 1, # required
423
+ # name: "String", # required
424
+ # soft_limit: 1, # required
425
+ # },
426
+ # ],
427
+ # user: "String",
428
+ # }
429
+ #
430
+ # @!attribute [rw] image
431
+ # The image used to start a container. This string is passed directly
432
+ # to the Docker daemon. Images in the Docker Hub registry are
433
+ # available by default. Other repositories are specified with `
434
+ # repository-url/image:tag `. Up to 255 letters (uppercase and
435
+ # lowercase), numbers, hyphens, underscores, colons, periods, forward
436
+ # slashes, and number signs are allowed. This parameter maps to
437
+ # `Image` in the [Create a container][1] section of the [Docker Remote
438
+ # API][2] and the `IMAGE` parameter of [docker run][3].
439
+ #
440
+ # * Images in Amazon ECR repositories use the full registry and
441
+ # repository URI (for example,
442
+ # `012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>`).
443
+ #
444
+ # * Images in official repositories on Docker Hub use a single name
445
+ # (for example, `ubuntu` or `mongo`).
446
+ #
447
+ # * Images in other repositories on Docker Hub are qualified with an
448
+ # organization name (for example, `amazon/amazon-ecs-agent`).
449
+ #
450
+ # * Images in other online repositories are qualified further by a
451
+ # domain name (for example, `quay.io/assemblyline/ubuntu`).
452
+ #
453
+ #
454
+ #
455
+ # [1]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container
456
+ # [2]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/
457
+ # [3]: https://docs.docker.com/engine/reference/run/
458
+ # @return [String]
459
+ #
460
+ # @!attribute [rw] vcpus
461
+ # The number of vCPUs reserved for the container. This parameter maps
462
+ # to `CpuShares` in the [Create a container][1] section of the [Docker
463
+ # Remote API][2] and the `--cpu-shares` option to [docker run][3].
464
+ # Each vCPU is equivalent to 1,024 CPU shares.
465
+ #
466
+ #
467
+ #
468
+ # [1]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container
469
+ # [2]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/
470
+ # [3]: https://docs.docker.com/engine/reference/run/
471
+ # @return [Integer]
472
+ #
473
+ # @!attribute [rw] memory
474
+ # The hard limit (in MiB) of memory to present to the container. If
475
+ # your container attempts to exceed the memory specified here, the
476
+ # container is killed. This parameter maps to `Memory` in the [Create
477
+ # a container][1] section of the [Docker Remote API][2] and the
478
+ # `--memory` option to [docker run][3].
479
+ #
480
+ #
481
+ #
482
+ # [1]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container
483
+ # [2]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/
484
+ # [3]: https://docs.docker.com/engine/reference/run/
485
+ # @return [Integer]
486
+ #
487
+ # @!attribute [rw] command
488
+ # The command that is passed to the container. This parameter maps to
489
+ # `Cmd` in the [Create a container][1] section of the [Docker Remote
490
+ # API][2] and the `COMMAND` parameter to [docker run][3]. For more
491
+ # information, see
492
+ # [https://docs.docker.com/engine/reference/builder/#cmd][4].
493
+ #
494
+ #
495
+ #
496
+ # [1]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container
497
+ # [2]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/
498
+ # [3]: https://docs.docker.com/engine/reference/run/
499
+ # [4]: https://docs.docker.com/engine/reference/builder/#cmd
500
+ # @return [Array<String>]
501
+ #
502
+ # @!attribute [rw] job_role_arn
503
+ # The Amazon Resource Name (ARN) of the IAM role that the container
504
+ # can assume for AWS permissions.
505
+ # @return [String]
506
+ #
507
+ # @!attribute [rw] volumes
508
+ # A list of data volumes used in a job.
509
+ # @return [Array<Types::Volume>]
510
+ #
511
+ # @!attribute [rw] environment
512
+ # The environment variables to pass to a container. This parameter
513
+ # maps to `Env` in the [Create a container][1] section of the [Docker
514
+ # Remote API][2] and the `--env` option to [docker run][3].
515
+ #
516
+ # We do not recommend using plain text environment variables for
517
+ # sensitive information, such as credential data.
518
+ #
519
+ #
520
+ #
521
+ # [1]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container
522
+ # [2]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/
523
+ # [3]: https://docs.docker.com/engine/reference/run/
524
+ # @return [Array<Types::KeyValuePair>]
525
+ #
526
+ # @!attribute [rw] mount_points
527
+ # The mount points for data volumes in your container. This parameter
528
+ # maps to `Volumes` in the [Create a container][1] section of the
529
+ # [Docker Remote API][2] and the `--volume` option to [docker run][3].
530
+ #
531
+ #
532
+ #
533
+ # [1]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container
534
+ # [2]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/
535
+ # [3]: https://docs.docker.com/engine/reference/run/
536
+ # @return [Array<Types::MountPoint>]
537
+ #
538
+ # @!attribute [rw] readonly_root_filesystem
539
+ # When this parameter is true, the container is given read-only access
540
+ # to its root file system. This parameter maps to `ReadonlyRootfs` in
541
+ # the [Create a container][1] section of the [Docker Remote API][2]
542
+ # and the `--read-only` option to `docker run`.
543
+ #
544
+ #
545
+ #
546
+ # [1]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container
547
+ # [2]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/
548
+ # @return [Boolean]
549
+ #
550
+ # @!attribute [rw] privileged
551
+ # When this parameter is true, the container is given elevated
552
+ # privileges on the host container instance (similar to the `root`
553
+ # user). This parameter maps to `Privileged` in the [Create a
554
+ # container][1] section of the [Docker Remote API][2] and the
555
+ # `--privileged` option to [docker run][3].
556
+ #
557
+ #
558
+ #
559
+ # [1]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container
560
+ # [2]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/
561
+ # [3]: https://docs.docker.com/engine/reference/run/
562
+ # @return [Boolean]
563
+ #
564
+ # @!attribute [rw] ulimits
565
+ # A list of `ulimits` to set in the container. This parameter maps to
566
+ # `Ulimits` in the [Create a container][1] section of the [Docker
567
+ # Remote API][2] and the `--ulimit` option to [docker run][3].
568
+ #
569
+ #
570
+ #
571
+ # [1]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container
572
+ # [2]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/
573
+ # [3]: https://docs.docker.com/engine/reference/run/
574
+ # @return [Array<Types::Ulimit>]
575
+ #
576
+ # @!attribute [rw] user
577
+ # The user name to use inside the container. This parameter maps to
578
+ # `User` in the [Create a container][1] section of the [Docker Remote
579
+ # API][2] and the `--user` option to [docker run][3].
580
+ #
581
+ #
582
+ #
583
+ # [1]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/#create-a-container
584
+ # [2]: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.23/
585
+ # [3]: https://docs.docker.com/engine/reference/run/
586
+ # @return [String]
587
+ #
588
+ class ContainerProperties < Struct.new(
589
+ :image,
590
+ :vcpus,
591
+ :memory,
592
+ :command,
593
+ :job_role_arn,
594
+ :volumes,
595
+ :environment,
596
+ :mount_points,
597
+ :readonly_root_filesystem,
598
+ :privileged,
599
+ :ulimits,
600
+ :user)
601
+ include Aws::Structure
602
+ end
603
+
604
+ # @note When making an API call, you may pass CreateComputeEnvironmentRequest
605
+ # data as a hash:
606
+ #
607
+ # {
608
+ # compute_environment_name: "String", # required
609
+ # type: "MANAGED", # required, accepts MANAGED, UNMANAGED
610
+ # state: "ENABLED", # accepts ENABLED, DISABLED
611
+ # compute_resources: {
612
+ # type: "EC2", # required, accepts EC2, SPOT
613
+ # minv_cpus: 1, # required
614
+ # maxv_cpus: 1, # required
615
+ # desiredv_cpus: 1,
616
+ # instance_types: ["String"], # required
617
+ # subnets: ["String"], # required
618
+ # security_group_ids: ["String"], # required
619
+ # ec2_key_pair: "String",
620
+ # instance_role: "String", # required
621
+ # tags: {
622
+ # "String" => "String",
623
+ # },
624
+ # bid_percentage: 1,
625
+ # spot_iam_fleet_role: "String",
626
+ # },
627
+ # service_role: "String", # required
628
+ # }
629
+ #
630
+ # @!attribute [rw] compute_environment_name
631
+ # The name for your compute environment. Up to 128 letters (uppercase
632
+ # and lowercase), numbers, and underscores are allowed.
633
+ # @return [String]
634
+ #
635
+ # @!attribute [rw] type
636
+ # The type of the compute environment.
637
+ # @return [String]
638
+ #
639
+ # @!attribute [rw] state
640
+ # The state of the compute environment. If the state is `ENABLED`,
641
+ # then the compute environment accepts jobs from a queue and can scale
642
+ # out automatically based on queues.
643
+ # @return [String]
644
+ #
645
+ # @!attribute [rw] compute_resources
646
+ # Details of the compute resources managed by the compute environment.
647
+ # This parameter is required for managed compute environments.
648
+ # @return [Types::ComputeResource]
649
+ #
650
+ # @!attribute [rw] service_role
651
+ # The full Amazon Resource Name (ARN) of the IAM role that allows AWS
652
+ # Batch to make calls to other AWS services on your behalf.
653
+ # @return [String]
654
+ #
655
+ class CreateComputeEnvironmentRequest < Struct.new(
656
+ :compute_environment_name,
657
+ :type,
658
+ :state,
659
+ :compute_resources,
660
+ :service_role)
661
+ include Aws::Structure
662
+ end
663
+
664
+ # @!attribute [rw] compute_environment_name
665
+ # The name of the compute environment.
666
+ # @return [String]
667
+ #
668
+ # @!attribute [rw] compute_environment_arn
669
+ # The Amazon Resource Name (ARN) of the compute environment.
670
+ # @return [String]
671
+ #
672
+ class CreateComputeEnvironmentResponse < Struct.new(
673
+ :compute_environment_name,
674
+ :compute_environment_arn)
675
+ include Aws::Structure
676
+ end
677
+
678
+ # @note When making an API call, you may pass CreateJobQueueRequest
679
+ # data as a hash:
680
+ #
681
+ # {
682
+ # job_queue_name: "String", # required
683
+ # state: "ENABLED", # accepts ENABLED, DISABLED
684
+ # priority: 1, # required
685
+ # compute_environment_order: [ # required
686
+ # {
687
+ # order: 1, # required
688
+ # compute_environment: "String", # required
689
+ # },
690
+ # ],
691
+ # }
692
+ #
693
+ # @!attribute [rw] job_queue_name
694
+ # The name of the job queue.
695
+ # @return [String]
696
+ #
697
+ # @!attribute [rw] state
698
+ # The state of the job queue. If the job queue state is `ENABLED`, it
699
+ # is able to accept jobs.
700
+ # @return [String]
701
+ #
702
+ # @!attribute [rw] priority
703
+ # The priority of the job queue. Job queues with a higher priority (or
704
+ # a lower integer value for the `priority` parameter) are evaluated
705
+ # first when associated with same compute environment. Priority is
706
+ # determined in ascending order, for example, a job queue with a
707
+ # priority value of `1` is given scheduling preference over a job
708
+ # queue with a priority value of `10`.
709
+ # @return [Integer]
710
+ #
711
+ # @!attribute [rw] compute_environment_order
712
+ # The set of compute environments mapped to a job queue and their
713
+ # order relative to each other. The job scheduler uses this parameter
714
+ # to determine which compute environment should execute a given job.
715
+ # Compute environments must be in the `VALID` state before you can
716
+ # associate them with a job queue. You can associate up to 3 compute
717
+ # environments with a job queue.
718
+ # @return [Array<Types::ComputeEnvironmentOrder>]
719
+ #
720
+ class CreateJobQueueRequest < Struct.new(
721
+ :job_queue_name,
722
+ :state,
723
+ :priority,
724
+ :compute_environment_order)
725
+ include Aws::Structure
726
+ end
727
+
728
+ # @!attribute [rw] job_queue_name
729
+ # The name of the job queue.
730
+ # @return [String]
731
+ #
732
+ # @!attribute [rw] job_queue_arn
733
+ # The Amazon Resource Name (ARN) of the job queue.
734
+ # @return [String]
735
+ #
736
+ class CreateJobQueueResponse < Struct.new(
737
+ :job_queue_name,
738
+ :job_queue_arn)
739
+ include Aws::Structure
740
+ end
741
+
742
+ # @note When making an API call, you may pass DeleteComputeEnvironmentRequest
743
+ # data as a hash:
744
+ #
745
+ # {
746
+ # compute_environment: "String", # required
747
+ # }
748
+ #
749
+ # @!attribute [rw] compute_environment
750
+ # The name or Amazon Resource Name (ARN) of the compute environment to
751
+ # delete.
752
+ # @return [String]
753
+ #
754
+ class DeleteComputeEnvironmentRequest < Struct.new(
755
+ :compute_environment)
756
+ include Aws::Structure
757
+ end
758
+
759
+ class DeleteComputeEnvironmentResponse < Aws::EmptyStructure; end
760
+
761
+ # @note When making an API call, you may pass DeleteJobQueueRequest
762
+ # data as a hash:
763
+ #
764
+ # {
765
+ # job_queue: "String", # required
766
+ # }
767
+ #
768
+ # @!attribute [rw] job_queue
769
+ # The short name or full Amazon Resource Name (ARN) of the queue to
770
+ # delete.
771
+ # @return [String]
772
+ #
773
+ class DeleteJobQueueRequest < Struct.new(
774
+ :job_queue)
775
+ include Aws::Structure
776
+ end
777
+
778
+ class DeleteJobQueueResponse < Aws::EmptyStructure; end
779
+
780
+ # @note When making an API call, you may pass DeregisterJobDefinitionRequest
781
+ # data as a hash:
782
+ #
783
+ # {
784
+ # job_definition: "String", # required
785
+ # }
786
+ #
787
+ # @!attribute [rw] job_definition
788
+ # The name and revision (`name:revision`) or full Amazon Resource Name
789
+ # (ARN) of the job definition to deregister.
790
+ # @return [String]
791
+ #
792
+ class DeregisterJobDefinitionRequest < Struct.new(
793
+ :job_definition)
794
+ include Aws::Structure
795
+ end
796
+
797
+ class DeregisterJobDefinitionResponse < Aws::EmptyStructure; end
798
+
799
+ # @note When making an API call, you may pass DescribeComputeEnvironmentsRequest
800
+ # data as a hash:
801
+ #
802
+ # {
803
+ # compute_environments: ["String"],
804
+ # max_results: 1,
805
+ # next_token: "String",
806
+ # }
807
+ #
808
+ # @!attribute [rw] compute_environments
809
+ # A list of up to 100 compute environment names or full Amazon
810
+ # Resource Name (ARN) entries.
811
+ # @return [Array<String>]
812
+ #
813
+ # @!attribute [rw] max_results
814
+ # The maximum number of cluster results returned by
815
+ # `DescribeComputeEnvironments` in paginated output. When this
816
+ # parameter is used, `DescribeComputeEnvironments` only returns
817
+ # `maxResults` results in a single page along with a `nextToken`
818
+ # response element. The remaining results of the initial request can
819
+ # be seen by sending another `DescribeComputeEnvironments` request
820
+ # with the returned `nextToken` value. This value can be between 1 and
821
+ # 100. If this parameter is not used, then
822
+ # `DescribeComputeEnvironments` returns up to 100 results and a
823
+ # `nextToken` value if applicable.
824
+ # @return [Integer]
825
+ #
826
+ # @!attribute [rw] next_token
827
+ # The `nextToken` value returned from a previous paginated
828
+ # `DescribeComputeEnvironments` request where `maxResults` was used
829
+ # and the results exceeded the value of that parameter. Pagination
830
+ # continues from the end of the previous results that returned the
831
+ # `nextToken` value. This value is `null` when there are no more
832
+ # results to return.
833
+ #
834
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
835
+ # used to retrieve the next items in a list and not for other
836
+ # programmatic purposes.
837
+ #
838
+ # </note>
839
+ # @return [String]
840
+ #
841
+ class DescribeComputeEnvironmentsRequest < Struct.new(
842
+ :compute_environments,
843
+ :max_results,
844
+ :next_token)
845
+ include Aws::Structure
846
+ end
847
+
848
+ # @!attribute [rw] compute_environments
849
+ # The list of compute environments.
850
+ # @return [Array<Types::ComputeEnvironmentDetail>]
851
+ #
852
+ # @!attribute [rw] next_token
853
+ # The `nextToken` value to include in a future
854
+ # `DescribeComputeEnvironments` request. When the results of a
855
+ # `DescribeJobDefinitions` request exceed `maxResults`, this value can
856
+ # be used to retrieve the next page of results. This value is `null`
857
+ # when there are no more results to return.
858
+ # @return [String]
859
+ #
860
+ class DescribeComputeEnvironmentsResponse < Struct.new(
861
+ :compute_environments,
862
+ :next_token)
863
+ include Aws::Structure
864
+ end
865
+
866
+ # @note When making an API call, you may pass DescribeJobDefinitionsRequest
867
+ # data as a hash:
868
+ #
869
+ # {
870
+ # job_definitions: ["String"],
871
+ # max_results: 1,
872
+ # job_definition_name: "String",
873
+ # status: "String",
874
+ # next_token: "String",
875
+ # }
876
+ #
877
+ # @!attribute [rw] job_definitions
878
+ # A space-separated list of up to 100 job definition names or full
879
+ # Amazon Resource Name (ARN) entries.
880
+ # @return [Array<String>]
881
+ #
882
+ # @!attribute [rw] max_results
883
+ # The maximum number of results returned by `DescribeJobDefinitions`
884
+ # in paginated output. When this parameter is used,
885
+ # `DescribeJobDefinitions` only returns `maxResults` results in a
886
+ # single page along with a `nextToken` response element. The remaining
887
+ # results of the initial request can be seen by sending another
888
+ # `DescribeJobDefinitions` request with the returned `nextToken`
889
+ # value. This value can be between 1 and 100. If this parameter is not
890
+ # used, then `DescribeJobDefinitions` returns up to 100 results and a
891
+ # `nextToken` value if applicable.
892
+ # @return [Integer]
893
+ #
894
+ # @!attribute [rw] job_definition_name
895
+ # The name of the job definition to describe.
896
+ # @return [String]
897
+ #
898
+ # @!attribute [rw] status
899
+ # The status with which to filter job definitions.
900
+ # @return [String]
901
+ #
902
+ # @!attribute [rw] next_token
903
+ # The `nextToken` value returned from a previous paginated
904
+ # `DescribeJobDefinitions` request where `maxResults` was used and the
905
+ # results exceeded the value of that parameter. Pagination continues
906
+ # from the end of the previous results that returned the `nextToken`
907
+ # value. This value is `null` when there are no more results to
908
+ # return.
909
+ #
910
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
911
+ # used to retrieve the next items in a list and not for other
912
+ # programmatic purposes.
913
+ #
914
+ # </note>
915
+ # @return [String]
916
+ #
917
+ class DescribeJobDefinitionsRequest < Struct.new(
918
+ :job_definitions,
919
+ :max_results,
920
+ :job_definition_name,
921
+ :status,
922
+ :next_token)
923
+ include Aws::Structure
924
+ end
925
+
926
+ # @!attribute [rw] job_definitions
927
+ # The list of job definitions.
928
+ # @return [Array<Types::JobDefinition>]
929
+ #
930
+ # @!attribute [rw] next_token
931
+ # The `nextToken` value to include in a future
932
+ # `DescribeJobDefinitions` request. When the results of a
933
+ # `DescribeJobDefinitions` request exceed `maxResults`, this value can
934
+ # be used to retrieve the next page of results. This value is `null`
935
+ # when there are no more results to return.
936
+ # @return [String]
937
+ #
938
+ class DescribeJobDefinitionsResponse < Struct.new(
939
+ :job_definitions,
940
+ :next_token)
941
+ include Aws::Structure
942
+ end
943
+
944
+ # @note When making an API call, you may pass DescribeJobQueuesRequest
945
+ # data as a hash:
946
+ #
947
+ # {
948
+ # job_queues: ["String"],
949
+ # max_results: 1,
950
+ # next_token: "String",
951
+ # }
952
+ #
953
+ # @!attribute [rw] job_queues
954
+ # A list of up to 100 queue names or full queue Amazon Resource Name
955
+ # (ARN) entries.
956
+ # @return [Array<String>]
957
+ #
958
+ # @!attribute [rw] max_results
959
+ # The maximum number of results returned by `DescribeJobQueues` in
960
+ # paginated output. When this parameter is used, `DescribeJobQueues`
961
+ # only returns `maxResults` results in a single page along with a
962
+ # `nextToken` response element. The remaining results of the initial
963
+ # request can be seen by sending another `DescribeJobQueues` request
964
+ # with the returned `nextToken` value. This value can be between 1 and
965
+ # 100. If this parameter is not used, then `DescribeJobQueues` returns
966
+ # up to 100 results and a `nextToken` value if applicable.
967
+ # @return [Integer]
968
+ #
969
+ # @!attribute [rw] next_token
970
+ # The `nextToken` value returned from a previous paginated
971
+ # `DescribeJobQueues` request where `maxResults` was used and the
972
+ # results exceeded the value of that parameter. Pagination continues
973
+ # from the end of the previous results that returned the `nextToken`
974
+ # value. This value is `null` when there are no more results to
975
+ # return.
976
+ #
977
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
978
+ # used to retrieve the next items in a list and not for other
979
+ # programmatic purposes.
980
+ #
981
+ # </note>
982
+ # @return [String]
983
+ #
984
+ class DescribeJobQueuesRequest < Struct.new(
985
+ :job_queues,
986
+ :max_results,
987
+ :next_token)
988
+ include Aws::Structure
989
+ end
990
+
991
+ # @!attribute [rw] job_queues
992
+ # The list of job queues.
993
+ # @return [Array<Types::JobQueueDetail>]
994
+ #
995
+ # @!attribute [rw] next_token
996
+ # The `nextToken` value to include in a future `DescribeJobQueues`
997
+ # request. When the results of a `DescribeJobQueues` request exceed
998
+ # `maxResults`, this value can be used to retrieve the next page of
999
+ # results. This value is `null` when there are no more results to
1000
+ # return.
1001
+ # @return [String]
1002
+ #
1003
+ class DescribeJobQueuesResponse < Struct.new(
1004
+ :job_queues,
1005
+ :next_token)
1006
+ include Aws::Structure
1007
+ end
1008
+
1009
+ # @note When making an API call, you may pass DescribeJobsRequest
1010
+ # data as a hash:
1011
+ #
1012
+ # {
1013
+ # jobs: ["String"], # required
1014
+ # }
1015
+ #
1016
+ # @!attribute [rw] jobs
1017
+ # A space-separated list of up to 100 job IDs.
1018
+ # @return [Array<String>]
1019
+ #
1020
+ class DescribeJobsRequest < Struct.new(
1021
+ :jobs)
1022
+ include Aws::Structure
1023
+ end
1024
+
1025
+ # @!attribute [rw] jobs
1026
+ # The list of jobs.
1027
+ # @return [Array<Types::JobDetail>]
1028
+ #
1029
+ class DescribeJobsResponse < Struct.new(
1030
+ :jobs)
1031
+ include Aws::Structure
1032
+ end
1033
+
1034
+ # The contents of the `host` parameter determine whether your data
1035
+ # volume persists on the host container instance and where it is stored.
1036
+ # If the host parameter is empty, then the Docker daemon assigns a host
1037
+ # path for your data volume, but the data is not guaranteed to persist
1038
+ # after the containers associated with it stop running.
1039
+ #
1040
+ # @note When making an API call, you may pass Host
1041
+ # data as a hash:
1042
+ #
1043
+ # {
1044
+ # source_path: "String",
1045
+ # }
1046
+ #
1047
+ # @!attribute [rw] source_path
1048
+ # The path on the host container instance that is presented to the
1049
+ # container. If this parameter is empty, then the Docker daemon has
1050
+ # assigned a host path for you. If the `host` parameter contains a
1051
+ # `sourcePath` file location, then the data volume persists at the
1052
+ # specified location on the host container instance until you delete
1053
+ # it manually. If the `sourcePath` value does not exist on the host
1054
+ # container instance, the Docker daemon creates it. If the location
1055
+ # does exist, the contents of the source path folder are exported.
1056
+ # @return [String]
1057
+ #
1058
+ class Host < Struct.new(
1059
+ :source_path)
1060
+ include Aws::Structure
1061
+ end
1062
+
1063
+ # An object representing an AWS Batch job definition.
1064
+ #
1065
+ # @!attribute [rw] job_definition_name
1066
+ # The name of the job definition.
1067
+ # @return [String]
1068
+ #
1069
+ # @!attribute [rw] job_definition_arn
1070
+ # The Amazon Resource Name (ARN) for the job definition.
1071
+ # @return [String]
1072
+ #
1073
+ # @!attribute [rw] revision
1074
+ # The revision of the job definition.
1075
+ # @return [Integer]
1076
+ #
1077
+ # @!attribute [rw] status
1078
+ # The status of the job definition.
1079
+ # @return [String]
1080
+ #
1081
+ # @!attribute [rw] type
1082
+ # The type of job definition.
1083
+ # @return [String]
1084
+ #
1085
+ # @!attribute [rw] parameters
1086
+ # Default parameters or parameter substitution placeholders that are
1087
+ # set in the job definition. Parameters are specified as a key-value
1088
+ # pair mapping. Parameters in a `SubmitJob` request override any
1089
+ # corresponding parameter defaults from the job definition.
1090
+ # @return [Hash<String,String>]
1091
+ #
1092
+ # @!attribute [rw] container_properties
1093
+ # An object with various properties specific to container-based jobs.
1094
+ # @return [Types::ContainerProperties]
1095
+ #
1096
+ class JobDefinition < Struct.new(
1097
+ :job_definition_name,
1098
+ :job_definition_arn,
1099
+ :revision,
1100
+ :status,
1101
+ :type,
1102
+ :parameters,
1103
+ :container_properties)
1104
+ include Aws::Structure
1105
+ end
1106
+
1107
+ # An object representing an AWS Batch job dependency.
1108
+ #
1109
+ # @note When making an API call, you may pass JobDependency
1110
+ # data as a hash:
1111
+ #
1112
+ # {
1113
+ # job_id: "String",
1114
+ # }
1115
+ #
1116
+ # @!attribute [rw] job_id
1117
+ # The job ID of the AWS Batch job associated with this dependency.
1118
+ # @return [String]
1119
+ #
1120
+ class JobDependency < Struct.new(
1121
+ :job_id)
1122
+ include Aws::Structure
1123
+ end
1124
+
1125
+ # An object representing an AWS Batch job.
1126
+ #
1127
+ # @!attribute [rw] job_name
1128
+ # The name of the job.
1129
+ # @return [String]
1130
+ #
1131
+ # @!attribute [rw] job_id
1132
+ # The ID for the job.
1133
+ # @return [String]
1134
+ #
1135
+ # @!attribute [rw] job_queue
1136
+ # The Amazon Resource Name (ARN) of the job queue with which the job
1137
+ # is associated.
1138
+ # @return [String]
1139
+ #
1140
+ # @!attribute [rw] status
1141
+ # The current status for the job.
1142
+ # @return [String]
1143
+ #
1144
+ # @!attribute [rw] status_reason
1145
+ # A short, human-readable string to provide additional details about
1146
+ # the current status of the job.
1147
+ # @return [String]
1148
+ #
1149
+ # @!attribute [rw] created_at
1150
+ # The Unix timestamp for when the job was created (when the task
1151
+ # entered the `PENDING` state).
1152
+ # @return [Integer]
1153
+ #
1154
+ # @!attribute [rw] started_at
1155
+ # The Unix timestamp for when the job was started (when the task
1156
+ # transitioned from the `PENDING` state to the `RUNNING` state).
1157
+ # @return [Integer]
1158
+ #
1159
+ # @!attribute [rw] stopped_at
1160
+ # The Unix timestamp for when the job was stopped (when the task
1161
+ # transitioned from the `RUNNING` state to the `STOPPED` state).
1162
+ # @return [Integer]
1163
+ #
1164
+ # @!attribute [rw] depends_on
1165
+ # A list of job names or IDs on which this job depends.
1166
+ # @return [Array<Types::JobDependency>]
1167
+ #
1168
+ # @!attribute [rw] job_definition
1169
+ # The job definition that is used by this job.
1170
+ # @return [String]
1171
+ #
1172
+ # @!attribute [rw] parameters
1173
+ # Additional parameters passed to the job that replace parameter
1174
+ # substitution placeholders or override any corresponding parameter
1175
+ # defaults from the job definition.
1176
+ # @return [Hash<String,String>]
1177
+ #
1178
+ # @!attribute [rw] container
1179
+ # An object representing the details of the container that is
1180
+ # associated with the job.
1181
+ # @return [Types::ContainerDetail]
1182
+ #
1183
+ class JobDetail < Struct.new(
1184
+ :job_name,
1185
+ :job_id,
1186
+ :job_queue,
1187
+ :status,
1188
+ :status_reason,
1189
+ :created_at,
1190
+ :started_at,
1191
+ :stopped_at,
1192
+ :depends_on,
1193
+ :job_definition,
1194
+ :parameters,
1195
+ :container)
1196
+ include Aws::Structure
1197
+ end
1198
+
1199
+ # An object representing the details of an AWS Batch job queue.
1200
+ #
1201
+ # @!attribute [rw] job_queue_name
1202
+ # The name of the job queue.
1203
+ # @return [String]
1204
+ #
1205
+ # @!attribute [rw] job_queue_arn
1206
+ # The Amazon Resource Name (ARN) of the job queue.
1207
+ # @return [String]
1208
+ #
1209
+ # @!attribute [rw] state
1210
+ # Describes the ability of the queue to accept new jobs.
1211
+ # @return [String]
1212
+ #
1213
+ # @!attribute [rw] status
1214
+ # The status of the job queue (for example, `CREATING` or `VALID`).
1215
+ # @return [String]
1216
+ #
1217
+ # @!attribute [rw] status_reason
1218
+ # A short, human-readable string to provide additional details about
1219
+ # the current status of the job queue.
1220
+ # @return [String]
1221
+ #
1222
+ # @!attribute [rw] priority
1223
+ # The priority of the job queue.
1224
+ # @return [Integer]
1225
+ #
1226
+ # @!attribute [rw] compute_environment_order
1227
+ # The compute environments that are attached to the job queue and the
1228
+ # order in which job placement is preferred. Compute environments are
1229
+ # selected for job placement in ascending order.
1230
+ # @return [Array<Types::ComputeEnvironmentOrder>]
1231
+ #
1232
+ class JobQueueDetail < Struct.new(
1233
+ :job_queue_name,
1234
+ :job_queue_arn,
1235
+ :state,
1236
+ :status,
1237
+ :status_reason,
1238
+ :priority,
1239
+ :compute_environment_order)
1240
+ include Aws::Structure
1241
+ end
1242
+
1243
+ # An object representing summary details of a job.
1244
+ #
1245
+ # @!attribute [rw] job_id
1246
+ # The ID of the job.
1247
+ # @return [String]
1248
+ #
1249
+ # @!attribute [rw] job_name
1250
+ # The name of the job.
1251
+ # @return [String]
1252
+ #
1253
+ class JobSummary < Struct.new(
1254
+ :job_id,
1255
+ :job_name)
1256
+ include Aws::Structure
1257
+ end
1258
+
1259
+ # A key-value pair object.
1260
+ #
1261
+ # @note When making an API call, you may pass KeyValuePair
1262
+ # data as a hash:
1263
+ #
1264
+ # {
1265
+ # name: "String",
1266
+ # value: "String",
1267
+ # }
1268
+ #
1269
+ # @!attribute [rw] name
1270
+ # The name of the key value pair. For environment variables, this is
1271
+ # the name of the environment variable.
1272
+ # @return [String]
1273
+ #
1274
+ # @!attribute [rw] value
1275
+ # The value of the key value pair. For environment variables, this is
1276
+ # the value of the environment variable.
1277
+ # @return [String]
1278
+ #
1279
+ class KeyValuePair < Struct.new(
1280
+ :name,
1281
+ :value)
1282
+ include Aws::Structure
1283
+ end
1284
+
1285
+ # @note When making an API call, you may pass ListJobsRequest
1286
+ # data as a hash:
1287
+ #
1288
+ # {
1289
+ # job_queue: "String", # required
1290
+ # job_status: "SUBMITTED", # accepts SUBMITTED, PENDING, RUNNABLE, STARTING, RUNNING, SUCCEEDED, FAILED
1291
+ # max_results: 1,
1292
+ # next_token: "String",
1293
+ # }
1294
+ #
1295
+ # @!attribute [rw] job_queue
1296
+ # The name or full Amazon Resource Name (ARN) of the job queue with
1297
+ # which to list jobs.
1298
+ # @return [String]
1299
+ #
1300
+ # @!attribute [rw] job_status
1301
+ # The job status with which to filter jobs in the specified queue.
1302
+ # @return [String]
1303
+ #
1304
+ # @!attribute [rw] max_results
1305
+ # The maximum number of results returned by `ListJobs` in paginated
1306
+ # output. When this parameter is used, `ListJobs` only returns
1307
+ # `maxResults` results in a single page along with a `nextToken`
1308
+ # response element. The remaining results of the initial request can
1309
+ # be seen by sending another `ListJobs` request with the returned
1310
+ # `nextToken` value. This value can be between 1 and 100. If this
1311
+ # parameter is not used, then `ListJobs` returns up to 100 results and
1312
+ # a `nextToken` value if applicable.
1313
+ # @return [Integer]
1314
+ #
1315
+ # @!attribute [rw] next_token
1316
+ # The `nextToken` value returned from a previous paginated `ListJobs`
1317
+ # request where `maxResults` was used and the results exceeded the
1318
+ # value of that parameter. Pagination continues from the end of the
1319
+ # previous results that returned the `nextToken` value. This value is
1320
+ # `null` when there are no more results to return.
1321
+ #
1322
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
1323
+ # used to retrieve the next items in a list and not for other
1324
+ # programmatic purposes.
1325
+ #
1326
+ # </note>
1327
+ # @return [String]
1328
+ #
1329
+ class ListJobsRequest < Struct.new(
1330
+ :job_queue,
1331
+ :job_status,
1332
+ :max_results,
1333
+ :next_token)
1334
+ include Aws::Structure
1335
+ end
1336
+
1337
+ # @!attribute [rw] job_summary_list
1338
+ # A list of job summaries that match the request.
1339
+ # @return [Array<Types::JobSummary>]
1340
+ #
1341
+ # @!attribute [rw] next_token
1342
+ # The `nextToken` value to include in a future `ListJobs` request.
1343
+ # When the results of a `ListJobs` request exceed `maxResults`, this
1344
+ # value can be used to retrieve the next page of results. This value
1345
+ # is `null` when there are no more results to return.
1346
+ # @return [String]
1347
+ #
1348
+ class ListJobsResponse < Struct.new(
1349
+ :job_summary_list,
1350
+ :next_token)
1351
+ include Aws::Structure
1352
+ end
1353
+
1354
+ # Details on a volume mount point that is used in a job's container
1355
+ # properties.
1356
+ #
1357
+ # @note When making an API call, you may pass MountPoint
1358
+ # data as a hash:
1359
+ #
1360
+ # {
1361
+ # container_path: "String",
1362
+ # read_only: false,
1363
+ # source_volume: "String",
1364
+ # }
1365
+ #
1366
+ # @!attribute [rw] container_path
1367
+ # The path on the container at which to mount the host volume.
1368
+ # @return [String]
1369
+ #
1370
+ # @!attribute [rw] read_only
1371
+ # If this value is `true`, the container has read-only access to the
1372
+ # volume; otherwise, the container can write to the volume. The
1373
+ # default value is `false`.
1374
+ # @return [Boolean]
1375
+ #
1376
+ # @!attribute [rw] source_volume
1377
+ # The name of the volume to mount.
1378
+ # @return [String]
1379
+ #
1380
+ class MountPoint < Struct.new(
1381
+ :container_path,
1382
+ :read_only,
1383
+ :source_volume)
1384
+ include Aws::Structure
1385
+ end
1386
+
1387
+ # @note When making an API call, you may pass RegisterJobDefinitionRequest
1388
+ # data as a hash:
1389
+ #
1390
+ # {
1391
+ # job_definition_name: "String", # required
1392
+ # type: "container", # required, accepts container
1393
+ # parameters: {
1394
+ # "String" => "String",
1395
+ # },
1396
+ # container_properties: {
1397
+ # image: "String", # required
1398
+ # vcpus: 1, # required
1399
+ # memory: 1, # required
1400
+ # command: ["String"],
1401
+ # job_role_arn: "String",
1402
+ # volumes: [
1403
+ # {
1404
+ # host: {
1405
+ # source_path: "String",
1406
+ # },
1407
+ # name: "String",
1408
+ # },
1409
+ # ],
1410
+ # environment: [
1411
+ # {
1412
+ # name: "String",
1413
+ # value: "String",
1414
+ # },
1415
+ # ],
1416
+ # mount_points: [
1417
+ # {
1418
+ # container_path: "String",
1419
+ # read_only: false,
1420
+ # source_volume: "String",
1421
+ # },
1422
+ # ],
1423
+ # readonly_root_filesystem: false,
1424
+ # privileged: false,
1425
+ # ulimits: [
1426
+ # {
1427
+ # hard_limit: 1, # required
1428
+ # name: "String", # required
1429
+ # soft_limit: 1, # required
1430
+ # },
1431
+ # ],
1432
+ # user: "String",
1433
+ # },
1434
+ # }
1435
+ #
1436
+ # @!attribute [rw] job_definition_name
1437
+ # The name of the job definition to register.
1438
+ # @return [String]
1439
+ #
1440
+ # @!attribute [rw] type
1441
+ # The type of job definition.
1442
+ # @return [String]
1443
+ #
1444
+ # @!attribute [rw] parameters
1445
+ # Default parameter substitution placeholders to set in the job
1446
+ # definition. Parameters are specified as a key-value pair mapping.
1447
+ # Parameters in a `SubmitJob` request override any corresponding
1448
+ # parameter defaults from the job definition.
1449
+ # @return [Hash<String,String>]
1450
+ #
1451
+ # @!attribute [rw] container_properties
1452
+ # An object with various properties specific for container-based jobs.
1453
+ # This parameter is required if the `type` parameter is `container`.
1454
+ # @return [Types::ContainerProperties]
1455
+ #
1456
+ class RegisterJobDefinitionRequest < Struct.new(
1457
+ :job_definition_name,
1458
+ :type,
1459
+ :parameters,
1460
+ :container_properties)
1461
+ include Aws::Structure
1462
+ end
1463
+
1464
+ # @!attribute [rw] job_definition_name
1465
+ # The name of the job definition.
1466
+ # @return [String]
1467
+ #
1468
+ # @!attribute [rw] job_definition_arn
1469
+ # The Amazon Resource Name (ARN) of the job definition.
1470
+ # @return [String]
1471
+ #
1472
+ # @!attribute [rw] revision
1473
+ # The revision of the job definition.
1474
+ # @return [Integer]
1475
+ #
1476
+ class RegisterJobDefinitionResponse < Struct.new(
1477
+ :job_definition_name,
1478
+ :job_definition_arn,
1479
+ :revision)
1480
+ include Aws::Structure
1481
+ end
1482
+
1483
+ # @note When making an API call, you may pass SubmitJobRequest
1484
+ # data as a hash:
1485
+ #
1486
+ # {
1487
+ # job_name: "String", # required
1488
+ # job_queue: "String", # required
1489
+ # depends_on: [
1490
+ # {
1491
+ # job_id: "String",
1492
+ # },
1493
+ # ],
1494
+ # job_definition: "String", # required
1495
+ # parameters: {
1496
+ # "String" => "String",
1497
+ # },
1498
+ # container_overrides: {
1499
+ # vcpus: 1,
1500
+ # memory: 1,
1501
+ # command: ["String"],
1502
+ # environment: [
1503
+ # {
1504
+ # name: "String",
1505
+ # value: "String",
1506
+ # },
1507
+ # ],
1508
+ # },
1509
+ # }
1510
+ #
1511
+ # @!attribute [rw] job_name
1512
+ # The name of the job.
1513
+ # @return [String]
1514
+ #
1515
+ # @!attribute [rw] job_queue
1516
+ # The job queue into which the job will be submitted. You can specify
1517
+ # either the name or the Amazon Resource Name (ARN) of the queue.
1518
+ # @return [String]
1519
+ #
1520
+ # @!attribute [rw] depends_on
1521
+ # A list of job names or IDs on which this job depends. A job can
1522
+ # depend upon a maximum of 100 jobs.
1523
+ # @return [Array<Types::JobDependency>]
1524
+ #
1525
+ # @!attribute [rw] job_definition
1526
+ # The job definition used by this job. This value can be either a
1527
+ # `name:revision` or the Amazon Resource Name (ARN) for the job
1528
+ # definition.
1529
+ # @return [String]
1530
+ #
1531
+ # @!attribute [rw] parameters
1532
+ # Additional parameters passed to the job that replace parameter
1533
+ # substitution placeholders that are set in the job definition.
1534
+ # Parameters are specified as a key and value pair mapping. Parameters
1535
+ # in a `SubmitJob` request override any corresponding parameter
1536
+ # defaults from the job definition.
1537
+ # @return [Hash<String,String>]
1538
+ #
1539
+ # @!attribute [rw] container_overrides
1540
+ # A list of container overrides in JSON format that specify the name
1541
+ # of a container in the specified job definition and the overrides it
1542
+ # should receive. You can override the default command for a container
1543
+ # (that is specified in the job definition or the Docker image) with a
1544
+ # `command` override. You can also override existing environment
1545
+ # variables (that are specified in the job definition or Docker image)
1546
+ # on a container or add new environment variables to it with an
1547
+ # `environment` override.
1548
+ # @return [Types::ContainerOverrides]
1549
+ #
1550
+ class SubmitJobRequest < Struct.new(
1551
+ :job_name,
1552
+ :job_queue,
1553
+ :depends_on,
1554
+ :job_definition,
1555
+ :parameters,
1556
+ :container_overrides)
1557
+ include Aws::Structure
1558
+ end
1559
+
1560
+ # @!attribute [rw] job_name
1561
+ # The name of the job.
1562
+ # @return [String]
1563
+ #
1564
+ # @!attribute [rw] job_id
1565
+ # The unique identifier for the job.
1566
+ # @return [String]
1567
+ #
1568
+ class SubmitJobResponse < Struct.new(
1569
+ :job_name,
1570
+ :job_id)
1571
+ include Aws::Structure
1572
+ end
1573
+
1574
+ # @note When making an API call, you may pass TerminateJobRequest
1575
+ # data as a hash:
1576
+ #
1577
+ # {
1578
+ # job_id: "String", # required
1579
+ # reason: "String", # required
1580
+ # }
1581
+ #
1582
+ # @!attribute [rw] job_id
1583
+ # Job IDs to be terminated. Up to 100 jobs can be specified.
1584
+ # @return [String]
1585
+ #
1586
+ # @!attribute [rw] reason
1587
+ # A message to attach to the job that explains the reason for
1588
+ # cancelling it. This message is returned by future DescribeJobs
1589
+ # operations on the job. This message is also recorded in the AWS
1590
+ # Batch activity logs.
1591
+ # @return [String]
1592
+ #
1593
+ class TerminateJobRequest < Struct.new(
1594
+ :job_id,
1595
+ :reason)
1596
+ include Aws::Structure
1597
+ end
1598
+
1599
+ class TerminateJobResponse < Aws::EmptyStructure; end
1600
+
1601
+ # The `ulimit` settings to pass to the container.
1602
+ #
1603
+ # @note When making an API call, you may pass Ulimit
1604
+ # data as a hash:
1605
+ #
1606
+ # {
1607
+ # hard_limit: 1, # required
1608
+ # name: "String", # required
1609
+ # soft_limit: 1, # required
1610
+ # }
1611
+ #
1612
+ # @!attribute [rw] hard_limit
1613
+ # The hard limit for the `ulimit` type.
1614
+ # @return [Integer]
1615
+ #
1616
+ # @!attribute [rw] name
1617
+ # The `type` of the `ulimit`.
1618
+ # @return [String]
1619
+ #
1620
+ # @!attribute [rw] soft_limit
1621
+ # The soft limit for the `ulimit` type.
1622
+ # @return [Integer]
1623
+ #
1624
+ class Ulimit < Struct.new(
1625
+ :hard_limit,
1626
+ :name,
1627
+ :soft_limit)
1628
+ include Aws::Structure
1629
+ end
1630
+
1631
+ # @note When making an API call, you may pass UpdateComputeEnvironmentRequest
1632
+ # data as a hash:
1633
+ #
1634
+ # {
1635
+ # compute_environment: "String", # required
1636
+ # state: "ENABLED", # accepts ENABLED, DISABLED
1637
+ # compute_resources: {
1638
+ # minv_cpus: 1,
1639
+ # maxv_cpus: 1,
1640
+ # desiredv_cpus: 1,
1641
+ # },
1642
+ # service_role: "String",
1643
+ # }
1644
+ #
1645
+ # @!attribute [rw] compute_environment
1646
+ # The name or full Amazon Resource Name (ARN) of the compute
1647
+ # environment to update.
1648
+ # @return [String]
1649
+ #
1650
+ # @!attribute [rw] state
1651
+ # The state of the compute environment. Compute environments in the
1652
+ # `ENABLED` state can accept jobs from a queue and scale in or out
1653
+ # automatically based on the workload demand of its associated queues.
1654
+ # @return [String]
1655
+ #
1656
+ # @!attribute [rw] compute_resources
1657
+ # Details of the compute resources managed by the compute environment.
1658
+ # Required for a managed compute environment.
1659
+ # @return [Types::ComputeResourceUpdate]
1660
+ #
1661
+ # @!attribute [rw] service_role
1662
+ # The name or full Amazon Resource Name (ARN) of the IAM role that
1663
+ # allows AWS Batch to make calls to ECS, Auto Scaling, and EC2 on your
1664
+ # behalf.
1665
+ # @return [String]
1666
+ #
1667
+ class UpdateComputeEnvironmentRequest < Struct.new(
1668
+ :compute_environment,
1669
+ :state,
1670
+ :compute_resources,
1671
+ :service_role)
1672
+ include Aws::Structure
1673
+ end
1674
+
1675
+ # @!attribute [rw] compute_environment_name
1676
+ # The name of compute environment.
1677
+ # @return [String]
1678
+ #
1679
+ # @!attribute [rw] compute_environment_arn
1680
+ # The Amazon Resource Name (ARN) of the compute environment.
1681
+ # @return [String]
1682
+ #
1683
+ class UpdateComputeEnvironmentResponse < Struct.new(
1684
+ :compute_environment_name,
1685
+ :compute_environment_arn)
1686
+ include Aws::Structure
1687
+ end
1688
+
1689
+ # @note When making an API call, you may pass UpdateJobQueueRequest
1690
+ # data as a hash:
1691
+ #
1692
+ # {
1693
+ # job_queue: "String", # required
1694
+ # state: "ENABLED", # accepts ENABLED, DISABLED
1695
+ # priority: 1,
1696
+ # compute_environment_order: [
1697
+ # {
1698
+ # order: 1, # required
1699
+ # compute_environment: "String", # required
1700
+ # },
1701
+ # ],
1702
+ # }
1703
+ #
1704
+ # @!attribute [rw] job_queue
1705
+ # The name or the Amazon Resource Name (ARN) of the job queue.
1706
+ # @return [String]
1707
+ #
1708
+ # @!attribute [rw] state
1709
+ # Describes the queue's ability to accept new jobs.
1710
+ # @return [String]
1711
+ #
1712
+ # @!attribute [rw] priority
1713
+ # The priority of the job queue. Job queues with a higher priority (or
1714
+ # a lower integer value for the `priority` parameter) are evaluated
1715
+ # first when associated with same compute environment. Priority is
1716
+ # determined in ascending order, for example, a job queue with a
1717
+ # priority value of `1` is given scheduling preference over a job
1718
+ # queue with a priority value of `10`.
1719
+ # @return [Integer]
1720
+ #
1721
+ # @!attribute [rw] compute_environment_order
1722
+ # Details the set of compute environments mapped to a job queue and
1723
+ # their order relative to each other. This is one of the parameters
1724
+ # used by the job scheduler to determine which compute environment
1725
+ # should execute a given job.
1726
+ # @return [Array<Types::ComputeEnvironmentOrder>]
1727
+ #
1728
+ class UpdateJobQueueRequest < Struct.new(
1729
+ :job_queue,
1730
+ :state,
1731
+ :priority,
1732
+ :compute_environment_order)
1733
+ include Aws::Structure
1734
+ end
1735
+
1736
+ # @!attribute [rw] job_queue_name
1737
+ # The name of the job queue.
1738
+ # @return [String]
1739
+ #
1740
+ # @!attribute [rw] job_queue_arn
1741
+ # The Amazon Resource Name (ARN) of the job queue.
1742
+ # @return [String]
1743
+ #
1744
+ class UpdateJobQueueResponse < Struct.new(
1745
+ :job_queue_name,
1746
+ :job_queue_arn)
1747
+ include Aws::Structure
1748
+ end
1749
+
1750
+ # A data volume used in a job's container properties.
1751
+ #
1752
+ # @note When making an API call, you may pass Volume
1753
+ # data as a hash:
1754
+ #
1755
+ # {
1756
+ # host: {
1757
+ # source_path: "String",
1758
+ # },
1759
+ # name: "String",
1760
+ # }
1761
+ #
1762
+ # @!attribute [rw] host
1763
+ # The contents of the `host` parameter determine whether your data
1764
+ # volume persists on the host container instance and where it is
1765
+ # stored. If the host parameter is empty, then the Docker daemon
1766
+ # assigns a host path for your data volume, but the data is not
1767
+ # guaranteed to persist after the containers associated with it stop
1768
+ # running.
1769
+ # @return [Types::Host]
1770
+ #
1771
+ # @!attribute [rw] name
1772
+ # The name of the volume. Up to 255 letters (uppercase and lowercase),
1773
+ # numbers, hyphens, and underscores are allowed. This name is
1774
+ # referenced in the `sourceVolume` parameter of container definition
1775
+ # `mountPoints`.
1776
+ # @return [String]
1777
+ #
1778
+ class Volume < Struct.new(
1779
+ :host,
1780
+ :name)
1781
+ include Aws::Structure
1782
+ end
1783
+
1784
+ end
1785
+ end