aws-sdk-emrserverless 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1133 @@
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
+ require 'seahorse/client/plugins/content_length.rb'
11
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
+ require 'aws-sdk-core/plugins/logging.rb'
13
+ require 'aws-sdk-core/plugins/param_converter.rb'
14
+ require 'aws-sdk-core/plugins/param_validator.rb'
15
+ require 'aws-sdk-core/plugins/user_agent.rb'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
+ require 'aws-sdk-core/plugins/retry_errors.rb'
18
+ require 'aws-sdk-core/plugins/global_configuration.rb'
19
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
+ require 'aws-sdk-core/plugins/response_paging.rb'
23
+ require 'aws-sdk-core/plugins/stub_responses.rb'
24
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
32
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
33
+ require 'aws-sdk-core/plugins/signature_v4.rb'
34
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
+
36
+ Aws::Plugins::GlobalConfiguration.add_identifier(:emrserverless)
37
+
38
+ module Aws::EMRServerless
39
+ # An API client for EMRServerless. To construct a client, you need to configure a `:region` and `:credentials`.
40
+ #
41
+ # client = Aws::EMRServerless::Client.new(
42
+ # region: region_name,
43
+ # credentials: credentials,
44
+ # # ...
45
+ # )
46
+ #
47
+ # For details on configuring region and credentials see
48
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
49
+ #
50
+ # See {#initialize} for a full list of supported configuration options.
51
+ class Client < Seahorse::Client::Base
52
+
53
+ include Aws::ClientStubs
54
+
55
+ @identifier = :emrserverless
56
+
57
+ set_api(ClientApi::API)
58
+
59
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
60
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
61
+ add_plugin(Aws::Plugins::Logging)
62
+ add_plugin(Aws::Plugins::ParamConverter)
63
+ add_plugin(Aws::Plugins::ParamValidator)
64
+ add_plugin(Aws::Plugins::UserAgent)
65
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
66
+ add_plugin(Aws::Plugins::RetryErrors)
67
+ add_plugin(Aws::Plugins::GlobalConfiguration)
68
+ add_plugin(Aws::Plugins::RegionalEndpoint)
69
+ add_plugin(Aws::Plugins::EndpointDiscovery)
70
+ add_plugin(Aws::Plugins::EndpointPattern)
71
+ add_plugin(Aws::Plugins::ResponsePaging)
72
+ add_plugin(Aws::Plugins::StubResponses)
73
+ add_plugin(Aws::Plugins::IdempotencyToken)
74
+ add_plugin(Aws::Plugins::JsonvalueConverter)
75
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
76
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
77
+ add_plugin(Aws::Plugins::TransferEncoding)
78
+ add_plugin(Aws::Plugins::HttpChecksum)
79
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
+ add_plugin(Aws::Plugins::DefaultsMode)
81
+ add_plugin(Aws::Plugins::RecursionDetection)
82
+ add_plugin(Aws::Plugins::SignatureV4)
83
+ add_plugin(Aws::Plugins::Protocols::RestJson)
84
+
85
+ # @overload initialize(options)
86
+ # @param [Hash] options
87
+ # @option options [required, Aws::CredentialProvider] :credentials
88
+ # Your AWS credentials. This can be an instance of any one of the
89
+ # following classes:
90
+ #
91
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
92
+ # credentials.
93
+ #
94
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
95
+ # shared file, such as `~/.aws/config`.
96
+ #
97
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
98
+ #
99
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
100
+ # assume a role after providing credentials via the web.
101
+ #
102
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
103
+ # access token generated from `aws login`.
104
+ #
105
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
106
+ # process that outputs to stdout.
107
+ #
108
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
109
+ # from an EC2 IMDS on an EC2 instance.
110
+ #
111
+ # * `Aws::ECSCredentials` - Used for loading credentials from
112
+ # instances running in ECS.
113
+ #
114
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
115
+ # from the Cognito Identity service.
116
+ #
117
+ # When `:credentials` are not configured directly, the following
118
+ # locations will be searched for credentials:
119
+ #
120
+ # * `Aws.config[:credentials]`
121
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
122
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
123
+ # * `~/.aws/credentials`
124
+ # * `~/.aws/config`
125
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
126
+ # are very aggressive. Construct and pass an instance of
127
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
128
+ # enable retries and extended timeouts. Instance profile credential
129
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
130
+ # to true.
131
+ #
132
+ # @option options [required, String] :region
133
+ # The AWS region to connect to. The configured `:region` is
134
+ # used to determine the service `:endpoint`. When not passed,
135
+ # a default `:region` is searched for in the following locations:
136
+ #
137
+ # * `Aws.config[:region]`
138
+ # * `ENV['AWS_REGION']`
139
+ # * `ENV['AMAZON_REGION']`
140
+ # * `ENV['AWS_DEFAULT_REGION']`
141
+ # * `~/.aws/credentials`
142
+ # * `~/.aws/config`
143
+ #
144
+ # @option options [String] :access_key_id
145
+ #
146
+ # @option options [Boolean] :active_endpoint_cache (false)
147
+ # When set to `true`, a thread polling for endpoints will be running in
148
+ # the background every 60 secs (default). Defaults to `false`.
149
+ #
150
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
151
+ # Used only in `adaptive` retry mode. When true, the request will sleep
152
+ # until there is sufficent client side capacity to retry the request.
153
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
154
+ # not retry instead of sleeping.
155
+ #
156
+ # @option options [Boolean] :client_side_monitoring (false)
157
+ # When `true`, client-side metrics will be collected for all API requests from
158
+ # this client.
159
+ #
160
+ # @option options [String] :client_side_monitoring_client_id ("")
161
+ # Allows you to provide an identifier for this client which will be attached to
162
+ # all generated client side metrics. Defaults to an empty string.
163
+ #
164
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
165
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
166
+ # side monitoring agent is running on, where client metrics will be published via UDP.
167
+ #
168
+ # @option options [Integer] :client_side_monitoring_port (31000)
169
+ # Required for publishing client metrics. The port that the client side monitoring
170
+ # agent is running on, where client metrics will be published via UDP.
171
+ #
172
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
173
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
174
+ # will use the Client Side Monitoring Agent Publisher.
175
+ #
176
+ # @option options [Boolean] :convert_params (true)
177
+ # When `true`, an attempt is made to coerce request parameters into
178
+ # the required types.
179
+ #
180
+ # @option options [Boolean] :correct_clock_skew (true)
181
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
182
+ # a clock skew correction and retry requests with skewed client clocks.
183
+ #
184
+ # @option options [String] :defaults_mode ("legacy")
185
+ # See {Aws::DefaultsModeConfiguration} for a list of the
186
+ # accepted modes and the configuration defaults that are included.
187
+ #
188
+ # @option options [Boolean] :disable_host_prefix_injection (false)
189
+ # Set to true to disable SDK automatically adding host prefix
190
+ # to default service endpoint when available.
191
+ #
192
+ # @option options [String] :endpoint
193
+ # The client endpoint is normally constructed from the `:region`
194
+ # option. You should only configure an `:endpoint` when connecting
195
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
196
+ #
197
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
198
+ # Used for the maximum size limit of the LRU cache storing endpoints data
199
+ # for endpoint discovery enabled operations. Defaults to 1000.
200
+ #
201
+ # @option options [Integer] :endpoint_cache_max_threads (10)
202
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
203
+ #
204
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
205
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
206
+ # Use this option to config the time interval in seconds for making
207
+ # requests fetching endpoints information. Defaults to 60 sec.
208
+ #
209
+ # @option options [Boolean] :endpoint_discovery (false)
210
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
211
+ #
212
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
213
+ # The log formatter.
214
+ #
215
+ # @option options [Symbol] :log_level (:info)
216
+ # The log level to send messages to the `:logger` at.
217
+ #
218
+ # @option options [Logger] :logger
219
+ # The Logger instance to send log messages to. If this option
220
+ # is not set, logging will be disabled.
221
+ #
222
+ # @option options [Integer] :max_attempts (3)
223
+ # An integer representing the maximum number attempts that will be made for
224
+ # a single request, including the initial attempt. For example,
225
+ # setting this value to 5 will result in a request being retried up to
226
+ # 4 times. Used in `standard` and `adaptive` retry modes.
227
+ #
228
+ # @option options [String] :profile ("default")
229
+ # Used when loading credentials from the shared credentials file
230
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
231
+ #
232
+ # @option options [Proc] :retry_backoff
233
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
234
+ # This option is only used in the `legacy` retry mode.
235
+ #
236
+ # @option options [Float] :retry_base_delay (0.3)
237
+ # The base delay in seconds used by the default backoff function. This option
238
+ # is only used in the `legacy` retry mode.
239
+ #
240
+ # @option options [Symbol] :retry_jitter (:none)
241
+ # A delay randomiser function used by the default backoff function.
242
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
243
+ # otherwise a Proc that takes and returns a number. This option is only used
244
+ # in the `legacy` retry mode.
245
+ #
246
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
247
+ #
248
+ # @option options [Integer] :retry_limit (3)
249
+ # The maximum number of times to retry failed requests. Only
250
+ # ~ 500 level server errors and certain ~ 400 level client errors
251
+ # are retried. Generally, these are throttling errors, data
252
+ # checksum errors, networking errors, timeout errors, auth errors,
253
+ # endpoint discovery, and errors from expired credentials.
254
+ # This option is only used in the `legacy` retry mode.
255
+ #
256
+ # @option options [Integer] :retry_max_delay (0)
257
+ # The maximum number of seconds to delay between retries (0 for no limit)
258
+ # used by the default backoff function. This option is only used in the
259
+ # `legacy` retry mode.
260
+ #
261
+ # @option options [String] :retry_mode ("legacy")
262
+ # Specifies which retry algorithm to use. Values are:
263
+ #
264
+ # * `legacy` - The pre-existing retry behavior. This is default value if
265
+ # no retry mode is provided.
266
+ #
267
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
268
+ # This includes support for retry quotas, which limit the number of
269
+ # unsuccessful retries a client can make.
270
+ #
271
+ # * `adaptive` - An experimental retry mode that includes all the
272
+ # functionality of `standard` mode along with automatic client side
273
+ # throttling. This is a provisional mode that may change behavior
274
+ # in the future.
275
+ #
276
+ #
277
+ # @option options [String] :secret_access_key
278
+ #
279
+ # @option options [String] :session_token
280
+ #
281
+ # @option options [Boolean] :stub_responses (false)
282
+ # Causes the client to return stubbed responses. By default
283
+ # fake responses are generated and returned. You can specify
284
+ # the response data to return or errors to raise by calling
285
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
286
+ #
287
+ # ** Please note ** When response stubbing is enabled, no HTTP
288
+ # requests are made, and retries are disabled.
289
+ #
290
+ # @option options [Boolean] :use_dualstack_endpoint
291
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
+ # will be used if available.
293
+ #
294
+ # @option options [Boolean] :use_fips_endpoint
295
+ # When set to `true`, fips compatible endpoints will be used if available.
296
+ # When a `fips` region is used, the region is normalized and this config
297
+ # is set to `true`.
298
+ #
299
+ # @option options [Boolean] :validate_params (true)
300
+ # When `true`, request parameters are validated before
301
+ # sending the request.
302
+ #
303
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
+ # requests through. Formatted like 'http://proxy.com:123'.
305
+ #
306
+ # @option options [Float] :http_open_timeout (15) The number of
307
+ # seconds to wait when opening a HTTP session before raising a
308
+ # `Timeout::Error`.
309
+ #
310
+ # @option options [Float] :http_read_timeout (60) The default
311
+ # number of seconds to wait for response data. This value can
312
+ # safely be set per-request on the session.
313
+ #
314
+ # @option options [Float] :http_idle_timeout (5) The number of
315
+ # seconds a connection is allowed to sit idle before it is
316
+ # considered stale. Stale connections are closed and removed
317
+ # from the pool before making a request.
318
+ #
319
+ # @option options [Float] :http_continue_timeout (1) The number of
320
+ # seconds to wait for a 100-continue response before sending the
321
+ # request body. This option has no effect unless the request has
322
+ # "Expect" header set to "100-continue". Defaults to `nil` which
323
+ # disables this behaviour. This value can safely be set per
324
+ # request on the session.
325
+ #
326
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
327
+ # in seconds.
328
+ #
329
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
330
+ # HTTP debug output will be sent to the `:logger`.
331
+ #
332
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
333
+ # SSL peer certificates are verified when establishing a
334
+ # connection.
335
+ #
336
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
337
+ # certificate authority bundle file that should be used when
338
+ # verifying peer certificates. If you do not pass
339
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
340
+ # will be used if available.
341
+ #
342
+ # @option options [String] :ssl_ca_directory Full path of the
343
+ # directory that contains the unbundled SSL certificate
344
+ # authority files for verifying peer certificates. If you do
345
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
346
+ # system default will be used if available.
347
+ #
348
+ def initialize(*args)
349
+ super
350
+ end
351
+
352
+ # @!group API Operations
353
+
354
+ # Cancels a job run.
355
+ #
356
+ # @option params [required, String] :application_id
357
+ # The ID of the application on which the job run will be canceled.
358
+ #
359
+ # @option params [required, String] :job_run_id
360
+ # The ID of the job run to cancel.
361
+ #
362
+ # @return [Types::CancelJobRunResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
363
+ #
364
+ # * {Types::CancelJobRunResponse#application_id #application_id} => String
365
+ # * {Types::CancelJobRunResponse#job_run_id #job_run_id} => String
366
+ #
367
+ # @example Request syntax with placeholder values
368
+ #
369
+ # resp = client.cancel_job_run({
370
+ # application_id: "ApplicationId", # required
371
+ # job_run_id: "JobRunId", # required
372
+ # })
373
+ #
374
+ # @example Response structure
375
+ #
376
+ # resp.application_id #=> String
377
+ # resp.job_run_id #=> String
378
+ #
379
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/CancelJobRun AWS API Documentation
380
+ #
381
+ # @overload cancel_job_run(params = {})
382
+ # @param [Hash] params ({})
383
+ def cancel_job_run(params = {}, options = {})
384
+ req = build_request(:cancel_job_run, params)
385
+ req.send_request(options)
386
+ end
387
+
388
+ # Creates an application.
389
+ #
390
+ # @option params [String] :name
391
+ # The name of the application.
392
+ #
393
+ # @option params [required, String] :release_label
394
+ # The EMR release version associated with the application.
395
+ #
396
+ # @option params [required, String] :type
397
+ # The type of application you want to start, such as Spark or Hive.
398
+ #
399
+ # @option params [required, String] :client_token
400
+ # The client idempotency token of the application to create. Its value
401
+ # must be unique for each request.
402
+ #
403
+ # **A suitable default value is auto-generated.** You should normally
404
+ # not need to pass this option.**
405
+ #
406
+ # @option params [Hash<String,Types::InitialCapacityConfig>] :initial_capacity
407
+ # The capacity to initialize when the application is created.
408
+ #
409
+ # @option params [Types::MaximumAllowedResources] :maximum_capacity
410
+ # The maximum capacity to allocate when the application is created. This
411
+ # is cumulative across all workers at any given point in time, not just
412
+ # when an application is created. No new resources will be created once
413
+ # any one of the defined limits is hit.
414
+ #
415
+ # @option params [Hash<String,String>] :tags
416
+ # The tags assigned to the application.
417
+ #
418
+ # @option params [Types::AutoStartConfig] :auto_start_configuration
419
+ # The configuration for an application to automatically start on job
420
+ # submission.
421
+ #
422
+ # @option params [Types::AutoStopConfig] :auto_stop_configuration
423
+ # The configuration for an application to automatically stop after a
424
+ # certain amount of time being idle.
425
+ #
426
+ # @option params [Types::NetworkConfiguration] :network_configuration
427
+ # The network configuration for customer VPC connectivity.
428
+ #
429
+ # @return [Types::CreateApplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
430
+ #
431
+ # * {Types::CreateApplicationResponse#application_id #application_id} => String
432
+ # * {Types::CreateApplicationResponse#name #name} => String
433
+ # * {Types::CreateApplicationResponse#arn #arn} => String
434
+ #
435
+ # @example Request syntax with placeholder values
436
+ #
437
+ # resp = client.create_application({
438
+ # name: "ApplicationName",
439
+ # release_label: "ReleaseLabel", # required
440
+ # type: "EngineType", # required
441
+ # client_token: "ClientToken", # required
442
+ # initial_capacity: {
443
+ # "WorkerTypeString" => {
444
+ # worker_count: 1, # required
445
+ # worker_configuration: {
446
+ # cpu: "CpuSize", # required
447
+ # memory: "MemorySize", # required
448
+ # disk: "DiskSize",
449
+ # },
450
+ # },
451
+ # },
452
+ # maximum_capacity: {
453
+ # cpu: "CpuSize", # required
454
+ # memory: "MemorySize", # required
455
+ # disk: "DiskSize",
456
+ # },
457
+ # tags: {
458
+ # "TagKey" => "TagValue",
459
+ # },
460
+ # auto_start_configuration: {
461
+ # enabled: false,
462
+ # },
463
+ # auto_stop_configuration: {
464
+ # enabled: false,
465
+ # idle_timeout_minutes: 1,
466
+ # },
467
+ # network_configuration: {
468
+ # subnet_ids: ["SubnetString"],
469
+ # security_group_ids: ["SecurityGroupString"],
470
+ # },
471
+ # })
472
+ #
473
+ # @example Response structure
474
+ #
475
+ # resp.application_id #=> String
476
+ # resp.name #=> String
477
+ # resp.arn #=> String
478
+ #
479
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/CreateApplication AWS API Documentation
480
+ #
481
+ # @overload create_application(params = {})
482
+ # @param [Hash] params ({})
483
+ def create_application(params = {}, options = {})
484
+ req = build_request(:create_application, params)
485
+ req.send_request(options)
486
+ end
487
+
488
+ # Deletes an application. An application has to be in a stopped or
489
+ # created state in order to be deleted.
490
+ #
491
+ # @option params [required, String] :application_id
492
+ # The ID of the application that will be deleted.
493
+ #
494
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
495
+ #
496
+ # @example Request syntax with placeholder values
497
+ #
498
+ # resp = client.delete_application({
499
+ # application_id: "ApplicationId", # required
500
+ # })
501
+ #
502
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/DeleteApplication AWS API Documentation
503
+ #
504
+ # @overload delete_application(params = {})
505
+ # @param [Hash] params ({})
506
+ def delete_application(params = {}, options = {})
507
+ req = build_request(:delete_application, params)
508
+ req.send_request(options)
509
+ end
510
+
511
+ # Displays detailed information about a specified application.
512
+ #
513
+ # @option params [required, String] :application_id
514
+ # The ID of the application that will be described.
515
+ #
516
+ # @return [Types::GetApplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
517
+ #
518
+ # * {Types::GetApplicationResponse#application #application} => Types::Application
519
+ #
520
+ # @example Request syntax with placeholder values
521
+ #
522
+ # resp = client.get_application({
523
+ # application_id: "ApplicationId", # required
524
+ # })
525
+ #
526
+ # @example Response structure
527
+ #
528
+ # resp.application.application_id #=> String
529
+ # resp.application.name #=> String
530
+ # resp.application.arn #=> String
531
+ # resp.application.release_label #=> String
532
+ # resp.application.type #=> String
533
+ # resp.application.state #=> String, one of "CREATING", "CREATED", "STARTING", "STARTED", "STOPPING", "STOPPED", "TERMINATED"
534
+ # resp.application.state_details #=> String
535
+ # resp.application.initial_capacity #=> Hash
536
+ # resp.application.initial_capacity["WorkerTypeString"].worker_count #=> Integer
537
+ # resp.application.initial_capacity["WorkerTypeString"].worker_configuration.cpu #=> String
538
+ # resp.application.initial_capacity["WorkerTypeString"].worker_configuration.memory #=> String
539
+ # resp.application.initial_capacity["WorkerTypeString"].worker_configuration.disk #=> String
540
+ # resp.application.maximum_capacity.cpu #=> String
541
+ # resp.application.maximum_capacity.memory #=> String
542
+ # resp.application.maximum_capacity.disk #=> String
543
+ # resp.application.created_at #=> Time
544
+ # resp.application.updated_at #=> Time
545
+ # resp.application.tags #=> Hash
546
+ # resp.application.tags["TagKey"] #=> String
547
+ # resp.application.auto_start_configuration.enabled #=> Boolean
548
+ # resp.application.auto_stop_configuration.enabled #=> Boolean
549
+ # resp.application.auto_stop_configuration.idle_timeout_minutes #=> Integer
550
+ # resp.application.network_configuration.subnet_ids #=> Array
551
+ # resp.application.network_configuration.subnet_ids[0] #=> String
552
+ # resp.application.network_configuration.security_group_ids #=> Array
553
+ # resp.application.network_configuration.security_group_ids[0] #=> String
554
+ #
555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetApplication AWS API Documentation
556
+ #
557
+ # @overload get_application(params = {})
558
+ # @param [Hash] params ({})
559
+ def get_application(params = {}, options = {})
560
+ req = build_request(:get_application, params)
561
+ req.send_request(options)
562
+ end
563
+
564
+ # Displays detailed information about a job run.
565
+ #
566
+ # @option params [required, String] :application_id
567
+ # The ID of the application on which the job run is submitted.
568
+ #
569
+ # @option params [required, String] :job_run_id
570
+ # The ID of the job run.
571
+ #
572
+ # @return [Types::GetJobRunResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
573
+ #
574
+ # * {Types::GetJobRunResponse#job_run #job_run} => Types::JobRun
575
+ #
576
+ # @example Request syntax with placeholder values
577
+ #
578
+ # resp = client.get_job_run({
579
+ # application_id: "ApplicationId", # required
580
+ # job_run_id: "JobRunId", # required
581
+ # })
582
+ #
583
+ # @example Response structure
584
+ #
585
+ # resp.job_run.application_id #=> String
586
+ # resp.job_run.job_run_id #=> String
587
+ # resp.job_run.name #=> String
588
+ # resp.job_run.arn #=> String
589
+ # resp.job_run.created_by #=> String
590
+ # resp.job_run.created_at #=> Time
591
+ # resp.job_run.updated_at #=> Time
592
+ # resp.job_run.execution_role #=> String
593
+ # resp.job_run.state #=> String, one of "SUBMITTED", "PENDING", "SCHEDULED", "RUNNING", "SUCCESS", "FAILED", "CANCELLING", "CANCELLED"
594
+ # resp.job_run.state_details #=> String
595
+ # resp.job_run.release_label #=> String
596
+ # resp.job_run.configuration_overrides.application_configuration #=> Array
597
+ # resp.job_run.configuration_overrides.application_configuration[0].classification #=> String
598
+ # resp.job_run.configuration_overrides.application_configuration[0].properties #=> Hash
599
+ # resp.job_run.configuration_overrides.application_configuration[0].properties["String1024"] #=> String
600
+ # resp.job_run.configuration_overrides.application_configuration[0].configurations #=> Types::ConfigurationList
601
+ # resp.job_run.configuration_overrides.monitoring_configuration.s3_monitoring_configuration.log_uri #=> String
602
+ # resp.job_run.configuration_overrides.monitoring_configuration.s3_monitoring_configuration.encryption_key_arn #=> String
603
+ # resp.job_run.configuration_overrides.monitoring_configuration.managed_persistence_monitoring_configuration.enabled #=> Boolean
604
+ # resp.job_run.configuration_overrides.monitoring_configuration.managed_persistence_monitoring_configuration.encryption_key_arn #=> String
605
+ # resp.job_run.job_driver.spark_submit.entry_point #=> String
606
+ # resp.job_run.job_driver.spark_submit.entry_point_arguments #=> Array
607
+ # resp.job_run.job_driver.spark_submit.entry_point_arguments[0] #=> String
608
+ # resp.job_run.job_driver.spark_submit.spark_submit_parameters #=> String
609
+ # resp.job_run.job_driver.hive.query #=> String
610
+ # resp.job_run.job_driver.hive.init_query_file #=> String
611
+ # resp.job_run.job_driver.hive.parameters #=> String
612
+ # resp.job_run.tags #=> Hash
613
+ # resp.job_run.tags["TagKey"] #=> String
614
+ # resp.job_run.total_resource_utilization.v_cpu_hour #=> Float
615
+ # resp.job_run.total_resource_utilization.memory_gb_hour #=> Float
616
+ # resp.job_run.total_resource_utilization.storage_gb_hour #=> Float
617
+ # resp.job_run.network_configuration.subnet_ids #=> Array
618
+ # resp.job_run.network_configuration.subnet_ids[0] #=> String
619
+ # resp.job_run.network_configuration.security_group_ids #=> Array
620
+ # resp.job_run.network_configuration.security_group_ids[0] #=> String
621
+ # resp.job_run.total_execution_duration_seconds #=> Integer
622
+ #
623
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetJobRun AWS API Documentation
624
+ #
625
+ # @overload get_job_run(params = {})
626
+ # @param [Hash] params ({})
627
+ def get_job_run(params = {}, options = {})
628
+ req = build_request(:get_job_run, params)
629
+ req.send_request(options)
630
+ end
631
+
632
+ # Lists applications based on a set of parameters.
633
+ #
634
+ # @option params [String] :next_token
635
+ # The token for the next set of application results.
636
+ #
637
+ # @option params [Integer] :max_results
638
+ # The maximum number of applications that can be listed.
639
+ #
640
+ # @option params [Array<String>] :states
641
+ # An optional filter for application states. Note that if this filter
642
+ # contains multiple states, the resulting list will be grouped by the
643
+ # state.
644
+ #
645
+ # @return [Types::ListApplicationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
646
+ #
647
+ # * {Types::ListApplicationsResponse#applications #applications} => Array&lt;Types::ApplicationSummary&gt;
648
+ # * {Types::ListApplicationsResponse#next_token #next_token} => String
649
+ #
650
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
651
+ #
652
+ # @example Request syntax with placeholder values
653
+ #
654
+ # resp = client.list_applications({
655
+ # next_token: "NextToken",
656
+ # max_results: 1,
657
+ # states: ["CREATING"], # accepts CREATING, CREATED, STARTING, STARTED, STOPPING, STOPPED, TERMINATED
658
+ # })
659
+ #
660
+ # @example Response structure
661
+ #
662
+ # resp.applications #=> Array
663
+ # resp.applications[0].id #=> String
664
+ # resp.applications[0].name #=> String
665
+ # resp.applications[0].arn #=> String
666
+ # resp.applications[0].release_label #=> String
667
+ # resp.applications[0].type #=> String
668
+ # resp.applications[0].state #=> String, one of "CREATING", "CREATED", "STARTING", "STARTED", "STOPPING", "STOPPED", "TERMINATED"
669
+ # resp.applications[0].state_details #=> String
670
+ # resp.applications[0].created_at #=> Time
671
+ # resp.applications[0].updated_at #=> Time
672
+ # resp.next_token #=> String
673
+ #
674
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListApplications AWS API Documentation
675
+ #
676
+ # @overload list_applications(params = {})
677
+ # @param [Hash] params ({})
678
+ def list_applications(params = {}, options = {})
679
+ req = build_request(:list_applications, params)
680
+ req.send_request(options)
681
+ end
682
+
683
+ # Lists job runs based on a set of parameters.
684
+ #
685
+ # @option params [required, String] :application_id
686
+ # The ID of the application for which to list the job run.
687
+ #
688
+ # @option params [String] :next_token
689
+ # The token for the next set of job run results.
690
+ #
691
+ # @option params [Integer] :max_results
692
+ # The maximum number of job runs that can be listed.
693
+ #
694
+ # @option params [Time,DateTime,Date,Integer,String] :created_at_after
695
+ # The lower bound of the option to filter by creation date and time.
696
+ #
697
+ # @option params [Time,DateTime,Date,Integer,String] :created_at_before
698
+ # The upper bound of the option to filter by creation date and time.
699
+ #
700
+ # @option params [Array<String>] :states
701
+ # An optional filter for job run states. Note that if this filter
702
+ # contains multiple states, the resulting list will be grouped by the
703
+ # state.
704
+ #
705
+ # @return [Types::ListJobRunsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
706
+ #
707
+ # * {Types::ListJobRunsResponse#job_runs #job_runs} => Array&lt;Types::JobRunSummary&gt;
708
+ # * {Types::ListJobRunsResponse#next_token #next_token} => String
709
+ #
710
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
711
+ #
712
+ # @example Request syntax with placeholder values
713
+ #
714
+ # resp = client.list_job_runs({
715
+ # application_id: "ApplicationId", # required
716
+ # next_token: "NextToken",
717
+ # max_results: 1,
718
+ # created_at_after: Time.now,
719
+ # created_at_before: Time.now,
720
+ # states: ["SUBMITTED"], # accepts SUBMITTED, PENDING, SCHEDULED, RUNNING, SUCCESS, FAILED, CANCELLING, CANCELLED
721
+ # })
722
+ #
723
+ # @example Response structure
724
+ #
725
+ # resp.job_runs #=> Array
726
+ # resp.job_runs[0].application_id #=> String
727
+ # resp.job_runs[0].id #=> String
728
+ # resp.job_runs[0].name #=> String
729
+ # resp.job_runs[0].arn #=> String
730
+ # resp.job_runs[0].created_by #=> String
731
+ # resp.job_runs[0].created_at #=> Time
732
+ # resp.job_runs[0].updated_at #=> Time
733
+ # resp.job_runs[0].execution_role #=> String
734
+ # resp.job_runs[0].state #=> String, one of "SUBMITTED", "PENDING", "SCHEDULED", "RUNNING", "SUCCESS", "FAILED", "CANCELLING", "CANCELLED"
735
+ # resp.job_runs[0].state_details #=> String
736
+ # resp.job_runs[0].release_label #=> String
737
+ # resp.job_runs[0].type #=> String
738
+ # resp.next_token #=> String
739
+ #
740
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListJobRuns AWS API Documentation
741
+ #
742
+ # @overload list_job_runs(params = {})
743
+ # @param [Hash] params ({})
744
+ def list_job_runs(params = {}, options = {})
745
+ req = build_request(:list_job_runs, params)
746
+ req.send_request(options)
747
+ end
748
+
749
+ # Lists the tags assigned to the resources.
750
+ #
751
+ # @option params [required, String] :resource_arn
752
+ # The Amazon Resource Name (ARN) that identifies the resource to list
753
+ # the tags for. Currently, the supported resources are Amazon EMR
754
+ # Serverless applications and job runs.
755
+ #
756
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
757
+ #
758
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
759
+ #
760
+ # @example Request syntax with placeholder values
761
+ #
762
+ # resp = client.list_tags_for_resource({
763
+ # resource_arn: "ResourceArn", # required
764
+ # })
765
+ #
766
+ # @example Response structure
767
+ #
768
+ # resp.tags #=> Hash
769
+ # resp.tags["TagKey"] #=> String
770
+ #
771
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/ListTagsForResource AWS API Documentation
772
+ #
773
+ # @overload list_tags_for_resource(params = {})
774
+ # @param [Hash] params ({})
775
+ def list_tags_for_resource(params = {}, options = {})
776
+ req = build_request(:list_tags_for_resource, params)
777
+ req.send_request(options)
778
+ end
779
+
780
+ # Starts a specified application and initializes initial capacity if
781
+ # configured.
782
+ #
783
+ # @option params [required, String] :application_id
784
+ # The ID of the application to start.
785
+ #
786
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
787
+ #
788
+ # @example Request syntax with placeholder values
789
+ #
790
+ # resp = client.start_application({
791
+ # application_id: "ApplicationId", # required
792
+ # })
793
+ #
794
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StartApplication AWS API Documentation
795
+ #
796
+ # @overload start_application(params = {})
797
+ # @param [Hash] params ({})
798
+ def start_application(params = {}, options = {})
799
+ req = build_request(:start_application, params)
800
+ req.send_request(options)
801
+ end
802
+
803
+ # Starts a job run.
804
+ #
805
+ # @option params [required, String] :application_id
806
+ # The ID of the application on which to run the job.
807
+ #
808
+ # @option params [required, String] :client_token
809
+ # The client idempotency token of the job run to start. Its value must
810
+ # be unique for each request.
811
+ #
812
+ # **A suitable default value is auto-generated.** You should normally
813
+ # not need to pass this option.**
814
+ #
815
+ # @option params [required, String] :execution_role_arn
816
+ # The execution role ARN for the job run.
817
+ #
818
+ # @option params [Types::JobDriver] :job_driver
819
+ # The job driver for the job run.
820
+ #
821
+ # @option params [Types::ConfigurationOverrides] :configuration_overrides
822
+ # The configuration overrides for the job run.
823
+ #
824
+ # @option params [Hash<String,String>] :tags
825
+ # The tags assigned to the job run.
826
+ #
827
+ # @option params [Integer] :execution_timeout_minutes
828
+ # The maximum duration for the job run to run. If the job run runs
829
+ # beyond this duration, it will be automatically cancelled.
830
+ #
831
+ # @option params [String] :name
832
+ # The optional job run name. This doesn't have to be unique.
833
+ #
834
+ # @return [Types::StartJobRunResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
835
+ #
836
+ # * {Types::StartJobRunResponse#application_id #application_id} => String
837
+ # * {Types::StartJobRunResponse#job_run_id #job_run_id} => String
838
+ # * {Types::StartJobRunResponse#arn #arn} => String
839
+ #
840
+ # @example Request syntax with placeholder values
841
+ #
842
+ # resp = client.start_job_run({
843
+ # application_id: "ApplicationId", # required
844
+ # client_token: "ClientToken", # required
845
+ # execution_role_arn: "IAMRoleArn", # required
846
+ # job_driver: {
847
+ # spark_submit: {
848
+ # entry_point: "EntryPointPath", # required
849
+ # entry_point_arguments: ["EntryPointArgument"],
850
+ # spark_submit_parameters: "SparkSubmitParameters",
851
+ # },
852
+ # hive: {
853
+ # query: "Query", # required
854
+ # init_query_file: "InitScriptPath",
855
+ # parameters: "HiveCliParameters",
856
+ # },
857
+ # },
858
+ # configuration_overrides: {
859
+ # application_configuration: [
860
+ # {
861
+ # classification: "String1024", # required
862
+ # properties: {
863
+ # "String1024" => "String1024",
864
+ # },
865
+ # configurations: {
866
+ # # recursive ConfigurationList
867
+ # },
868
+ # },
869
+ # ],
870
+ # monitoring_configuration: {
871
+ # s3_monitoring_configuration: {
872
+ # log_uri: "UriString",
873
+ # encryption_key_arn: "EncryptionKeyArn",
874
+ # },
875
+ # managed_persistence_monitoring_configuration: {
876
+ # enabled: false,
877
+ # encryption_key_arn: "EncryptionKeyArn",
878
+ # },
879
+ # },
880
+ # },
881
+ # tags: {
882
+ # "TagKey" => "TagValue",
883
+ # },
884
+ # execution_timeout_minutes: 1,
885
+ # name: "String256",
886
+ # })
887
+ #
888
+ # @example Response structure
889
+ #
890
+ # resp.application_id #=> String
891
+ # resp.job_run_id #=> String
892
+ # resp.arn #=> String
893
+ #
894
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StartJobRun AWS API Documentation
895
+ #
896
+ # @overload start_job_run(params = {})
897
+ # @param [Hash] params ({})
898
+ def start_job_run(params = {}, options = {})
899
+ req = build_request(:start_job_run, params)
900
+ req.send_request(options)
901
+ end
902
+
903
+ # Stops a specified application and releases initial capacity if
904
+ # configured. All scheduled and running jobs must be completed or
905
+ # cancelled before stopping an application.
906
+ #
907
+ # @option params [required, String] :application_id
908
+ # The ID of the application to stop.
909
+ #
910
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
911
+ #
912
+ # @example Request syntax with placeholder values
913
+ #
914
+ # resp = client.stop_application({
915
+ # application_id: "ApplicationId", # required
916
+ # })
917
+ #
918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/StopApplication AWS API Documentation
919
+ #
920
+ # @overload stop_application(params = {})
921
+ # @param [Hash] params ({})
922
+ def stop_application(params = {}, options = {})
923
+ req = build_request(:stop_application, params)
924
+ req.send_request(options)
925
+ end
926
+
927
+ # Assigns tags to resources. A tag is a label that you assign to an AWS
928
+ # resource. Each tag consists of a key and an optional value, both of
929
+ # which you define. Tags enable you to categorize your AWS resources by
930
+ # attributes such as purpose, owner, or environment. When you have many
931
+ # resources of the same type, you can quickly identify a specific
932
+ # resource based on the tags you've assigned to it.
933
+ #
934
+ # @option params [required, String] :resource_arn
935
+ # The Amazon Resource Name (ARN) that identifies the resource to list
936
+ # the tags for. Currently, the supported resources are Amazon EMR
937
+ # Serverless applications and job runs.
938
+ #
939
+ # @option params [required, Hash<String,String>] :tags
940
+ # The tags to add to the resource. A tag is an array of key-value pairs.
941
+ #
942
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
943
+ #
944
+ # @example Request syntax with placeholder values
945
+ #
946
+ # resp = client.tag_resource({
947
+ # resource_arn: "ResourceArn", # required
948
+ # tags: { # required
949
+ # "TagKey" => "TagValue",
950
+ # },
951
+ # })
952
+ #
953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/TagResource AWS API Documentation
954
+ #
955
+ # @overload tag_resource(params = {})
956
+ # @param [Hash] params ({})
957
+ def tag_resource(params = {}, options = {})
958
+ req = build_request(:tag_resource, params)
959
+ req.send_request(options)
960
+ end
961
+
962
+ # Removes tags from resources.
963
+ #
964
+ # @option params [required, String] :resource_arn
965
+ # The Amazon Resource Name (ARN) that identifies the resource to list
966
+ # the tags for. Currently, the supported resources are Amazon EMR
967
+ # Serverless applications and job runs.
968
+ #
969
+ # @option params [required, Array<String>] :tag_keys
970
+ # The keys of the tags to be removed.
971
+ #
972
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
973
+ #
974
+ # @example Request syntax with placeholder values
975
+ #
976
+ # resp = client.untag_resource({
977
+ # resource_arn: "ResourceArn", # required
978
+ # tag_keys: ["TagKey"], # required
979
+ # })
980
+ #
981
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/UntagResource AWS API Documentation
982
+ #
983
+ # @overload untag_resource(params = {})
984
+ # @param [Hash] params ({})
985
+ def untag_resource(params = {}, options = {})
986
+ req = build_request(:untag_resource, params)
987
+ req.send_request(options)
988
+ end
989
+
990
+ # Updates a specified application. An application has to be in a stopped
991
+ # or created state in order to be updated.
992
+ #
993
+ # @option params [required, String] :application_id
994
+ # The ID of the application to update.
995
+ #
996
+ # @option params [required, String] :client_token
997
+ # The client idempotency token of the application to update. Its value
998
+ # must be unique for each request.
999
+ #
1000
+ # **A suitable default value is auto-generated.** You should normally
1001
+ # not need to pass this option.**
1002
+ #
1003
+ # @option params [Hash<String,Types::InitialCapacityConfig>] :initial_capacity
1004
+ # The capacity to initialize when the application is updated.
1005
+ #
1006
+ # @option params [Types::MaximumAllowedResources] :maximum_capacity
1007
+ # The maximum capacity to allocate when the application is updated. This
1008
+ # is cumulative across all workers at any given point in time during the
1009
+ # lifespan of the application. No new resources will be created once any
1010
+ # one of the defined limits is hit.
1011
+ #
1012
+ # @option params [Types::AutoStartConfig] :auto_start_configuration
1013
+ # The configuration for an application to automatically start on job
1014
+ # submission.
1015
+ #
1016
+ # @option params [Types::AutoStopConfig] :auto_stop_configuration
1017
+ # The configuration for an application to automatically stop after a
1018
+ # certain amount of time being idle.
1019
+ #
1020
+ # @option params [Types::NetworkConfiguration] :network_configuration
1021
+ # The network configuration for customer VPC connectivity.
1022
+ #
1023
+ # @return [Types::UpdateApplicationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1024
+ #
1025
+ # * {Types::UpdateApplicationResponse#application #application} => Types::Application
1026
+ #
1027
+ # @example Request syntax with placeholder values
1028
+ #
1029
+ # resp = client.update_application({
1030
+ # application_id: "ApplicationId", # required
1031
+ # client_token: "ClientToken", # required
1032
+ # initial_capacity: {
1033
+ # "WorkerTypeString" => {
1034
+ # worker_count: 1, # required
1035
+ # worker_configuration: {
1036
+ # cpu: "CpuSize", # required
1037
+ # memory: "MemorySize", # required
1038
+ # disk: "DiskSize",
1039
+ # },
1040
+ # },
1041
+ # },
1042
+ # maximum_capacity: {
1043
+ # cpu: "CpuSize", # required
1044
+ # memory: "MemorySize", # required
1045
+ # disk: "DiskSize",
1046
+ # },
1047
+ # auto_start_configuration: {
1048
+ # enabled: false,
1049
+ # },
1050
+ # auto_stop_configuration: {
1051
+ # enabled: false,
1052
+ # idle_timeout_minutes: 1,
1053
+ # },
1054
+ # network_configuration: {
1055
+ # subnet_ids: ["SubnetString"],
1056
+ # security_group_ids: ["SecurityGroupString"],
1057
+ # },
1058
+ # })
1059
+ #
1060
+ # @example Response structure
1061
+ #
1062
+ # resp.application.application_id #=> String
1063
+ # resp.application.name #=> String
1064
+ # resp.application.arn #=> String
1065
+ # resp.application.release_label #=> String
1066
+ # resp.application.type #=> String
1067
+ # resp.application.state #=> String, one of "CREATING", "CREATED", "STARTING", "STARTED", "STOPPING", "STOPPED", "TERMINATED"
1068
+ # resp.application.state_details #=> String
1069
+ # resp.application.initial_capacity #=> Hash
1070
+ # resp.application.initial_capacity["WorkerTypeString"].worker_count #=> Integer
1071
+ # resp.application.initial_capacity["WorkerTypeString"].worker_configuration.cpu #=> String
1072
+ # resp.application.initial_capacity["WorkerTypeString"].worker_configuration.memory #=> String
1073
+ # resp.application.initial_capacity["WorkerTypeString"].worker_configuration.disk #=> String
1074
+ # resp.application.maximum_capacity.cpu #=> String
1075
+ # resp.application.maximum_capacity.memory #=> String
1076
+ # resp.application.maximum_capacity.disk #=> String
1077
+ # resp.application.created_at #=> Time
1078
+ # resp.application.updated_at #=> Time
1079
+ # resp.application.tags #=> Hash
1080
+ # resp.application.tags["TagKey"] #=> String
1081
+ # resp.application.auto_start_configuration.enabled #=> Boolean
1082
+ # resp.application.auto_stop_configuration.enabled #=> Boolean
1083
+ # resp.application.auto_stop_configuration.idle_timeout_minutes #=> Integer
1084
+ # resp.application.network_configuration.subnet_ids #=> Array
1085
+ # resp.application.network_configuration.subnet_ids[0] #=> String
1086
+ # resp.application.network_configuration.security_group_ids #=> Array
1087
+ # resp.application.network_configuration.security_group_ids[0] #=> String
1088
+ #
1089
+ # @see http://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/UpdateApplication AWS API Documentation
1090
+ #
1091
+ # @overload update_application(params = {})
1092
+ # @param [Hash] params ({})
1093
+ def update_application(params = {}, options = {})
1094
+ req = build_request(:update_application, params)
1095
+ req.send_request(options)
1096
+ end
1097
+
1098
+ # @!endgroup
1099
+
1100
+ # @param params ({})
1101
+ # @api private
1102
+ def build_request(operation_name, params = {})
1103
+ handlers = @handlers.for(operation_name)
1104
+ context = Seahorse::Client::RequestContext.new(
1105
+ operation_name: operation_name,
1106
+ operation: config.api.operation(operation_name),
1107
+ client: self,
1108
+ params: params,
1109
+ config: config)
1110
+ context[:gem_name] = 'aws-sdk-emrserverless'
1111
+ context[:gem_version] = '1.0.0'
1112
+ Seahorse::Client::Request.new(handlers, context)
1113
+ end
1114
+
1115
+ # @api private
1116
+ # @deprecated
1117
+ def waiter_names
1118
+ []
1119
+ end
1120
+
1121
+ class << self
1122
+
1123
+ # @api private
1124
+ attr_reader :identifier
1125
+
1126
+ # @api private
1127
+ def errors_module
1128
+ Errors
1129
+ end
1130
+
1131
+ end
1132
+ end
1133
+ end