aws-sdk-batch 1.0.0.rc1

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