aws-sdk-emrserverless 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,1639 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::EMRServerless
11
+ module Types
12
+
13
+ # Information about an application. EMR Serverless uses applications to
14
+ # run jobs.
15
+ #
16
+ # @!attribute [rw] application_id
17
+ # The ID of the application.
18
+ # @return [String]
19
+ #
20
+ # @!attribute [rw] name
21
+ # The name of the application.
22
+ # @return [String]
23
+ #
24
+ # @!attribute [rw] arn
25
+ # The ARN of the application.
26
+ # @return [String]
27
+ #
28
+ # @!attribute [rw] release_label
29
+ # The EMR release version associated with the application.
30
+ # @return [String]
31
+ #
32
+ # @!attribute [rw] type
33
+ # The type of application, such as Spark or Hive.
34
+ # @return [String]
35
+ #
36
+ # @!attribute [rw] state
37
+ # The state of the application.
38
+ # @return [String]
39
+ #
40
+ # @!attribute [rw] state_details
41
+ # The state details of the application.
42
+ # @return [String]
43
+ #
44
+ # @!attribute [rw] initial_capacity
45
+ # The initial capacity of the application.
46
+ # @return [Hash<String,Types::InitialCapacityConfig>]
47
+ #
48
+ # @!attribute [rw] maximum_capacity
49
+ # The maximum capacity of the application. This is cumulative across
50
+ # all workers at any given point in time during the lifespan of the
51
+ # application is created. No new resources will be created once any
52
+ # one of the defined limits is hit.
53
+ # @return [Types::MaximumAllowedResources]
54
+ #
55
+ # @!attribute [rw] created_at
56
+ # The date and time when the application run was created.
57
+ # @return [Time]
58
+ #
59
+ # @!attribute [rw] updated_at
60
+ # The date and time when the application run was last updated.
61
+ # @return [Time]
62
+ #
63
+ # @!attribute [rw] tags
64
+ # The tags assigned to the application.
65
+ # @return [Hash<String,String>]
66
+ #
67
+ # @!attribute [rw] auto_start_configuration
68
+ # The configuration for an application to automatically start on job
69
+ # submission.
70
+ # @return [Types::AutoStartConfig]
71
+ #
72
+ # @!attribute [rw] auto_stop_configuration
73
+ # The configuration for an application to automatically stop after a
74
+ # certain amount of time being idle.
75
+ # @return [Types::AutoStopConfig]
76
+ #
77
+ # @!attribute [rw] network_configuration
78
+ # The network configuration for customer VPC connectivity for the
79
+ # application.
80
+ # @return [Types::NetworkConfiguration]
81
+ #
82
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/Application AWS API Documentation
83
+ #
84
+ class Application < Struct.new(
85
+ :application_id,
86
+ :name,
87
+ :arn,
88
+ :release_label,
89
+ :type,
90
+ :state,
91
+ :state_details,
92
+ :initial_capacity,
93
+ :maximum_capacity,
94
+ :created_at,
95
+ :updated_at,
96
+ :tags,
97
+ :auto_start_configuration,
98
+ :auto_stop_configuration,
99
+ :network_configuration)
100
+ SENSITIVE = []
101
+ include Aws::Structure
102
+ end
103
+
104
+ # The summary of attributes associated with an application.
105
+ #
106
+ # @!attribute [rw] id
107
+ # The ID of the application.
108
+ # @return [String]
109
+ #
110
+ # @!attribute [rw] name
111
+ # The name of the application.
112
+ # @return [String]
113
+ #
114
+ # @!attribute [rw] arn
115
+ # The ARN of the application.
116
+ # @return [String]
117
+ #
118
+ # @!attribute [rw] release_label
119
+ # The EMR release version associated with the application.
120
+ # @return [String]
121
+ #
122
+ # @!attribute [rw] type
123
+ # The type of application, such as Spark or Hive.
124
+ # @return [String]
125
+ #
126
+ # @!attribute [rw] state
127
+ # The state of the application.
128
+ # @return [String]
129
+ #
130
+ # @!attribute [rw] state_details
131
+ # The state details of the application.
132
+ # @return [String]
133
+ #
134
+ # @!attribute [rw] created_at
135
+ # The date and time when the application was created.
136
+ # @return [Time]
137
+ #
138
+ # @!attribute [rw] updated_at
139
+ # The date and time when the application was last updated.
140
+ # @return [Time]
141
+ #
142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ApplicationSummary AWS API Documentation
143
+ #
144
+ class ApplicationSummary < Struct.new(
145
+ :id,
146
+ :name,
147
+ :arn,
148
+ :release_label,
149
+ :type,
150
+ :state,
151
+ :state_details,
152
+ :created_at,
153
+ :updated_at)
154
+ SENSITIVE = []
155
+ include Aws::Structure
156
+ end
157
+
158
+ # The configuration for an application to automatically start on job
159
+ # submission.
160
+ #
161
+ # @note When making an API call, you may pass AutoStartConfig
162
+ # data as a hash:
163
+ #
164
+ # {
165
+ # enabled: false,
166
+ # }
167
+ #
168
+ # @!attribute [rw] enabled
169
+ # Enables the application to automatically start on job submission.
170
+ # Defaults to true.
171
+ # @return [Boolean]
172
+ #
173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/AutoStartConfig AWS API Documentation
174
+ #
175
+ class AutoStartConfig < Struct.new(
176
+ :enabled)
177
+ SENSITIVE = []
178
+ include Aws::Structure
179
+ end
180
+
181
+ # The configuration for an application to automatically stop after a
182
+ # certain amount of time being idle.
183
+ #
184
+ # @note When making an API call, you may pass AutoStopConfig
185
+ # data as a hash:
186
+ #
187
+ # {
188
+ # enabled: false,
189
+ # idle_timeout_minutes: 1,
190
+ # }
191
+ #
192
+ # @!attribute [rw] enabled
193
+ # Enables the application to automatically stop after a certain amount
194
+ # of time being idle. Defaults to true.
195
+ # @return [Boolean]
196
+ #
197
+ # @!attribute [rw] idle_timeout_minutes
198
+ # The amount of idle time in minutes after which your application will
199
+ # automatically stop. Defaults to 15 minutes.
200
+ # @return [Integer]
201
+ #
202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/AutoStopConfig AWS API Documentation
203
+ #
204
+ class AutoStopConfig < Struct.new(
205
+ :enabled,
206
+ :idle_timeout_minutes)
207
+ SENSITIVE = []
208
+ include Aws::Structure
209
+ end
210
+
211
+ # @note When making an API call, you may pass CancelJobRunRequest
212
+ # data as a hash:
213
+ #
214
+ # {
215
+ # application_id: "ApplicationId", # required
216
+ # job_run_id: "JobRunId", # required
217
+ # }
218
+ #
219
+ # @!attribute [rw] application_id
220
+ # The ID of the application on which the job run will be canceled.
221
+ # @return [String]
222
+ #
223
+ # @!attribute [rw] job_run_id
224
+ # The ID of the job run to cancel.
225
+ # @return [String]
226
+ #
227
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/CancelJobRunRequest AWS API Documentation
228
+ #
229
+ class CancelJobRunRequest < Struct.new(
230
+ :application_id,
231
+ :job_run_id)
232
+ SENSITIVE = []
233
+ include Aws::Structure
234
+ end
235
+
236
+ # @!attribute [rw] application_id
237
+ # The output contains the application ID on which the job run is
238
+ # cancelled.
239
+ # @return [String]
240
+ #
241
+ # @!attribute [rw] job_run_id
242
+ # The output contains the ID of the cancelled job run.
243
+ # @return [String]
244
+ #
245
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/CancelJobRunResponse AWS API Documentation
246
+ #
247
+ class CancelJobRunResponse < Struct.new(
248
+ :application_id,
249
+ :job_run_id)
250
+ SENSITIVE = []
251
+ include Aws::Structure
252
+ end
253
+
254
+ # A configuration specification to be used when provisioning an
255
+ # application. A configuration consists of a classification, properties,
256
+ # and optional nested configurations. A classification refers to an
257
+ # application-specific configuration file. Properties are the settings
258
+ # you want to change in that file.
259
+ #
260
+ # @note When making an API call, you may pass Configuration
261
+ # data as a hash:
262
+ #
263
+ # {
264
+ # classification: "String1024", # required
265
+ # properties: {
266
+ # "String1024" => "String1024",
267
+ # },
268
+ # configurations: [
269
+ # {
270
+ # classification: "String1024", # required
271
+ # properties: {
272
+ # "String1024" => "String1024",
273
+ # },
274
+ # configurations: {
275
+ # # recursive ConfigurationList
276
+ # },
277
+ # },
278
+ # ],
279
+ # }
280
+ #
281
+ # @!attribute [rw] classification
282
+ # The classification within a configuration.
283
+ # @return [String]
284
+ #
285
+ # @!attribute [rw] properties
286
+ # A set of properties specified within a configuration classification.
287
+ # @return [Hash<String,String>]
288
+ #
289
+ # @!attribute [rw] configurations
290
+ # A list of additional configurations to apply within a configuration
291
+ # object.
292
+ # @return [Array<Types::Configuration>]
293
+ #
294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/Configuration AWS API Documentation
295
+ #
296
+ class Configuration < Struct.new(
297
+ :classification,
298
+ :properties,
299
+ :configurations)
300
+ SENSITIVE = [:properties]
301
+ include Aws::Structure
302
+ end
303
+
304
+ # A configuration specification to be used to override existing
305
+ # configurations.
306
+ #
307
+ # @note When making an API call, you may pass ConfigurationOverrides
308
+ # data as a hash:
309
+ #
310
+ # {
311
+ # application_configuration: [
312
+ # {
313
+ # classification: "String1024", # required
314
+ # properties: {
315
+ # "String1024" => "String1024",
316
+ # },
317
+ # configurations: {
318
+ # # recursive ConfigurationList
319
+ # },
320
+ # },
321
+ # ],
322
+ # monitoring_configuration: {
323
+ # s3_monitoring_configuration: {
324
+ # log_uri: "UriString",
325
+ # encryption_key_arn: "EncryptionKeyArn",
326
+ # },
327
+ # managed_persistence_monitoring_configuration: {
328
+ # enabled: false,
329
+ # encryption_key_arn: "EncryptionKeyArn",
330
+ # },
331
+ # },
332
+ # }
333
+ #
334
+ # @!attribute [rw] application_configuration
335
+ # The override configurations for the application.
336
+ # @return [Array<Types::Configuration>]
337
+ #
338
+ # @!attribute [rw] monitoring_configuration
339
+ # The override configurations for monitoring.
340
+ # @return [Types::MonitoringConfiguration]
341
+ #
342
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ConfigurationOverrides AWS API Documentation
343
+ #
344
+ class ConfigurationOverrides < Struct.new(
345
+ :application_configuration,
346
+ :monitoring_configuration)
347
+ SENSITIVE = []
348
+ include Aws::Structure
349
+ end
350
+
351
+ # The request could not be processed because of conflict in the current
352
+ # state of the resource.
353
+ #
354
+ # @!attribute [rw] message
355
+ # @return [String]
356
+ #
357
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ConflictException AWS API Documentation
358
+ #
359
+ class ConflictException < Struct.new(
360
+ :message)
361
+ SENSITIVE = []
362
+ include Aws::Structure
363
+ end
364
+
365
+ # @note When making an API call, you may pass CreateApplicationRequest
366
+ # data as a hash:
367
+ #
368
+ # {
369
+ # name: "ApplicationName",
370
+ # release_label: "ReleaseLabel", # required
371
+ # type: "EngineType", # required
372
+ # client_token: "ClientToken", # required
373
+ # initial_capacity: {
374
+ # "WorkerTypeString" => {
375
+ # worker_count: 1, # required
376
+ # worker_configuration: {
377
+ # cpu: "CpuSize", # required
378
+ # memory: "MemorySize", # required
379
+ # disk: "DiskSize",
380
+ # },
381
+ # },
382
+ # },
383
+ # maximum_capacity: {
384
+ # cpu: "CpuSize", # required
385
+ # memory: "MemorySize", # required
386
+ # disk: "DiskSize",
387
+ # },
388
+ # tags: {
389
+ # "TagKey" => "TagValue",
390
+ # },
391
+ # auto_start_configuration: {
392
+ # enabled: false,
393
+ # },
394
+ # auto_stop_configuration: {
395
+ # enabled: false,
396
+ # idle_timeout_minutes: 1,
397
+ # },
398
+ # network_configuration: {
399
+ # subnet_ids: ["SubnetString"],
400
+ # security_group_ids: ["SecurityGroupString"],
401
+ # },
402
+ # }
403
+ #
404
+ # @!attribute [rw] name
405
+ # The name of the application.
406
+ # @return [String]
407
+ #
408
+ # @!attribute [rw] release_label
409
+ # The EMR release version associated with the application.
410
+ # @return [String]
411
+ #
412
+ # @!attribute [rw] type
413
+ # The type of application you want to start, such as Spark or Hive.
414
+ # @return [String]
415
+ #
416
+ # @!attribute [rw] client_token
417
+ # The client idempotency token of the application to create. Its value
418
+ # must be unique for each request.
419
+ #
420
+ # **A suitable default value is auto-generated.** You should normally
421
+ # not need to pass this option.
422
+ # @return [String]
423
+ #
424
+ # @!attribute [rw] initial_capacity
425
+ # The capacity to initialize when the application is created.
426
+ # @return [Hash<String,Types::InitialCapacityConfig>]
427
+ #
428
+ # @!attribute [rw] maximum_capacity
429
+ # The maximum capacity to allocate when the application is created.
430
+ # This is cumulative across all workers at any given point in time,
431
+ # not just when an application is created. No new resources will be
432
+ # created once any one of the defined limits is hit.
433
+ # @return [Types::MaximumAllowedResources]
434
+ #
435
+ # @!attribute [rw] tags
436
+ # The tags assigned to the application.
437
+ # @return [Hash<String,String>]
438
+ #
439
+ # @!attribute [rw] auto_start_configuration
440
+ # The configuration for an application to automatically start on job
441
+ # submission.
442
+ # @return [Types::AutoStartConfig]
443
+ #
444
+ # @!attribute [rw] auto_stop_configuration
445
+ # The configuration for an application to automatically stop after a
446
+ # certain amount of time being idle.
447
+ # @return [Types::AutoStopConfig]
448
+ #
449
+ # @!attribute [rw] network_configuration
450
+ # The network configuration for customer VPC connectivity.
451
+ # @return [Types::NetworkConfiguration]
452
+ #
453
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/CreateApplicationRequest AWS API Documentation
454
+ #
455
+ class CreateApplicationRequest < Struct.new(
456
+ :name,
457
+ :release_label,
458
+ :type,
459
+ :client_token,
460
+ :initial_capacity,
461
+ :maximum_capacity,
462
+ :tags,
463
+ :auto_start_configuration,
464
+ :auto_stop_configuration,
465
+ :network_configuration)
466
+ SENSITIVE = []
467
+ include Aws::Structure
468
+ end
469
+
470
+ # @!attribute [rw] application_id
471
+ # The output contains the application ID.
472
+ # @return [String]
473
+ #
474
+ # @!attribute [rw] name
475
+ # The output contains the name of the application.
476
+ # @return [String]
477
+ #
478
+ # @!attribute [rw] arn
479
+ # The output contains the ARN of the application.
480
+ # @return [String]
481
+ #
482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/CreateApplicationResponse AWS API Documentation
483
+ #
484
+ class CreateApplicationResponse < Struct.new(
485
+ :application_id,
486
+ :name,
487
+ :arn)
488
+ SENSITIVE = []
489
+ include Aws::Structure
490
+ end
491
+
492
+ # @note When making an API call, you may pass DeleteApplicationRequest
493
+ # data as a hash:
494
+ #
495
+ # {
496
+ # application_id: "ApplicationId", # required
497
+ # }
498
+ #
499
+ # @!attribute [rw] application_id
500
+ # The ID of the application that will be deleted.
501
+ # @return [String]
502
+ #
503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/DeleteApplicationRequest AWS API Documentation
504
+ #
505
+ class DeleteApplicationRequest < Struct.new(
506
+ :application_id)
507
+ SENSITIVE = []
508
+ include Aws::Structure
509
+ end
510
+
511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/DeleteApplicationResponse AWS API Documentation
512
+ #
513
+ class DeleteApplicationResponse < Aws::EmptyStructure; end
514
+
515
+ # @note When making an API call, you may pass GetApplicationRequest
516
+ # data as a hash:
517
+ #
518
+ # {
519
+ # application_id: "ApplicationId", # required
520
+ # }
521
+ #
522
+ # @!attribute [rw] application_id
523
+ # The ID of the application that will be described.
524
+ # @return [String]
525
+ #
526
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetApplicationRequest AWS API Documentation
527
+ #
528
+ class GetApplicationRequest < Struct.new(
529
+ :application_id)
530
+ SENSITIVE = []
531
+ include Aws::Structure
532
+ end
533
+
534
+ # @!attribute [rw] application
535
+ # The output displays information about the specified application.
536
+ # @return [Types::Application]
537
+ #
538
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetApplicationResponse AWS API Documentation
539
+ #
540
+ class GetApplicationResponse < Struct.new(
541
+ :application)
542
+ SENSITIVE = []
543
+ include Aws::Structure
544
+ end
545
+
546
+ # @note When making an API call, you may pass GetJobRunRequest
547
+ # data as a hash:
548
+ #
549
+ # {
550
+ # application_id: "ApplicationId", # required
551
+ # job_run_id: "JobRunId", # required
552
+ # }
553
+ #
554
+ # @!attribute [rw] application_id
555
+ # The ID of the application on which the job run is submitted.
556
+ # @return [String]
557
+ #
558
+ # @!attribute [rw] job_run_id
559
+ # The ID of the job run.
560
+ # @return [String]
561
+ #
562
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetJobRunRequest AWS API Documentation
563
+ #
564
+ class GetJobRunRequest < Struct.new(
565
+ :application_id,
566
+ :job_run_id)
567
+ SENSITIVE = []
568
+ include Aws::Structure
569
+ end
570
+
571
+ # @!attribute [rw] job_run
572
+ # The output displays information about the job run.
573
+ # @return [Types::JobRun]
574
+ #
575
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetJobRunResponse AWS API Documentation
576
+ #
577
+ class GetJobRunResponse < Struct.new(
578
+ :job_run)
579
+ SENSITIVE = []
580
+ include Aws::Structure
581
+ end
582
+
583
+ # The configurations for the Hive job driver.
584
+ #
585
+ # @note When making an API call, you may pass Hive
586
+ # data as a hash:
587
+ #
588
+ # {
589
+ # query: "Query", # required
590
+ # init_query_file: "InitScriptPath",
591
+ # parameters: "HiveCliParameters",
592
+ # }
593
+ #
594
+ # @!attribute [rw] query
595
+ # The query for the Hive job run.
596
+ # @return [String]
597
+ #
598
+ # @!attribute [rw] init_query_file
599
+ # The query file for the Hive job run.
600
+ # @return [String]
601
+ #
602
+ # @!attribute [rw] parameters
603
+ # The parameters for the Hive job run.
604
+ # @return [String]
605
+ #
606
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/Hive AWS API Documentation
607
+ #
608
+ class Hive < Struct.new(
609
+ :query,
610
+ :init_query_file,
611
+ :parameters)
612
+ SENSITIVE = [:query, :init_query_file, :parameters]
613
+ include Aws::Structure
614
+ end
615
+
616
+ # The initial capacity configuration per worker.
617
+ #
618
+ # @note When making an API call, you may pass InitialCapacityConfig
619
+ # data as a hash:
620
+ #
621
+ # {
622
+ # worker_count: 1, # required
623
+ # worker_configuration: {
624
+ # cpu: "CpuSize", # required
625
+ # memory: "MemorySize", # required
626
+ # disk: "DiskSize",
627
+ # },
628
+ # }
629
+ #
630
+ # @!attribute [rw] worker_count
631
+ # The number of workers in the initial capacity configuration.
632
+ # @return [Integer]
633
+ #
634
+ # @!attribute [rw] worker_configuration
635
+ # The resource configuration of the initial capacity configuration.
636
+ # @return [Types::WorkerResourceConfig]
637
+ #
638
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/InitialCapacityConfig AWS API Documentation
639
+ #
640
+ class InitialCapacityConfig < Struct.new(
641
+ :worker_count,
642
+ :worker_configuration)
643
+ SENSITIVE = []
644
+ include Aws::Structure
645
+ end
646
+
647
+ # Request processing failed because of an error or failure with the
648
+ # service.
649
+ #
650
+ # @!attribute [rw] message
651
+ # @return [String]
652
+ #
653
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/InternalServerException AWS API Documentation
654
+ #
655
+ class InternalServerException < Struct.new(
656
+ :message)
657
+ SENSITIVE = []
658
+ include Aws::Structure
659
+ end
660
+
661
+ # The driver that the job runs on.
662
+ #
663
+ # @note JobDriver is a union - when making an API calls you must set exactly one of the members.
664
+ #
665
+ # @note JobDriver is a union - when returned from an API call exactly one value will be set and the returned type will be a subclass of JobDriver corresponding to the set member.
666
+ #
667
+ # @!attribute [rw] spark_submit
668
+ # The job driver parameters specified for Spark.
669
+ # @return [Types::SparkSubmit]
670
+ #
671
+ # @!attribute [rw] hive
672
+ # The job driver parameters specified for Hive.
673
+ # @return [Types::Hive]
674
+ #
675
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/JobDriver AWS API Documentation
676
+ #
677
+ class JobDriver < Struct.new(
678
+ :spark_submit,
679
+ :hive,
680
+ :unknown)
681
+ SENSITIVE = []
682
+ include Aws::Structure
683
+ include Aws::Structure::Union
684
+
685
+ class SparkSubmit < JobDriver; end
686
+ class Hive < JobDriver; end
687
+ class Unknown < JobDriver; end
688
+ end
689
+
690
+ # Information about a job run. A job run is a unit of work, such as a
691
+ # Spark JAR, Hive query, or SparkSQL query, that you submit to an EMR
692
+ # Serverless application.
693
+ #
694
+ # @!attribute [rw] application_id
695
+ # The ID of the application the job is running on.
696
+ # @return [String]
697
+ #
698
+ # @!attribute [rw] job_run_id
699
+ # The ID of the job run.
700
+ # @return [String]
701
+ #
702
+ # @!attribute [rw] name
703
+ # The optional job run name. This doesn't have to be unique.
704
+ # @return [String]
705
+ #
706
+ # @!attribute [rw] arn
707
+ # The execution role ARN of the job run.
708
+ # @return [String]
709
+ #
710
+ # @!attribute [rw] created_by
711
+ # The user who created the job run.
712
+ # @return [String]
713
+ #
714
+ # @!attribute [rw] created_at
715
+ # The date and time when the job run was created.
716
+ # @return [Time]
717
+ #
718
+ # @!attribute [rw] updated_at
719
+ # The date and time when the job run was updated.
720
+ # @return [Time]
721
+ #
722
+ # @!attribute [rw] execution_role
723
+ # The execution role ARN of the job run.
724
+ # @return [String]
725
+ #
726
+ # @!attribute [rw] state
727
+ # The state of the job run.
728
+ # @return [String]
729
+ #
730
+ # @!attribute [rw] state_details
731
+ # The state details of the job run.
732
+ # @return [String]
733
+ #
734
+ # @!attribute [rw] release_label
735
+ # The EMR release version associated with the application your job is
736
+ # running on.
737
+ # @return [String]
738
+ #
739
+ # @!attribute [rw] configuration_overrides
740
+ # The configuration settings that are used to override default
741
+ # configuration.
742
+ # @return [Types::ConfigurationOverrides]
743
+ #
744
+ # @!attribute [rw] job_driver
745
+ # The job driver for the job run.
746
+ # @return [Types::JobDriver]
747
+ #
748
+ # @!attribute [rw] tags
749
+ # The tags assigned to the job run.
750
+ # @return [Hash<String,String>]
751
+ #
752
+ # @!attribute [rw] total_resource_utilization
753
+ # The aggregate vCPU, memory, and storage resources used from the time
754
+ # job start executing till the time job is terminated, rounded up to
755
+ # the nearest second.
756
+ # @return [Types::TotalResourceUtilization]
757
+ #
758
+ # @!attribute [rw] network_configuration
759
+ # The network configuration for customer VPC connectivity.
760
+ # @return [Types::NetworkConfiguration]
761
+ #
762
+ # @!attribute [rw] total_execution_duration_seconds
763
+ # The job run total execution duration in seconds. This field is only
764
+ # available for job runs in a `COMPLETED`, `FAILED`, or `CANCELLED`
765
+ # state.
766
+ # @return [Integer]
767
+ #
768
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/JobRun AWS API Documentation
769
+ #
770
+ class JobRun < Struct.new(
771
+ :application_id,
772
+ :job_run_id,
773
+ :name,
774
+ :arn,
775
+ :created_by,
776
+ :created_at,
777
+ :updated_at,
778
+ :execution_role,
779
+ :state,
780
+ :state_details,
781
+ :release_label,
782
+ :configuration_overrides,
783
+ :job_driver,
784
+ :tags,
785
+ :total_resource_utilization,
786
+ :network_configuration,
787
+ :total_execution_duration_seconds)
788
+ SENSITIVE = []
789
+ include Aws::Structure
790
+ end
791
+
792
+ # The summary of attributes associated with a job run.
793
+ #
794
+ # @!attribute [rw] application_id
795
+ # The ID of the application the job is running on.
796
+ # @return [String]
797
+ #
798
+ # @!attribute [rw] id
799
+ # The ID of the job run.
800
+ # @return [String]
801
+ #
802
+ # @!attribute [rw] name
803
+ # The optional job run name. This doesn't have to be unique.
804
+ # @return [String]
805
+ #
806
+ # @!attribute [rw] arn
807
+ # The ARN of the job run.
808
+ # @return [String]
809
+ #
810
+ # @!attribute [rw] created_by
811
+ # The user who created the job run.
812
+ # @return [String]
813
+ #
814
+ # @!attribute [rw] created_at
815
+ # The date and time when the job run was created.
816
+ # @return [Time]
817
+ #
818
+ # @!attribute [rw] updated_at
819
+ # The date and time when the job run was last updated.
820
+ # @return [Time]
821
+ #
822
+ # @!attribute [rw] execution_role
823
+ # The execution role ARN of the job run.
824
+ # @return [String]
825
+ #
826
+ # @!attribute [rw] state
827
+ # The state of the job run.
828
+ # @return [String]
829
+ #
830
+ # @!attribute [rw] state_details
831
+ # The state details of the job run.
832
+ # @return [String]
833
+ #
834
+ # @!attribute [rw] release_label
835
+ # The EMR release version associated with the application your job is
836
+ # running on.
837
+ # @return [String]
838
+ #
839
+ # @!attribute [rw] type
840
+ # The type of job run, such as Spark or Hive.
841
+ # @return [String]
842
+ #
843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/JobRunSummary AWS API Documentation
844
+ #
845
+ class JobRunSummary < Struct.new(
846
+ :application_id,
847
+ :id,
848
+ :name,
849
+ :arn,
850
+ :created_by,
851
+ :created_at,
852
+ :updated_at,
853
+ :execution_role,
854
+ :state,
855
+ :state_details,
856
+ :release_label,
857
+ :type)
858
+ SENSITIVE = []
859
+ include Aws::Structure
860
+ end
861
+
862
+ # @note When making an API call, you may pass ListApplicationsRequest
863
+ # data as a hash:
864
+ #
865
+ # {
866
+ # next_token: "NextToken",
867
+ # max_results: 1,
868
+ # states: ["CREATING"], # accepts CREATING, CREATED, STARTING, STARTED, STOPPING, STOPPED, TERMINATED
869
+ # }
870
+ #
871
+ # @!attribute [rw] next_token
872
+ # The token for the next set of application results.
873
+ # @return [String]
874
+ #
875
+ # @!attribute [rw] max_results
876
+ # The maximum number of applications that can be listed.
877
+ # @return [Integer]
878
+ #
879
+ # @!attribute [rw] states
880
+ # An optional filter for application states. Note that if this filter
881
+ # contains multiple states, the resulting list will be grouped by the
882
+ # state.
883
+ # @return [Array<String>]
884
+ #
885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListApplicationsRequest AWS API Documentation
886
+ #
887
+ class ListApplicationsRequest < Struct.new(
888
+ :next_token,
889
+ :max_results,
890
+ :states)
891
+ SENSITIVE = []
892
+ include Aws::Structure
893
+ end
894
+
895
+ # @!attribute [rw] applications
896
+ # The output lists the specified applications.
897
+ # @return [Array<Types::ApplicationSummary>]
898
+ #
899
+ # @!attribute [rw] next_token
900
+ # The output displays the token for the next set of application
901
+ # results. This is required for pagination and is available as a
902
+ # response of the previous request.
903
+ # @return [String]
904
+ #
905
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListApplicationsResponse AWS API Documentation
906
+ #
907
+ class ListApplicationsResponse < Struct.new(
908
+ :applications,
909
+ :next_token)
910
+ SENSITIVE = []
911
+ include Aws::Structure
912
+ end
913
+
914
+ # @note When making an API call, you may pass ListJobRunsRequest
915
+ # data as a hash:
916
+ #
917
+ # {
918
+ # application_id: "ApplicationId", # required
919
+ # next_token: "NextToken",
920
+ # max_results: 1,
921
+ # created_at_after: Time.now,
922
+ # created_at_before: Time.now,
923
+ # states: ["SUBMITTED"], # accepts SUBMITTED, PENDING, SCHEDULED, RUNNING, SUCCESS, FAILED, CANCELLING, CANCELLED
924
+ # }
925
+ #
926
+ # @!attribute [rw] application_id
927
+ # The ID of the application for which to list the job run.
928
+ # @return [String]
929
+ #
930
+ # @!attribute [rw] next_token
931
+ # The token for the next set of job run results.
932
+ # @return [String]
933
+ #
934
+ # @!attribute [rw] max_results
935
+ # The maximum number of job runs that can be listed.
936
+ # @return [Integer]
937
+ #
938
+ # @!attribute [rw] created_at_after
939
+ # The lower bound of the option to filter by creation date and time.
940
+ # @return [Time]
941
+ #
942
+ # @!attribute [rw] created_at_before
943
+ # The upper bound of the option to filter by creation date and time.
944
+ # @return [Time]
945
+ #
946
+ # @!attribute [rw] states
947
+ # An optional filter for job run states. Note that if this filter
948
+ # contains multiple states, the resulting list will be grouped by the
949
+ # state.
950
+ # @return [Array<String>]
951
+ #
952
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListJobRunsRequest AWS API Documentation
953
+ #
954
+ class ListJobRunsRequest < Struct.new(
955
+ :application_id,
956
+ :next_token,
957
+ :max_results,
958
+ :created_at_after,
959
+ :created_at_before,
960
+ :states)
961
+ SENSITIVE = []
962
+ include Aws::Structure
963
+ end
964
+
965
+ # @!attribute [rw] job_runs
966
+ # The output lists information about the specified job runs.
967
+ # @return [Array<Types::JobRunSummary>]
968
+ #
969
+ # @!attribute [rw] next_token
970
+ # The output displays the token for the next set of job run results.
971
+ # This is required for pagination and is available as a response of
972
+ # the previous request.
973
+ # @return [String]
974
+ #
975
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListJobRunsResponse AWS API Documentation
976
+ #
977
+ class ListJobRunsResponse < Struct.new(
978
+ :job_runs,
979
+ :next_token)
980
+ SENSITIVE = []
981
+ include Aws::Structure
982
+ end
983
+
984
+ # @note When making an API call, you may pass ListTagsForResourceRequest
985
+ # data as a hash:
986
+ #
987
+ # {
988
+ # resource_arn: "ResourceArn", # required
989
+ # }
990
+ #
991
+ # @!attribute [rw] resource_arn
992
+ # The Amazon Resource Name (ARN) that identifies the resource to list
993
+ # the tags for. Currently, the supported resources are Amazon EMR
994
+ # Serverless applications and job runs.
995
+ # @return [String]
996
+ #
997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListTagsForResourceRequest AWS API Documentation
998
+ #
999
+ class ListTagsForResourceRequest < Struct.new(
1000
+ :resource_arn)
1001
+ SENSITIVE = []
1002
+ include Aws::Structure
1003
+ end
1004
+
1005
+ # @!attribute [rw] tags
1006
+ # The tags for the resource.
1007
+ # @return [Hash<String,String>]
1008
+ #
1009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListTagsForResourceResponse AWS API Documentation
1010
+ #
1011
+ class ListTagsForResourceResponse < Struct.new(
1012
+ :tags)
1013
+ SENSITIVE = []
1014
+ include Aws::Structure
1015
+ end
1016
+
1017
+ # The managed log persistence configuration for a job run.
1018
+ #
1019
+ # @note When making an API call, you may pass ManagedPersistenceMonitoringConfiguration
1020
+ # data as a hash:
1021
+ #
1022
+ # {
1023
+ # enabled: false,
1024
+ # encryption_key_arn: "EncryptionKeyArn",
1025
+ # }
1026
+ #
1027
+ # @!attribute [rw] enabled
1028
+ # Enables managed logging and defaults to true. If set to false,
1029
+ # managed logging will be turned off.
1030
+ # @return [Boolean]
1031
+ #
1032
+ # @!attribute [rw] encryption_key_arn
1033
+ # The KMS key ARN to encrypt the logs stored in managed log
1034
+ # persistence.
1035
+ # @return [String]
1036
+ #
1037
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ManagedPersistenceMonitoringConfiguration AWS API Documentation
1038
+ #
1039
+ class ManagedPersistenceMonitoringConfiguration < Struct.new(
1040
+ :enabled,
1041
+ :encryption_key_arn)
1042
+ SENSITIVE = []
1043
+ include Aws::Structure
1044
+ end
1045
+
1046
+ # The maximum allowed cumulative resources for an application. No new
1047
+ # resources will be created once the limit is hit.
1048
+ #
1049
+ # @note When making an API call, you may pass MaximumAllowedResources
1050
+ # data as a hash:
1051
+ #
1052
+ # {
1053
+ # cpu: "CpuSize", # required
1054
+ # memory: "MemorySize", # required
1055
+ # disk: "DiskSize",
1056
+ # }
1057
+ #
1058
+ # @!attribute [rw] cpu
1059
+ # The maximum allowed CPU for an application.
1060
+ # @return [String]
1061
+ #
1062
+ # @!attribute [rw] memory
1063
+ # The maximum allowed resources for an application.
1064
+ # @return [String]
1065
+ #
1066
+ # @!attribute [rw] disk
1067
+ # The maximum allowed disk for an application.
1068
+ # @return [String]
1069
+ #
1070
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/MaximumAllowedResources AWS API Documentation
1071
+ #
1072
+ class MaximumAllowedResources < Struct.new(
1073
+ :cpu,
1074
+ :memory,
1075
+ :disk)
1076
+ SENSITIVE = []
1077
+ include Aws::Structure
1078
+ end
1079
+
1080
+ # The configuration setting for monitoring.
1081
+ #
1082
+ # @note When making an API call, you may pass MonitoringConfiguration
1083
+ # data as a hash:
1084
+ #
1085
+ # {
1086
+ # s3_monitoring_configuration: {
1087
+ # log_uri: "UriString",
1088
+ # encryption_key_arn: "EncryptionKeyArn",
1089
+ # },
1090
+ # managed_persistence_monitoring_configuration: {
1091
+ # enabled: false,
1092
+ # encryption_key_arn: "EncryptionKeyArn",
1093
+ # },
1094
+ # }
1095
+ #
1096
+ # @!attribute [rw] s3_monitoring_configuration
1097
+ # The Amazon S3 configuration for monitoring log publishing.
1098
+ # @return [Types::S3MonitoringConfiguration]
1099
+ #
1100
+ # @!attribute [rw] managed_persistence_monitoring_configuration
1101
+ # The managed log persistence configuration for a job run.
1102
+ # @return [Types::ManagedPersistenceMonitoringConfiguration]
1103
+ #
1104
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/MonitoringConfiguration AWS API Documentation
1105
+ #
1106
+ class MonitoringConfiguration < Struct.new(
1107
+ :s3_monitoring_configuration,
1108
+ :managed_persistence_monitoring_configuration)
1109
+ SENSITIVE = []
1110
+ include Aws::Structure
1111
+ end
1112
+
1113
+ # The network configuration for customer VPC connectivity.
1114
+ #
1115
+ # @note When making an API call, you may pass NetworkConfiguration
1116
+ # data as a hash:
1117
+ #
1118
+ # {
1119
+ # subnet_ids: ["SubnetString"],
1120
+ # security_group_ids: ["SecurityGroupString"],
1121
+ # }
1122
+ #
1123
+ # @!attribute [rw] subnet_ids
1124
+ # The array of subnet Ids for customer VPC connectivity.
1125
+ # @return [Array<String>]
1126
+ #
1127
+ # @!attribute [rw] security_group_ids
1128
+ # The array of security group Ids for customer VPC connectivity.
1129
+ # @return [Array<String>]
1130
+ #
1131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/NetworkConfiguration AWS API Documentation
1132
+ #
1133
+ class NetworkConfiguration < Struct.new(
1134
+ :subnet_ids,
1135
+ :security_group_ids)
1136
+ SENSITIVE = []
1137
+ include Aws::Structure
1138
+ end
1139
+
1140
+ # The specified resource was not found.
1141
+ #
1142
+ # @!attribute [rw] message
1143
+ # @return [String]
1144
+ #
1145
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ResourceNotFoundException AWS API Documentation
1146
+ #
1147
+ class ResourceNotFoundException < Struct.new(
1148
+ :message)
1149
+ SENSITIVE = []
1150
+ include Aws::Structure
1151
+ end
1152
+
1153
+ # The Amazon S3 configuration for monitoring log publishing. You can
1154
+ # configure your jobs to send log information to Amazon S3.
1155
+ #
1156
+ # @note When making an API call, you may pass S3MonitoringConfiguration
1157
+ # data as a hash:
1158
+ #
1159
+ # {
1160
+ # log_uri: "UriString",
1161
+ # encryption_key_arn: "EncryptionKeyArn",
1162
+ # }
1163
+ #
1164
+ # @!attribute [rw] log_uri
1165
+ # The Amazon S3 destination URI for log publishing.
1166
+ # @return [String]
1167
+ #
1168
+ # @!attribute [rw] encryption_key_arn
1169
+ # The KMS key ARN to encrypt the logs published to the given Amazon S3
1170
+ # destination.
1171
+ # @return [String]
1172
+ #
1173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/S3MonitoringConfiguration AWS API Documentation
1174
+ #
1175
+ class S3MonitoringConfiguration < Struct.new(
1176
+ :log_uri,
1177
+ :encryption_key_arn)
1178
+ SENSITIVE = []
1179
+ include Aws::Structure
1180
+ end
1181
+
1182
+ # The maximum number of resources per account has been reached.
1183
+ #
1184
+ # @!attribute [rw] message
1185
+ # @return [String]
1186
+ #
1187
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ServiceQuotaExceededException AWS API Documentation
1188
+ #
1189
+ class ServiceQuotaExceededException < Struct.new(
1190
+ :message)
1191
+ SENSITIVE = []
1192
+ include Aws::Structure
1193
+ end
1194
+
1195
+ # The configurations for the Spark submit job driver.
1196
+ #
1197
+ # @note When making an API call, you may pass SparkSubmit
1198
+ # data as a hash:
1199
+ #
1200
+ # {
1201
+ # entry_point: "EntryPointPath", # required
1202
+ # entry_point_arguments: ["EntryPointArgument"],
1203
+ # spark_submit_parameters: "SparkSubmitParameters",
1204
+ # }
1205
+ #
1206
+ # @!attribute [rw] entry_point
1207
+ # The entry point for the Spark submit job run.
1208
+ # @return [String]
1209
+ #
1210
+ # @!attribute [rw] entry_point_arguments
1211
+ # The arguments for the Spark submit job run.
1212
+ # @return [Array<String>]
1213
+ #
1214
+ # @!attribute [rw] spark_submit_parameters
1215
+ # The parameters for the Spark submit job run.
1216
+ # @return [String]
1217
+ #
1218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/SparkSubmit AWS API Documentation
1219
+ #
1220
+ class SparkSubmit < Struct.new(
1221
+ :entry_point,
1222
+ :entry_point_arguments,
1223
+ :spark_submit_parameters)
1224
+ SENSITIVE = [:entry_point, :spark_submit_parameters]
1225
+ include Aws::Structure
1226
+ end
1227
+
1228
+ # @note When making an API call, you may pass StartApplicationRequest
1229
+ # data as a hash:
1230
+ #
1231
+ # {
1232
+ # application_id: "ApplicationId", # required
1233
+ # }
1234
+ #
1235
+ # @!attribute [rw] application_id
1236
+ # The ID of the application to start.
1237
+ # @return [String]
1238
+ #
1239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StartApplicationRequest AWS API Documentation
1240
+ #
1241
+ class StartApplicationRequest < Struct.new(
1242
+ :application_id)
1243
+ SENSITIVE = []
1244
+ include Aws::Structure
1245
+ end
1246
+
1247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StartApplicationResponse AWS API Documentation
1248
+ #
1249
+ class StartApplicationResponse < Aws::EmptyStructure; end
1250
+
1251
+ # @note When making an API call, you may pass StartJobRunRequest
1252
+ # data as a hash:
1253
+ #
1254
+ # {
1255
+ # application_id: "ApplicationId", # required
1256
+ # client_token: "ClientToken", # required
1257
+ # execution_role_arn: "IAMRoleArn", # required
1258
+ # job_driver: {
1259
+ # spark_submit: {
1260
+ # entry_point: "EntryPointPath", # required
1261
+ # entry_point_arguments: ["EntryPointArgument"],
1262
+ # spark_submit_parameters: "SparkSubmitParameters",
1263
+ # },
1264
+ # hive: {
1265
+ # query: "Query", # required
1266
+ # init_query_file: "InitScriptPath",
1267
+ # parameters: "HiveCliParameters",
1268
+ # },
1269
+ # },
1270
+ # configuration_overrides: {
1271
+ # application_configuration: [
1272
+ # {
1273
+ # classification: "String1024", # required
1274
+ # properties: {
1275
+ # "String1024" => "String1024",
1276
+ # },
1277
+ # configurations: {
1278
+ # # recursive ConfigurationList
1279
+ # },
1280
+ # },
1281
+ # ],
1282
+ # monitoring_configuration: {
1283
+ # s3_monitoring_configuration: {
1284
+ # log_uri: "UriString",
1285
+ # encryption_key_arn: "EncryptionKeyArn",
1286
+ # },
1287
+ # managed_persistence_monitoring_configuration: {
1288
+ # enabled: false,
1289
+ # encryption_key_arn: "EncryptionKeyArn",
1290
+ # },
1291
+ # },
1292
+ # },
1293
+ # tags: {
1294
+ # "TagKey" => "TagValue",
1295
+ # },
1296
+ # execution_timeout_minutes: 1,
1297
+ # name: "String256",
1298
+ # }
1299
+ #
1300
+ # @!attribute [rw] application_id
1301
+ # The ID of the application on which to run the job.
1302
+ # @return [String]
1303
+ #
1304
+ # @!attribute [rw] client_token
1305
+ # The client idempotency token of the job run to start. Its value must
1306
+ # be unique for each request.
1307
+ #
1308
+ # **A suitable default value is auto-generated.** You should normally
1309
+ # not need to pass this option.
1310
+ # @return [String]
1311
+ #
1312
+ # @!attribute [rw] execution_role_arn
1313
+ # The execution role ARN for the job run.
1314
+ # @return [String]
1315
+ #
1316
+ # @!attribute [rw] job_driver
1317
+ # The job driver for the job run.
1318
+ # @return [Types::JobDriver]
1319
+ #
1320
+ # @!attribute [rw] configuration_overrides
1321
+ # The configuration overrides for the job run.
1322
+ # @return [Types::ConfigurationOverrides]
1323
+ #
1324
+ # @!attribute [rw] tags
1325
+ # The tags assigned to the job run.
1326
+ # @return [Hash<String,String>]
1327
+ #
1328
+ # @!attribute [rw] execution_timeout_minutes
1329
+ # The maximum duration for the job run to run. If the job run runs
1330
+ # beyond this duration, it will be automatically cancelled.
1331
+ # @return [Integer]
1332
+ #
1333
+ # @!attribute [rw] name
1334
+ # The optional job run name. This doesn't have to be unique.
1335
+ # @return [String]
1336
+ #
1337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StartJobRunRequest AWS API Documentation
1338
+ #
1339
+ class StartJobRunRequest < Struct.new(
1340
+ :application_id,
1341
+ :client_token,
1342
+ :execution_role_arn,
1343
+ :job_driver,
1344
+ :configuration_overrides,
1345
+ :tags,
1346
+ :execution_timeout_minutes,
1347
+ :name)
1348
+ SENSITIVE = []
1349
+ include Aws::Structure
1350
+ end
1351
+
1352
+ # @!attribute [rw] application_id
1353
+ # This output displays the application ID on which the job run was
1354
+ # submitted.
1355
+ # @return [String]
1356
+ #
1357
+ # @!attribute [rw] job_run_id
1358
+ # The output contains the ID of the started job run.
1359
+ # @return [String]
1360
+ #
1361
+ # @!attribute [rw] arn
1362
+ # The output lists the execution role ARN of the job run.
1363
+ # @return [String]
1364
+ #
1365
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StartJobRunResponse AWS API Documentation
1366
+ #
1367
+ class StartJobRunResponse < Struct.new(
1368
+ :application_id,
1369
+ :job_run_id,
1370
+ :arn)
1371
+ SENSITIVE = []
1372
+ include Aws::Structure
1373
+ end
1374
+
1375
+ # @note When making an API call, you may pass StopApplicationRequest
1376
+ # data as a hash:
1377
+ #
1378
+ # {
1379
+ # application_id: "ApplicationId", # required
1380
+ # }
1381
+ #
1382
+ # @!attribute [rw] application_id
1383
+ # The ID of the application to stop.
1384
+ # @return [String]
1385
+ #
1386
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StopApplicationRequest AWS API Documentation
1387
+ #
1388
+ class StopApplicationRequest < Struct.new(
1389
+ :application_id)
1390
+ SENSITIVE = []
1391
+ include Aws::Structure
1392
+ end
1393
+
1394
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StopApplicationResponse AWS API Documentation
1395
+ #
1396
+ class StopApplicationResponse < Aws::EmptyStructure; end
1397
+
1398
+ # @note When making an API call, you may pass TagResourceRequest
1399
+ # data as a hash:
1400
+ #
1401
+ # {
1402
+ # resource_arn: "ResourceArn", # required
1403
+ # tags: { # required
1404
+ # "TagKey" => "TagValue",
1405
+ # },
1406
+ # }
1407
+ #
1408
+ # @!attribute [rw] resource_arn
1409
+ # The Amazon Resource Name (ARN) that identifies the resource to list
1410
+ # the tags for. Currently, the supported resources are Amazon EMR
1411
+ # Serverless applications and job runs.
1412
+ # @return [String]
1413
+ #
1414
+ # @!attribute [rw] tags
1415
+ # The tags to add to the resource. A tag is an array of key-value
1416
+ # pairs.
1417
+ # @return [Hash<String,String>]
1418
+ #
1419
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/TagResourceRequest AWS API Documentation
1420
+ #
1421
+ class TagResourceRequest < Struct.new(
1422
+ :resource_arn,
1423
+ :tags)
1424
+ SENSITIVE = []
1425
+ include Aws::Structure
1426
+ end
1427
+
1428
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/TagResourceResponse AWS API Documentation
1429
+ #
1430
+ class TagResourceResponse < Aws::EmptyStructure; end
1431
+
1432
+ # The aggregate vCPU, memory, and storage resources used from the time
1433
+ # job start executing till the time job is terminated, rounded up to the
1434
+ # nearest second.
1435
+ #
1436
+ # @!attribute [rw] v_cpu_hour
1437
+ # The aggregated vCPU used per hour from the time job start executing
1438
+ # till the time job is terminated.
1439
+ # @return [Float]
1440
+ #
1441
+ # @!attribute [rw] memory_gb_hour
1442
+ # The aggregated memory used per hour from the time job start
1443
+ # executing till the time job is terminated.
1444
+ # @return [Float]
1445
+ #
1446
+ # @!attribute [rw] storage_gb_hour
1447
+ # The aggregated storage used per hour from the time job start
1448
+ # executing till the time job is terminated.
1449
+ # @return [Float]
1450
+ #
1451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/TotalResourceUtilization AWS API Documentation
1452
+ #
1453
+ class TotalResourceUtilization < Struct.new(
1454
+ :v_cpu_hour,
1455
+ :memory_gb_hour,
1456
+ :storage_gb_hour)
1457
+ SENSITIVE = []
1458
+ include Aws::Structure
1459
+ end
1460
+
1461
+ # @note When making an API call, you may pass UntagResourceRequest
1462
+ # data as a hash:
1463
+ #
1464
+ # {
1465
+ # resource_arn: "ResourceArn", # required
1466
+ # tag_keys: ["TagKey"], # required
1467
+ # }
1468
+ #
1469
+ # @!attribute [rw] resource_arn
1470
+ # The Amazon Resource Name (ARN) that identifies the resource to list
1471
+ # the tags for. Currently, the supported resources are Amazon EMR
1472
+ # Serverless applications and job runs.
1473
+ # @return [String]
1474
+ #
1475
+ # @!attribute [rw] tag_keys
1476
+ # The keys of the tags to be removed.
1477
+ # @return [Array<String>]
1478
+ #
1479
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/UntagResourceRequest AWS API Documentation
1480
+ #
1481
+ class UntagResourceRequest < Struct.new(
1482
+ :resource_arn,
1483
+ :tag_keys)
1484
+ SENSITIVE = []
1485
+ include Aws::Structure
1486
+ end
1487
+
1488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/UntagResourceResponse AWS API Documentation
1489
+ #
1490
+ class UntagResourceResponse < Aws::EmptyStructure; end
1491
+
1492
+ # @note When making an API call, you may pass UpdateApplicationRequest
1493
+ # data as a hash:
1494
+ #
1495
+ # {
1496
+ # application_id: "ApplicationId", # required
1497
+ # client_token: "ClientToken", # required
1498
+ # initial_capacity: {
1499
+ # "WorkerTypeString" => {
1500
+ # worker_count: 1, # required
1501
+ # worker_configuration: {
1502
+ # cpu: "CpuSize", # required
1503
+ # memory: "MemorySize", # required
1504
+ # disk: "DiskSize",
1505
+ # },
1506
+ # },
1507
+ # },
1508
+ # maximum_capacity: {
1509
+ # cpu: "CpuSize", # required
1510
+ # memory: "MemorySize", # required
1511
+ # disk: "DiskSize",
1512
+ # },
1513
+ # auto_start_configuration: {
1514
+ # enabled: false,
1515
+ # },
1516
+ # auto_stop_configuration: {
1517
+ # enabled: false,
1518
+ # idle_timeout_minutes: 1,
1519
+ # },
1520
+ # network_configuration: {
1521
+ # subnet_ids: ["SubnetString"],
1522
+ # security_group_ids: ["SecurityGroupString"],
1523
+ # },
1524
+ # }
1525
+ #
1526
+ # @!attribute [rw] application_id
1527
+ # The ID of the application to update.
1528
+ # @return [String]
1529
+ #
1530
+ # @!attribute [rw] client_token
1531
+ # The client idempotency token of the application to update. Its value
1532
+ # must be unique for each request.
1533
+ #
1534
+ # **A suitable default value is auto-generated.** You should normally
1535
+ # not need to pass this option.
1536
+ # @return [String]
1537
+ #
1538
+ # @!attribute [rw] initial_capacity
1539
+ # The capacity to initialize when the application is updated.
1540
+ # @return [Hash<String,Types::InitialCapacityConfig>]
1541
+ #
1542
+ # @!attribute [rw] maximum_capacity
1543
+ # The maximum capacity to allocate when the application is updated.
1544
+ # This is cumulative across all workers at any given point in time
1545
+ # during the lifespan of the application. No new resources will be
1546
+ # created once any one of the defined limits is hit.
1547
+ # @return [Types::MaximumAllowedResources]
1548
+ #
1549
+ # @!attribute [rw] auto_start_configuration
1550
+ # The configuration for an application to automatically start on job
1551
+ # submission.
1552
+ # @return [Types::AutoStartConfig]
1553
+ #
1554
+ # @!attribute [rw] auto_stop_configuration
1555
+ # The configuration for an application to automatically stop after a
1556
+ # certain amount of time being idle.
1557
+ # @return [Types::AutoStopConfig]
1558
+ #
1559
+ # @!attribute [rw] network_configuration
1560
+ # The network configuration for customer VPC connectivity.
1561
+ # @return [Types::NetworkConfiguration]
1562
+ #
1563
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/UpdateApplicationRequest AWS API Documentation
1564
+ #
1565
+ class UpdateApplicationRequest < Struct.new(
1566
+ :application_id,
1567
+ :client_token,
1568
+ :initial_capacity,
1569
+ :maximum_capacity,
1570
+ :auto_start_configuration,
1571
+ :auto_stop_configuration,
1572
+ :network_configuration)
1573
+ SENSITIVE = []
1574
+ include Aws::Structure
1575
+ end
1576
+
1577
+ # @!attribute [rw] application
1578
+ # Information about the updated application.
1579
+ # @return [Types::Application]
1580
+ #
1581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/UpdateApplicationResponse AWS API Documentation
1582
+ #
1583
+ class UpdateApplicationResponse < Struct.new(
1584
+ :application)
1585
+ SENSITIVE = []
1586
+ include Aws::Structure
1587
+ end
1588
+
1589
+ # The input fails to satisfy the constraints specified by an AWS
1590
+ # service.
1591
+ #
1592
+ # @!attribute [rw] message
1593
+ # @return [String]
1594
+ #
1595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ValidationException AWS API Documentation
1596
+ #
1597
+ class ValidationException < Struct.new(
1598
+ :message)
1599
+ SENSITIVE = []
1600
+ include Aws::Structure
1601
+ end
1602
+
1603
+ # The cumulative configuration requirements for every worker instance of
1604
+ # the worker type.
1605
+ #
1606
+ # @note When making an API call, you may pass WorkerResourceConfig
1607
+ # data as a hash:
1608
+ #
1609
+ # {
1610
+ # cpu: "CpuSize", # required
1611
+ # memory: "MemorySize", # required
1612
+ # disk: "DiskSize",
1613
+ # }
1614
+ #
1615
+ # @!attribute [rw] cpu
1616
+ # The CPU requirements for every worker instance of the worker type.
1617
+ # @return [String]
1618
+ #
1619
+ # @!attribute [rw] memory
1620
+ # The memory requirements for every worker instance of the worker
1621
+ # type.
1622
+ # @return [String]
1623
+ #
1624
+ # @!attribute [rw] disk
1625
+ # The disk requirements for every worker instance of the worker type.
1626
+ # @return [String]
1627
+ #
1628
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/WorkerResourceConfig AWS API Documentation
1629
+ #
1630
+ class WorkerResourceConfig < Struct.new(
1631
+ :cpu,
1632
+ :memory,
1633
+ :disk)
1634
+ SENSITIVE = []
1635
+ include Aws::Structure
1636
+ end
1637
+
1638
+ end
1639
+ end