aws-sdk-devicefarm 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: eb1b98dfddecaba6606d4281f445865a83132f63
4
+ data.tar.gz: 259f1f40cf1de8e5911c21a226e2334ef037fdcd
5
+ SHA512:
6
+ metadata.gz: ac04efca2cd50d511610f61d7551eeef3e9d6917924e443332d2ef9369cb682b03a435923eeeef1c6f42fe63d6d52577c219accc217916f248b597081796e911
7
+ data.tar.gz: ed093b8618f436718a628f3d22833e0a3fd10653681d01ccf616ebd3e2fe3f507a2a03ebeb9594d8caa18f34cdb4dc397e4279e14d3cc0e188135c4e6667f623
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-devicefarm/types'
12
+ require_relative 'aws-sdk-devicefarm/client_api'
13
+ require_relative 'aws-sdk-devicefarm/client'
14
+ require_relative 'aws-sdk-devicefarm/errors'
15
+ require_relative 'aws-sdk-devicefarm/resource'
16
+ require_relative 'aws-sdk-devicefarm/customizations'
17
+
18
+ # This module provides support for AWS Device Farm. This module is available in the
19
+ # `aws-sdk-devicefarm` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from AWS Device Farm all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::DeviceFarm::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::DeviceFarm
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,2072 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:devicefarm)
25
+
26
+ module Aws
27
+ module DeviceFarm
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :devicefarm
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :simple_json (false)
117
+ # Disables request parameter conversion, validation, and formatting.
118
+ # Also disable response data type conversions. This option is useful
119
+ # when you want to ensure the highest level of performance by
120
+ # avoiding overhead of walking request parameters and response data
121
+ # structures.
122
+ #
123
+ # When `:simple_json` is enabled, the request parameters hash must
124
+ # be formatted exactly as the DynamoDB API expects.
125
+ # @option options [Boolean] :stub_responses (false)
126
+ # Causes the client to return stubbed responses. By default
127
+ # fake responses are generated and returned. You can specify
128
+ # the response data to return or errors to raise by calling
129
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
+ #
131
+ # ** Please note ** When response stubbing is enabled, no HTTP
132
+ # requests are made, and retries are disabled.
133
+ # @option options [Boolean] :validate_params (true)
134
+ # When `true`, request parameters are validated before
135
+ # sending the request.
136
+ def initialize(*args)
137
+ super
138
+ end
139
+
140
+ # @!group API Operations
141
+
142
+ # Creates a device pool.
143
+ # @option params [required, String] :project_arn
144
+ # The ARN of the project for the device pool.
145
+ # @option params [required, String] :name
146
+ # The device pool's name.
147
+ # @option params [String] :description
148
+ # The device pool's description.
149
+ # @option params [required, Array<Types::Rule>] :rules
150
+ # The device pool's rules.
151
+ # @return [Types::CreateDevicePoolResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
152
+ #
153
+ # * {Types::CreateDevicePoolResult#device_pool #devicePool} => Types::DevicePool
154
+ #
155
+ # @example Request syntax with placeholder values
156
+ # resp = client.create_device_pool({
157
+ # project_arn: "AmazonResourceName", # required
158
+ # name: "Name", # required
159
+ # description: "Message",
160
+ # rules: [ # required
161
+ # {
162
+ # attribute: "ARN", # accepts ARN, PLATFORM, FORM_FACTOR, MANUFACTURER, REMOTE_ACCESS_ENABLED
163
+ # operator: "EQUALS", # accepts EQUALS, LESS_THAN, GREATER_THAN, IN, NOT_IN
164
+ # value: "String",
165
+ # },
166
+ # ],
167
+ # })
168
+ #
169
+ # @example Response structure
170
+ # resp.device_pool.arn #=> String
171
+ # resp.device_pool.name #=> String
172
+ # resp.device_pool.description #=> String
173
+ # resp.device_pool.type #=> String, one of "CURATED", "PRIVATE"
174
+ # resp.device_pool.rules #=> Array
175
+ # resp.device_pool.rules[0].attribute #=> String, one of "ARN", "PLATFORM", "FORM_FACTOR", "MANUFACTURER", "REMOTE_ACCESS_ENABLED"
176
+ # resp.device_pool.rules[0].operator #=> String, one of "EQUALS", "LESS_THAN", "GREATER_THAN", "IN", "NOT_IN"
177
+ # resp.device_pool.rules[0].value #=> String
178
+ # @overload create_device_pool(params = {})
179
+ # @param [Hash] params ({})
180
+ def create_device_pool(params = {}, options = {})
181
+ req = build_request(:create_device_pool, params)
182
+ req.send_request(options)
183
+ end
184
+
185
+ # Creates a new project.
186
+ # @option params [required, String] :name
187
+ # The project's name.
188
+ # @return [Types::CreateProjectResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
189
+ #
190
+ # * {Types::CreateProjectResult#project #project} => Types::Project
191
+ #
192
+ # @example Request syntax with placeholder values
193
+ # resp = client.create_project({
194
+ # name: "Name", # required
195
+ # })
196
+ #
197
+ # @example Response structure
198
+ # resp.project.arn #=> String
199
+ # resp.project.name #=> String
200
+ # resp.project.created #=> Time
201
+ # @overload create_project(params = {})
202
+ # @param [Hash] params ({})
203
+ def create_project(params = {}, options = {})
204
+ req = build_request(:create_project, params)
205
+ req.send_request(options)
206
+ end
207
+
208
+ # Specifies and starts a remote access session.
209
+ # @option params [required, String] :project_arn
210
+ # The Amazon Resource Name (ARN) of the project for which you want to
211
+ # create a remote access session.
212
+ # @option params [required, String] :device_arn
213
+ # The Amazon Resource Name (ARN) of the device for which you want to
214
+ # create a remote access session.
215
+ # @option params [String] :name
216
+ # The name of the remote access session that you wish to create.
217
+ # @option params [Types::CreateRemoteAccessSessionConfiguration] :configuration
218
+ # The configuration information for the remote access session request.
219
+ # @return [Types::CreateRemoteAccessSessionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
220
+ #
221
+ # * {Types::CreateRemoteAccessSessionResult#remote_access_session #remoteAccessSession} => Types::RemoteAccessSession
222
+ #
223
+ # @example Request syntax with placeholder values
224
+ # resp = client.create_remote_access_session({
225
+ # project_arn: "AmazonResourceName", # required
226
+ # device_arn: "AmazonResourceName", # required
227
+ # name: "Name",
228
+ # configuration: {
229
+ # billing_method: "METERED", # accepts METERED, UNMETERED
230
+ # },
231
+ # })
232
+ #
233
+ # @example Response structure
234
+ # resp.remote_access_session.arn #=> String
235
+ # resp.remote_access_session.name #=> String
236
+ # resp.remote_access_session.created #=> Time
237
+ # resp.remote_access_session.status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
238
+ # resp.remote_access_session.result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
239
+ # resp.remote_access_session.message #=> String
240
+ # resp.remote_access_session.started #=> Time
241
+ # resp.remote_access_session.stopped #=> Time
242
+ # resp.remote_access_session.device.arn #=> String
243
+ # resp.remote_access_session.device.name #=> String
244
+ # resp.remote_access_session.device.manufacturer #=> String
245
+ # resp.remote_access_session.device.model #=> String
246
+ # resp.remote_access_session.device.form_factor #=> String, one of "PHONE", "TABLET"
247
+ # resp.remote_access_session.device.platform #=> String, one of "ANDROID", "IOS"
248
+ # resp.remote_access_session.device.os #=> String
249
+ # resp.remote_access_session.device.cpu.frequency #=> String
250
+ # resp.remote_access_session.device.cpu.architecture #=> String
251
+ # resp.remote_access_session.device.cpu.clock #=> Float
252
+ # resp.remote_access_session.device.resolution.width #=> Integer
253
+ # resp.remote_access_session.device.resolution.height #=> Integer
254
+ # resp.remote_access_session.device.heap_size #=> Integer
255
+ # resp.remote_access_session.device.memory #=> Integer
256
+ # resp.remote_access_session.device.image #=> String
257
+ # resp.remote_access_session.device.carrier #=> String
258
+ # resp.remote_access_session.device.radio #=> String
259
+ # resp.remote_access_session.device.remote_access_enabled #=> Boolean
260
+ # resp.remote_access_session.device.fleet_type #=> String
261
+ # resp.remote_access_session.device.fleet_name #=> String
262
+ # resp.remote_access_session.billing_method #=> String, one of "METERED", "UNMETERED"
263
+ # resp.remote_access_session.device_minutes.total #=> Float
264
+ # resp.remote_access_session.device_minutes.metered #=> Float
265
+ # resp.remote_access_session.device_minutes.unmetered #=> Float
266
+ # resp.remote_access_session.endpoint #=> String
267
+ # @overload create_remote_access_session(params = {})
268
+ # @param [Hash] params ({})
269
+ def create_remote_access_session(params = {}, options = {})
270
+ req = build_request(:create_remote_access_session, params)
271
+ req.send_request(options)
272
+ end
273
+
274
+ # Uploads an app or test scripts.
275
+ # @option params [required, String] :project_arn
276
+ # The ARN of the project for the upload.
277
+ # @option params [required, String] :name
278
+ # The upload's file name. The name should not contain the '/'
279
+ # character. If uploading an iOS app, the file name needs to end with
280
+ # the `.ipa` extension. If uploading an Android app, the file name needs
281
+ # to end with the `.apk` extension. For all others, the file name must
282
+ # end with the `.zip` file extension.
283
+ # @option params [required, String] :type
284
+ # The upload's upload type.
285
+ #
286
+ # Must be one of the following values:
287
+ #
288
+ # * ANDROID\_APP: An Android upload.
289
+ #
290
+ # * IOS\_APP: An iOS upload.
291
+ #
292
+ # * WEB\_APP: A web appliction upload.
293
+ #
294
+ # * EXTERNAL\_DATA: An external data upload.
295
+ #
296
+ # * APPIUM\_JAVA\_JUNIT\_TEST\_PACKAGE: An Appium Java JUnit test
297
+ # package upload.
298
+ #
299
+ # * APPIUM\_JAVA\_TESTNG\_TEST\_PACKAGE: An Appium Java TestNG test
300
+ # package upload.
301
+ #
302
+ # * APPIUM\_PYTHON\_TEST\_PACKAGE: An Appium Python test package upload.
303
+ #
304
+ # * APPIUM\_WEB\_JAVA\_JUNIT\_TEST\_PACKAGE: An Appium Java JUnit test
305
+ # package upload.
306
+ #
307
+ # * APPIUM\_WEB\_JAVA\_TESTNG\_TEST\_PACKAGE: An Appium Java TestNG test
308
+ # package upload.
309
+ #
310
+ # * APPIUM\_WEB\_PYTHON\_TEST\_PACKAGE: An Appium Python test package
311
+ # upload.
312
+ #
313
+ # * CALABASH\_TEST\_PACKAGE: A Calabash test package upload.
314
+ #
315
+ # * INSTRUMENTATION\_TEST\_PACKAGE: An instrumentation upload.
316
+ #
317
+ # * UIAUTOMATION\_TEST\_PACKAGE: A uiautomation test package upload.
318
+ #
319
+ # * UIAUTOMATOR\_TEST\_PACKAGE: A uiautomator test package upload.
320
+ #
321
+ # * XCTEST\_TEST\_PACKAGE: An XCode test package upload.
322
+ #
323
+ # * XCTEST\_UI\_TEST\_PACKAGE: An XCode UI test package upload.
324
+ #
325
+ # **Note** If you call `CreateUpload` with `WEB_APP` specified, AWS
326
+ # Device Farm throws an `ArgumentException` error.
327
+ # @option params [String] :content_type
328
+ # The upload's content type (for example,
329
+ # "application/octet-stream").
330
+ # @return [Types::CreateUploadResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
331
+ #
332
+ # * {Types::CreateUploadResult#upload #upload} => Types::Upload
333
+ #
334
+ # @example Request syntax with placeholder values
335
+ # resp = client.create_upload({
336
+ # project_arn: "AmazonResourceName", # required
337
+ # name: "Name", # required
338
+ # type: "ANDROID_APP", # required, accepts ANDROID_APP, IOS_APP, WEB_APP, EXTERNAL_DATA, APPIUM_JAVA_JUNIT_TEST_PACKAGE, APPIUM_JAVA_TESTNG_TEST_PACKAGE, APPIUM_PYTHON_TEST_PACKAGE, APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE, APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE, APPIUM_WEB_PYTHON_TEST_PACKAGE, CALABASH_TEST_PACKAGE, INSTRUMENTATION_TEST_PACKAGE, UIAUTOMATION_TEST_PACKAGE, UIAUTOMATOR_TEST_PACKAGE, XCTEST_TEST_PACKAGE, XCTEST_UI_TEST_PACKAGE
339
+ # content_type: "ContentType",
340
+ # })
341
+ #
342
+ # @example Response structure
343
+ # resp.upload.arn #=> String
344
+ # resp.upload.name #=> String
345
+ # resp.upload.created #=> Time
346
+ # resp.upload.type #=> String, one of "ANDROID_APP", "IOS_APP", "WEB_APP", "EXTERNAL_DATA", "APPIUM_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_PYTHON_TEST_PACKAGE", "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_WEB_PYTHON_TEST_PACKAGE", "CALABASH_TEST_PACKAGE", "INSTRUMENTATION_TEST_PACKAGE", "UIAUTOMATION_TEST_PACKAGE", "UIAUTOMATOR_TEST_PACKAGE", "XCTEST_TEST_PACKAGE", "XCTEST_UI_TEST_PACKAGE"
347
+ # resp.upload.status #=> String, one of "INITIALIZED", "PROCESSING", "SUCCEEDED", "FAILED"
348
+ # resp.upload.url #=> String
349
+ # resp.upload.metadata #=> String
350
+ # resp.upload.content_type #=> String
351
+ # resp.upload.message #=> String
352
+ # @overload create_upload(params = {})
353
+ # @param [Hash] params ({})
354
+ def create_upload(params = {}, options = {})
355
+ req = build_request(:create_upload, params)
356
+ req.send_request(options)
357
+ end
358
+
359
+ # Deletes a device pool given the pool ARN. Does not allow deletion of
360
+ # curated pools owned by the system.
361
+ # @option params [required, String] :arn
362
+ # Represents the Amazon Resource Name (ARN) of the Device Farm device
363
+ # pool you wish to delete.
364
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
365
+ #
366
+ # @example Request syntax with placeholder values
367
+ # resp = client.delete_device_pool({
368
+ # arn: "AmazonResourceName", # required
369
+ # })
370
+ # @overload delete_device_pool(params = {})
371
+ # @param [Hash] params ({})
372
+ def delete_device_pool(params = {}, options = {})
373
+ req = build_request(:delete_device_pool, params)
374
+ req.send_request(options)
375
+ end
376
+
377
+ # Deletes an AWS Device Farm project, given the project ARN.
378
+ #
379
+ # **Note** Deleting this resource does not stop an in-progress run.
380
+ # @option params [required, String] :arn
381
+ # Represents the Amazon Resource Name (ARN) of the Device Farm project
382
+ # you wish to delete.
383
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
384
+ #
385
+ # @example Request syntax with placeholder values
386
+ # resp = client.delete_project({
387
+ # arn: "AmazonResourceName", # required
388
+ # })
389
+ # @overload delete_project(params = {})
390
+ # @param [Hash] params ({})
391
+ def delete_project(params = {}, options = {})
392
+ req = build_request(:delete_project, params)
393
+ req.send_request(options)
394
+ end
395
+
396
+ # Deletes a completed remote access session and its results.
397
+ # @option params [required, String] :arn
398
+ # The Amazon Resource Name (ARN) of the sesssion for which you want to
399
+ # delete remote access.
400
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
401
+ #
402
+ # @example Request syntax with placeholder values
403
+ # resp = client.delete_remote_access_session({
404
+ # arn: "AmazonResourceName", # required
405
+ # })
406
+ # @overload delete_remote_access_session(params = {})
407
+ # @param [Hash] params ({})
408
+ def delete_remote_access_session(params = {}, options = {})
409
+ req = build_request(:delete_remote_access_session, params)
410
+ req.send_request(options)
411
+ end
412
+
413
+ # Deletes the run, given the run ARN.
414
+ #
415
+ # **Note** Deleting this resource does not stop an in-progress run.
416
+ # @option params [required, String] :arn
417
+ # The Amazon Resource Name (ARN) for the run you wish to delete.
418
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
419
+ #
420
+ # @example Request syntax with placeholder values
421
+ # resp = client.delete_run({
422
+ # arn: "AmazonResourceName", # required
423
+ # })
424
+ # @overload delete_run(params = {})
425
+ # @param [Hash] params ({})
426
+ def delete_run(params = {}, options = {})
427
+ req = build_request(:delete_run, params)
428
+ req.send_request(options)
429
+ end
430
+
431
+ # Deletes an upload given the upload ARN.
432
+ # @option params [required, String] :arn
433
+ # Represents the Amazon Resource Name (ARN) of the Device Farm upload
434
+ # you wish to delete.
435
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
436
+ #
437
+ # @example Request syntax with placeholder values
438
+ # resp = client.delete_upload({
439
+ # arn: "AmazonResourceName", # required
440
+ # })
441
+ # @overload delete_upload(params = {})
442
+ # @param [Hash] params ({})
443
+ def delete_upload(params = {}, options = {})
444
+ req = build_request(:delete_upload, params)
445
+ req.send_request(options)
446
+ end
447
+
448
+ # Returns the number of unmetered iOS and/or unmetered Android devices
449
+ # that have been purchased by the account.
450
+ # @return [Types::GetAccountSettingsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
451
+ #
452
+ # * {Types::GetAccountSettingsResult#account_settings #accountSettings} => Types::AccountSettings
453
+ #
454
+ # @example Request syntax with placeholder values
455
+ # resp = client.get_account_settings()
456
+ #
457
+ # @example Response structure
458
+ # resp.account_settings.aws_account_number #=> String
459
+ # resp.account_settings.unmetered_devices #=> Hash
460
+ # resp.account_settings.unmetered_devices["DevicePlatform"] #=> Integer
461
+ # resp.account_settings.unmetered_remote_access_devices #=> Hash
462
+ # resp.account_settings.unmetered_remote_access_devices["DevicePlatform"] #=> Integer
463
+ # @overload get_account_settings(params = {})
464
+ # @param [Hash] params ({})
465
+ def get_account_settings(params = {}, options = {})
466
+ req = build_request(:get_account_settings, params)
467
+ req.send_request(options)
468
+ end
469
+
470
+ # Gets information about a unique device type.
471
+ # @option params [required, String] :arn
472
+ # The device type's ARN.
473
+ # @return [Types::GetDeviceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
474
+ #
475
+ # * {Types::GetDeviceResult#device #device} => Types::Device
476
+ #
477
+ # @example Request syntax with placeholder values
478
+ # resp = client.get_device({
479
+ # arn: "AmazonResourceName", # required
480
+ # })
481
+ #
482
+ # @example Response structure
483
+ # resp.device.arn #=> String
484
+ # resp.device.name #=> String
485
+ # resp.device.manufacturer #=> String
486
+ # resp.device.model #=> String
487
+ # resp.device.form_factor #=> String, one of "PHONE", "TABLET"
488
+ # resp.device.platform #=> String, one of "ANDROID", "IOS"
489
+ # resp.device.os #=> String
490
+ # resp.device.cpu.frequency #=> String
491
+ # resp.device.cpu.architecture #=> String
492
+ # resp.device.cpu.clock #=> Float
493
+ # resp.device.resolution.width #=> Integer
494
+ # resp.device.resolution.height #=> Integer
495
+ # resp.device.heap_size #=> Integer
496
+ # resp.device.memory #=> Integer
497
+ # resp.device.image #=> String
498
+ # resp.device.carrier #=> String
499
+ # resp.device.radio #=> String
500
+ # resp.device.remote_access_enabled #=> Boolean
501
+ # resp.device.fleet_type #=> String
502
+ # resp.device.fleet_name #=> String
503
+ # @overload get_device(params = {})
504
+ # @param [Hash] params ({})
505
+ def get_device(params = {}, options = {})
506
+ req = build_request(:get_device, params)
507
+ req.send_request(options)
508
+ end
509
+
510
+ # Gets information about a device pool.
511
+ # @option params [required, String] :arn
512
+ # The device pool's ARN.
513
+ # @return [Types::GetDevicePoolResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
514
+ #
515
+ # * {Types::GetDevicePoolResult#device_pool #devicePool} => Types::DevicePool
516
+ #
517
+ # @example Request syntax with placeholder values
518
+ # resp = client.get_device_pool({
519
+ # arn: "AmazonResourceName", # required
520
+ # })
521
+ #
522
+ # @example Response structure
523
+ # resp.device_pool.arn #=> String
524
+ # resp.device_pool.name #=> String
525
+ # resp.device_pool.description #=> String
526
+ # resp.device_pool.type #=> String, one of "CURATED", "PRIVATE"
527
+ # resp.device_pool.rules #=> Array
528
+ # resp.device_pool.rules[0].attribute #=> String, one of "ARN", "PLATFORM", "FORM_FACTOR", "MANUFACTURER", "REMOTE_ACCESS_ENABLED"
529
+ # resp.device_pool.rules[0].operator #=> String, one of "EQUALS", "LESS_THAN", "GREATER_THAN", "IN", "NOT_IN"
530
+ # resp.device_pool.rules[0].value #=> String
531
+ # @overload get_device_pool(params = {})
532
+ # @param [Hash] params ({})
533
+ def get_device_pool(params = {}, options = {})
534
+ req = build_request(:get_device_pool, params)
535
+ req.send_request(options)
536
+ end
537
+
538
+ # Gets information about compatibility with a device pool.
539
+ # @option params [required, String] :device_pool_arn
540
+ # The device pool's ARN.
541
+ # @option params [String] :app_arn
542
+ # The ARN of the app that is associated with the specified device pool.
543
+ # @option params [String] :test_type
544
+ # The test type for the specified device pool.
545
+ #
546
+ # Allowed values include the following:
547
+ #
548
+ # * BUILTIN\_FUZZ: The built-in fuzz type.
549
+ #
550
+ # * BUILTIN\_EXPLORER: For Android, an app explorer that will traverse
551
+ # an Android app, interacting with it and capturing screenshots at the
552
+ # same time.
553
+ #
554
+ # * APPIUM\_JAVA\_JUNIT: The Appium Java JUnit type.
555
+ #
556
+ # * APPIUM\_JAVA\_TESTNG: The Appium Java TestNG type.
557
+ #
558
+ # * APPIUM\_PYTHON: The Appium Python type.
559
+ #
560
+ # * APPIUM\_WEB\_JAVA\_JUNIT: The Appium Java JUnit type for Web apps.
561
+ #
562
+ # * APPIUM\_WEB\_JAVA\_TESTNG: The Appium Java TestNG type for Web apps.
563
+ #
564
+ # * APPIUM\_WEB\_PYTHON: The Appium Python type for Web apps.
565
+ #
566
+ # * CALABASH: The Calabash type.
567
+ #
568
+ # * INSTRUMENTATION: The Instrumentation type.
569
+ #
570
+ # * UIAUTOMATION: The uiautomation type.
571
+ #
572
+ # * UIAUTOMATOR: The uiautomator type.
573
+ #
574
+ # * XCTEST: The XCode test type.
575
+ #
576
+ # * XCTEST\_UI: The XCode UI test type.
577
+ # @return [Types::GetDevicePoolCompatibilityResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
578
+ #
579
+ # * {Types::GetDevicePoolCompatibilityResult#compatible_devices #compatibleDevices} => Array&lt;Types::DevicePoolCompatibilityResult&gt;
580
+ # * {Types::GetDevicePoolCompatibilityResult#incompatible_devices #incompatibleDevices} => Array&lt;Types::DevicePoolCompatibilityResult&gt;
581
+ #
582
+ # @example Request syntax with placeholder values
583
+ # resp = client.get_device_pool_compatibility({
584
+ # device_pool_arn: "AmazonResourceName", # required
585
+ # app_arn: "AmazonResourceName",
586
+ # test_type: "BUILTIN_FUZZ", # accepts BUILTIN_FUZZ, BUILTIN_EXPLORER, APPIUM_JAVA_JUNIT, APPIUM_JAVA_TESTNG, APPIUM_PYTHON, APPIUM_WEB_JAVA_JUNIT, APPIUM_WEB_JAVA_TESTNG, APPIUM_WEB_PYTHON, CALABASH, INSTRUMENTATION, UIAUTOMATION, UIAUTOMATOR, XCTEST, XCTEST_UI
587
+ # })
588
+ #
589
+ # @example Response structure
590
+ # resp.compatible_devices #=> Array
591
+ # resp.compatible_devices[0].device.arn #=> String
592
+ # resp.compatible_devices[0].device.name #=> String
593
+ # resp.compatible_devices[0].device.manufacturer #=> String
594
+ # resp.compatible_devices[0].device.model #=> String
595
+ # resp.compatible_devices[0].device.form_factor #=> String, one of "PHONE", "TABLET"
596
+ # resp.compatible_devices[0].device.platform #=> String, one of "ANDROID", "IOS"
597
+ # resp.compatible_devices[0].device.os #=> String
598
+ # resp.compatible_devices[0].device.cpu.frequency #=> String
599
+ # resp.compatible_devices[0].device.cpu.architecture #=> String
600
+ # resp.compatible_devices[0].device.cpu.clock #=> Float
601
+ # resp.compatible_devices[0].device.resolution.width #=> Integer
602
+ # resp.compatible_devices[0].device.resolution.height #=> Integer
603
+ # resp.compatible_devices[0].device.heap_size #=> Integer
604
+ # resp.compatible_devices[0].device.memory #=> Integer
605
+ # resp.compatible_devices[0].device.image #=> String
606
+ # resp.compatible_devices[0].device.carrier #=> String
607
+ # resp.compatible_devices[0].device.radio #=> String
608
+ # resp.compatible_devices[0].device.remote_access_enabled #=> Boolean
609
+ # resp.compatible_devices[0].device.fleet_type #=> String
610
+ # resp.compatible_devices[0].device.fleet_name #=> String
611
+ # resp.compatible_devices[0].compatible #=> Boolean
612
+ # resp.compatible_devices[0].incompatibility_messages #=> Array
613
+ # resp.compatible_devices[0].incompatibility_messages[0].message #=> String
614
+ # resp.compatible_devices[0].incompatibility_messages[0].type #=> String, one of "ARN", "PLATFORM", "FORM_FACTOR", "MANUFACTURER", "REMOTE_ACCESS_ENABLED"
615
+ # resp.incompatible_devices #=> Array
616
+ # resp.incompatible_devices[0].device.arn #=> String
617
+ # resp.incompatible_devices[0].device.name #=> String
618
+ # resp.incompatible_devices[0].device.manufacturer #=> String
619
+ # resp.incompatible_devices[0].device.model #=> String
620
+ # resp.incompatible_devices[0].device.form_factor #=> String, one of "PHONE", "TABLET"
621
+ # resp.incompatible_devices[0].device.platform #=> String, one of "ANDROID", "IOS"
622
+ # resp.incompatible_devices[0].device.os #=> String
623
+ # resp.incompatible_devices[0].device.cpu.frequency #=> String
624
+ # resp.incompatible_devices[0].device.cpu.architecture #=> String
625
+ # resp.incompatible_devices[0].device.cpu.clock #=> Float
626
+ # resp.incompatible_devices[0].device.resolution.width #=> Integer
627
+ # resp.incompatible_devices[0].device.resolution.height #=> Integer
628
+ # resp.incompatible_devices[0].device.heap_size #=> Integer
629
+ # resp.incompatible_devices[0].device.memory #=> Integer
630
+ # resp.incompatible_devices[0].device.image #=> String
631
+ # resp.incompatible_devices[0].device.carrier #=> String
632
+ # resp.incompatible_devices[0].device.radio #=> String
633
+ # resp.incompatible_devices[0].device.remote_access_enabled #=> Boolean
634
+ # resp.incompatible_devices[0].device.fleet_type #=> String
635
+ # resp.incompatible_devices[0].device.fleet_name #=> String
636
+ # resp.incompatible_devices[0].compatible #=> Boolean
637
+ # resp.incompatible_devices[0].incompatibility_messages #=> Array
638
+ # resp.incompatible_devices[0].incompatibility_messages[0].message #=> String
639
+ # resp.incompatible_devices[0].incompatibility_messages[0].type #=> String, one of "ARN", "PLATFORM", "FORM_FACTOR", "MANUFACTURER", "REMOTE_ACCESS_ENABLED"
640
+ # @overload get_device_pool_compatibility(params = {})
641
+ # @param [Hash] params ({})
642
+ def get_device_pool_compatibility(params = {}, options = {})
643
+ req = build_request(:get_device_pool_compatibility, params)
644
+ req.send_request(options)
645
+ end
646
+
647
+ # Gets information about a job.
648
+ # @option params [required, String] :arn
649
+ # The job's ARN.
650
+ # @return [Types::GetJobResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
651
+ #
652
+ # * {Types::GetJobResult#job #job} => Types::Job
653
+ #
654
+ # @example Request syntax with placeholder values
655
+ # resp = client.get_job({
656
+ # arn: "AmazonResourceName", # required
657
+ # })
658
+ #
659
+ # @example Response structure
660
+ # resp.job.arn #=> String
661
+ # resp.job.name #=> String
662
+ # resp.job.type #=> String, one of "BUILTIN_FUZZ", "BUILTIN_EXPLORER", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", "XCTEST_UI"
663
+ # resp.job.created #=> Time
664
+ # resp.job.status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
665
+ # resp.job.result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
666
+ # resp.job.started #=> Time
667
+ # resp.job.stopped #=> Time
668
+ # resp.job.counters.total #=> Integer
669
+ # resp.job.counters.passed #=> Integer
670
+ # resp.job.counters.failed #=> Integer
671
+ # resp.job.counters.warned #=> Integer
672
+ # resp.job.counters.errored #=> Integer
673
+ # resp.job.counters.stopped #=> Integer
674
+ # resp.job.counters.skipped #=> Integer
675
+ # resp.job.message #=> String
676
+ # resp.job.device.arn #=> String
677
+ # resp.job.device.name #=> String
678
+ # resp.job.device.manufacturer #=> String
679
+ # resp.job.device.model #=> String
680
+ # resp.job.device.form_factor #=> String, one of "PHONE", "TABLET"
681
+ # resp.job.device.platform #=> String, one of "ANDROID", "IOS"
682
+ # resp.job.device.os #=> String
683
+ # resp.job.device.cpu.frequency #=> String
684
+ # resp.job.device.cpu.architecture #=> String
685
+ # resp.job.device.cpu.clock #=> Float
686
+ # resp.job.device.resolution.width #=> Integer
687
+ # resp.job.device.resolution.height #=> Integer
688
+ # resp.job.device.heap_size #=> Integer
689
+ # resp.job.device.memory #=> Integer
690
+ # resp.job.device.image #=> String
691
+ # resp.job.device.carrier #=> String
692
+ # resp.job.device.radio #=> String
693
+ # resp.job.device.remote_access_enabled #=> Boolean
694
+ # resp.job.device.fleet_type #=> String
695
+ # resp.job.device.fleet_name #=> String
696
+ # resp.job.device_minutes.total #=> Float
697
+ # resp.job.device_minutes.metered #=> Float
698
+ # resp.job.device_minutes.unmetered #=> Float
699
+ # @overload get_job(params = {})
700
+ # @param [Hash] params ({})
701
+ def get_job(params = {}, options = {})
702
+ req = build_request(:get_job, params)
703
+ req.send_request(options)
704
+ end
705
+
706
+ # Gets the current status and future status of all offerings purchased
707
+ # by an AWS account. The response indicates how many offerings are
708
+ # currently available and the offerings that will be available in the
709
+ # next period. The API returns a `NotEligible` error if the user is not
710
+ # permitted to invoke the operation. Please contact
711
+ # [aws-devicefarm-support@amazon.com](mailto:aws-devicefarm-support@amazon.com)
712
+ # if you believe that you should be able to invoke this operation.
713
+ # @option params [String] :next_token
714
+ # An identifier that was returned from the previous call to this
715
+ # operation, which can be used to return the next set of items in the
716
+ # list.
717
+ # @return [Types::GetOfferingStatusResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
718
+ #
719
+ # * {Types::GetOfferingStatusResult#current #current} => Hash&lt;String,Types::OfferingStatus&gt;
720
+ # * {Types::GetOfferingStatusResult#next_period #nextPeriod} => Hash&lt;String,Types::OfferingStatus&gt;
721
+ # * {Types::GetOfferingStatusResult#next_token #nextToken} => String
722
+ #
723
+ # @example Request syntax with placeholder values
724
+ # resp = client.get_offering_status({
725
+ # next_token: "PaginationToken",
726
+ # })
727
+ #
728
+ # @example Response structure
729
+ # resp.current #=> Hash
730
+ # resp.current["OfferingIdentifier"].type #=> String, one of "PURCHASE", "RENEW", "SYSTEM"
731
+ # resp.current["OfferingIdentifier"].offering.id #=> String
732
+ # resp.current["OfferingIdentifier"].offering.description #=> String
733
+ # resp.current["OfferingIdentifier"].offering.type #=> String, one of "RECURRING"
734
+ # resp.current["OfferingIdentifier"].offering.platform #=> String, one of "ANDROID", "IOS"
735
+ # resp.current["OfferingIdentifier"].offering.recurring_charges #=> Array
736
+ # resp.current["OfferingIdentifier"].offering.recurring_charges[0].cost.amount #=> Float
737
+ # resp.current["OfferingIdentifier"].offering.recurring_charges[0].cost.currency_code #=> String, one of "USD"
738
+ # resp.current["OfferingIdentifier"].offering.recurring_charges[0].frequency #=> String, one of "MONTHLY"
739
+ # resp.current["OfferingIdentifier"].quantity #=> Integer
740
+ # resp.current["OfferingIdentifier"].effective_on #=> Time
741
+ # resp.next_period #=> Hash
742
+ # resp.next_period["OfferingIdentifier"].type #=> String, one of "PURCHASE", "RENEW", "SYSTEM"
743
+ # resp.next_period["OfferingIdentifier"].offering.id #=> String
744
+ # resp.next_period["OfferingIdentifier"].offering.description #=> String
745
+ # resp.next_period["OfferingIdentifier"].offering.type #=> String, one of "RECURRING"
746
+ # resp.next_period["OfferingIdentifier"].offering.platform #=> String, one of "ANDROID", "IOS"
747
+ # resp.next_period["OfferingIdentifier"].offering.recurring_charges #=> Array
748
+ # resp.next_period["OfferingIdentifier"].offering.recurring_charges[0].cost.amount #=> Float
749
+ # resp.next_period["OfferingIdentifier"].offering.recurring_charges[0].cost.currency_code #=> String, one of "USD"
750
+ # resp.next_period["OfferingIdentifier"].offering.recurring_charges[0].frequency #=> String, one of "MONTHLY"
751
+ # resp.next_period["OfferingIdentifier"].quantity #=> Integer
752
+ # resp.next_period["OfferingIdentifier"].effective_on #=> Time
753
+ # resp.next_token #=> String
754
+ # @overload get_offering_status(params = {})
755
+ # @param [Hash] params ({})
756
+ def get_offering_status(params = {}, options = {})
757
+ req = build_request(:get_offering_status, params)
758
+ req.send_request(options)
759
+ end
760
+
761
+ # Gets information about a project.
762
+ # @option params [required, String] :arn
763
+ # The project's ARN.
764
+ # @return [Types::GetProjectResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
765
+ #
766
+ # * {Types::GetProjectResult#project #project} => Types::Project
767
+ #
768
+ # @example Request syntax with placeholder values
769
+ # resp = client.get_project({
770
+ # arn: "AmazonResourceName", # required
771
+ # })
772
+ #
773
+ # @example Response structure
774
+ # resp.project.arn #=> String
775
+ # resp.project.name #=> String
776
+ # resp.project.created #=> Time
777
+ # @overload get_project(params = {})
778
+ # @param [Hash] params ({})
779
+ def get_project(params = {}, options = {})
780
+ req = build_request(:get_project, params)
781
+ req.send_request(options)
782
+ end
783
+
784
+ # Returns a link to a currently running remote access session.
785
+ # @option params [required, String] :arn
786
+ # The Amazon Resource Name (ARN) of the remote access session about
787
+ # which you want to get session information.
788
+ # @return [Types::GetRemoteAccessSessionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
789
+ #
790
+ # * {Types::GetRemoteAccessSessionResult#remote_access_session #remoteAccessSession} => Types::RemoteAccessSession
791
+ #
792
+ # @example Request syntax with placeholder values
793
+ # resp = client.get_remote_access_session({
794
+ # arn: "AmazonResourceName", # required
795
+ # })
796
+ #
797
+ # @example Response structure
798
+ # resp.remote_access_session.arn #=> String
799
+ # resp.remote_access_session.name #=> String
800
+ # resp.remote_access_session.created #=> Time
801
+ # resp.remote_access_session.status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
802
+ # resp.remote_access_session.result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
803
+ # resp.remote_access_session.message #=> String
804
+ # resp.remote_access_session.started #=> Time
805
+ # resp.remote_access_session.stopped #=> Time
806
+ # resp.remote_access_session.device.arn #=> String
807
+ # resp.remote_access_session.device.name #=> String
808
+ # resp.remote_access_session.device.manufacturer #=> String
809
+ # resp.remote_access_session.device.model #=> String
810
+ # resp.remote_access_session.device.form_factor #=> String, one of "PHONE", "TABLET"
811
+ # resp.remote_access_session.device.platform #=> String, one of "ANDROID", "IOS"
812
+ # resp.remote_access_session.device.os #=> String
813
+ # resp.remote_access_session.device.cpu.frequency #=> String
814
+ # resp.remote_access_session.device.cpu.architecture #=> String
815
+ # resp.remote_access_session.device.cpu.clock #=> Float
816
+ # resp.remote_access_session.device.resolution.width #=> Integer
817
+ # resp.remote_access_session.device.resolution.height #=> Integer
818
+ # resp.remote_access_session.device.heap_size #=> Integer
819
+ # resp.remote_access_session.device.memory #=> Integer
820
+ # resp.remote_access_session.device.image #=> String
821
+ # resp.remote_access_session.device.carrier #=> String
822
+ # resp.remote_access_session.device.radio #=> String
823
+ # resp.remote_access_session.device.remote_access_enabled #=> Boolean
824
+ # resp.remote_access_session.device.fleet_type #=> String
825
+ # resp.remote_access_session.device.fleet_name #=> String
826
+ # resp.remote_access_session.billing_method #=> String, one of "METERED", "UNMETERED"
827
+ # resp.remote_access_session.device_minutes.total #=> Float
828
+ # resp.remote_access_session.device_minutes.metered #=> Float
829
+ # resp.remote_access_session.device_minutes.unmetered #=> Float
830
+ # resp.remote_access_session.endpoint #=> String
831
+ # @overload get_remote_access_session(params = {})
832
+ # @param [Hash] params ({})
833
+ def get_remote_access_session(params = {}, options = {})
834
+ req = build_request(:get_remote_access_session, params)
835
+ req.send_request(options)
836
+ end
837
+
838
+ # Gets information about a run.
839
+ # @option params [required, String] :arn
840
+ # The run's ARN.
841
+ # @return [Types::GetRunResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
842
+ #
843
+ # * {Types::GetRunResult#run #run} => Types::Run
844
+ #
845
+ # @example Request syntax with placeholder values
846
+ # resp = client.get_run({
847
+ # arn: "AmazonResourceName", # required
848
+ # })
849
+ #
850
+ # @example Response structure
851
+ # resp.run.arn #=> String
852
+ # resp.run.name #=> String
853
+ # resp.run.type #=> String, one of "BUILTIN_FUZZ", "BUILTIN_EXPLORER", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", "XCTEST_UI"
854
+ # resp.run.platform #=> String, one of "ANDROID", "IOS"
855
+ # resp.run.created #=> Time
856
+ # resp.run.status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
857
+ # resp.run.result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
858
+ # resp.run.started #=> Time
859
+ # resp.run.stopped #=> Time
860
+ # resp.run.counters.total #=> Integer
861
+ # resp.run.counters.passed #=> Integer
862
+ # resp.run.counters.failed #=> Integer
863
+ # resp.run.counters.warned #=> Integer
864
+ # resp.run.counters.errored #=> Integer
865
+ # resp.run.counters.stopped #=> Integer
866
+ # resp.run.counters.skipped #=> Integer
867
+ # resp.run.message #=> String
868
+ # resp.run.total_jobs #=> Integer
869
+ # resp.run.completed_jobs #=> Integer
870
+ # resp.run.billing_method #=> String, one of "METERED", "UNMETERED"
871
+ # resp.run.device_minutes.total #=> Float
872
+ # resp.run.device_minutes.metered #=> Float
873
+ # resp.run.device_minutes.unmetered #=> Float
874
+ # @overload get_run(params = {})
875
+ # @param [Hash] params ({})
876
+ def get_run(params = {}, options = {})
877
+ req = build_request(:get_run, params)
878
+ req.send_request(options)
879
+ end
880
+
881
+ # Gets information about a suite.
882
+ # @option params [required, String] :arn
883
+ # The suite's ARN.
884
+ # @return [Types::GetSuiteResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
885
+ #
886
+ # * {Types::GetSuiteResult#suite #suite} => Types::Suite
887
+ #
888
+ # @example Request syntax with placeholder values
889
+ # resp = client.get_suite({
890
+ # arn: "AmazonResourceName", # required
891
+ # })
892
+ #
893
+ # @example Response structure
894
+ # resp.suite.arn #=> String
895
+ # resp.suite.name #=> String
896
+ # resp.suite.type #=> String, one of "BUILTIN_FUZZ", "BUILTIN_EXPLORER", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", "XCTEST_UI"
897
+ # resp.suite.created #=> Time
898
+ # resp.suite.status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
899
+ # resp.suite.result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
900
+ # resp.suite.started #=> Time
901
+ # resp.suite.stopped #=> Time
902
+ # resp.suite.counters.total #=> Integer
903
+ # resp.suite.counters.passed #=> Integer
904
+ # resp.suite.counters.failed #=> Integer
905
+ # resp.suite.counters.warned #=> Integer
906
+ # resp.suite.counters.errored #=> Integer
907
+ # resp.suite.counters.stopped #=> Integer
908
+ # resp.suite.counters.skipped #=> Integer
909
+ # resp.suite.message #=> String
910
+ # resp.suite.device_minutes.total #=> Float
911
+ # resp.suite.device_minutes.metered #=> Float
912
+ # resp.suite.device_minutes.unmetered #=> Float
913
+ # @overload get_suite(params = {})
914
+ # @param [Hash] params ({})
915
+ def get_suite(params = {}, options = {})
916
+ req = build_request(:get_suite, params)
917
+ req.send_request(options)
918
+ end
919
+
920
+ # Gets information about a test.
921
+ # @option params [required, String] :arn
922
+ # The test's ARN.
923
+ # @return [Types::GetTestResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
924
+ #
925
+ # * {Types::GetTestResult#test #test} => Types::Test
926
+ #
927
+ # @example Request syntax with placeholder values
928
+ # resp = client.get_test({
929
+ # arn: "AmazonResourceName", # required
930
+ # })
931
+ #
932
+ # @example Response structure
933
+ # resp.test.arn #=> String
934
+ # resp.test.name #=> String
935
+ # resp.test.type #=> String, one of "BUILTIN_FUZZ", "BUILTIN_EXPLORER", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", "XCTEST_UI"
936
+ # resp.test.created #=> Time
937
+ # resp.test.status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
938
+ # resp.test.result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
939
+ # resp.test.started #=> Time
940
+ # resp.test.stopped #=> Time
941
+ # resp.test.counters.total #=> Integer
942
+ # resp.test.counters.passed #=> Integer
943
+ # resp.test.counters.failed #=> Integer
944
+ # resp.test.counters.warned #=> Integer
945
+ # resp.test.counters.errored #=> Integer
946
+ # resp.test.counters.stopped #=> Integer
947
+ # resp.test.counters.skipped #=> Integer
948
+ # resp.test.message #=> String
949
+ # resp.test.device_minutes.total #=> Float
950
+ # resp.test.device_minutes.metered #=> Float
951
+ # resp.test.device_minutes.unmetered #=> Float
952
+ # @overload get_test(params = {})
953
+ # @param [Hash] params ({})
954
+ def get_test(params = {}, options = {})
955
+ req = build_request(:get_test, params)
956
+ req.send_request(options)
957
+ end
958
+
959
+ # Gets information about an upload.
960
+ # @option params [required, String] :arn
961
+ # The upload's ARN.
962
+ # @return [Types::GetUploadResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
963
+ #
964
+ # * {Types::GetUploadResult#upload #upload} => Types::Upload
965
+ #
966
+ # @example Request syntax with placeholder values
967
+ # resp = client.get_upload({
968
+ # arn: "AmazonResourceName", # required
969
+ # })
970
+ #
971
+ # @example Response structure
972
+ # resp.upload.arn #=> String
973
+ # resp.upload.name #=> String
974
+ # resp.upload.created #=> Time
975
+ # resp.upload.type #=> String, one of "ANDROID_APP", "IOS_APP", "WEB_APP", "EXTERNAL_DATA", "APPIUM_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_PYTHON_TEST_PACKAGE", "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_WEB_PYTHON_TEST_PACKAGE", "CALABASH_TEST_PACKAGE", "INSTRUMENTATION_TEST_PACKAGE", "UIAUTOMATION_TEST_PACKAGE", "UIAUTOMATOR_TEST_PACKAGE", "XCTEST_TEST_PACKAGE", "XCTEST_UI_TEST_PACKAGE"
976
+ # resp.upload.status #=> String, one of "INITIALIZED", "PROCESSING", "SUCCEEDED", "FAILED"
977
+ # resp.upload.url #=> String
978
+ # resp.upload.metadata #=> String
979
+ # resp.upload.content_type #=> String
980
+ # resp.upload.message #=> String
981
+ # @overload get_upload(params = {})
982
+ # @param [Hash] params ({})
983
+ def get_upload(params = {}, options = {})
984
+ req = build_request(:get_upload, params)
985
+ req.send_request(options)
986
+ end
987
+
988
+ # Installs an application to the device in a remote access session. For
989
+ # Android applications, the file must be in .apk format. For iOS
990
+ # applications, the file must be in .ipa format.
991
+ # @option params [required, String] :remote_access_session_arn
992
+ # The Amazon Resource Name (ARN) of the remote access session about
993
+ # which you are requesting information.
994
+ # @option params [required, String] :app_arn
995
+ # The Amazon Resource Name (ARN) of the app about which you are
996
+ # requesting information.
997
+ # @return [Types::InstallToRemoteAccessSessionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
998
+ #
999
+ # * {Types::InstallToRemoteAccessSessionResult#app_upload #appUpload} => Types::Upload
1000
+ #
1001
+ # @example Request syntax with placeholder values
1002
+ # resp = client.install_to_remote_access_session({
1003
+ # remote_access_session_arn: "AmazonResourceName", # required
1004
+ # app_arn: "AmazonResourceName", # required
1005
+ # })
1006
+ #
1007
+ # @example Response structure
1008
+ # resp.app_upload.arn #=> String
1009
+ # resp.app_upload.name #=> String
1010
+ # resp.app_upload.created #=> Time
1011
+ # resp.app_upload.type #=> String, one of "ANDROID_APP", "IOS_APP", "WEB_APP", "EXTERNAL_DATA", "APPIUM_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_PYTHON_TEST_PACKAGE", "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_WEB_PYTHON_TEST_PACKAGE", "CALABASH_TEST_PACKAGE", "INSTRUMENTATION_TEST_PACKAGE", "UIAUTOMATION_TEST_PACKAGE", "UIAUTOMATOR_TEST_PACKAGE", "XCTEST_TEST_PACKAGE", "XCTEST_UI_TEST_PACKAGE"
1012
+ # resp.app_upload.status #=> String, one of "INITIALIZED", "PROCESSING", "SUCCEEDED", "FAILED"
1013
+ # resp.app_upload.url #=> String
1014
+ # resp.app_upload.metadata #=> String
1015
+ # resp.app_upload.content_type #=> String
1016
+ # resp.app_upload.message #=> String
1017
+ # @overload install_to_remote_access_session(params = {})
1018
+ # @param [Hash] params ({})
1019
+ def install_to_remote_access_session(params = {}, options = {})
1020
+ req = build_request(:install_to_remote_access_session, params)
1021
+ req.send_request(options)
1022
+ end
1023
+
1024
+ # Gets information about artifacts.
1025
+ # @option params [required, String] :arn
1026
+ # The Run, Job, Suite, or Test ARN.
1027
+ # @option params [required, String] :type
1028
+ # The artifacts' type.
1029
+ #
1030
+ # Allowed values include:
1031
+ #
1032
+ # * FILE: The artifacts are files.
1033
+ #
1034
+ # * LOG: The artifacts are logs.
1035
+ #
1036
+ # * SCREENSHOT: The artifacts are screenshots.
1037
+ # @option params [String] :next_token
1038
+ # An identifier that was returned from the previous call to this
1039
+ # operation, which can be used to return the next set of items in the
1040
+ # list.
1041
+ # @return [Types::ListArtifactsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1042
+ #
1043
+ # * {Types::ListArtifactsResult#artifacts #artifacts} => Array&lt;Types::Artifact&gt;
1044
+ # * {Types::ListArtifactsResult#next_token #nextToken} => String
1045
+ #
1046
+ # @example Request syntax with placeholder values
1047
+ # resp = client.list_artifacts({
1048
+ # arn: "AmazonResourceName", # required
1049
+ # type: "SCREENSHOT", # required, accepts SCREENSHOT, FILE, LOG
1050
+ # next_token: "PaginationToken",
1051
+ # })
1052
+ #
1053
+ # @example Response structure
1054
+ # resp.artifacts #=> Array
1055
+ # resp.artifacts[0].arn #=> String
1056
+ # resp.artifacts[0].name #=> String
1057
+ # resp.artifacts[0].type #=> String, one of "UNKNOWN", "SCREENSHOT", "DEVICE_LOG", "MESSAGE_LOG", "VIDEO_LOG", "RESULT_LOG", "SERVICE_LOG", "WEBKIT_LOG", "INSTRUMENTATION_OUTPUT", "EXERCISER_MONKEY_OUTPUT", "CALABASH_JSON_OUTPUT", "CALABASH_PRETTY_OUTPUT", "CALABASH_STANDARD_OUTPUT", "CALABASH_JAVA_XML_OUTPUT", "AUTOMATION_OUTPUT", "APPIUM_SERVER_OUTPUT", "APPIUM_JAVA_OUTPUT", "APPIUM_JAVA_XML_OUTPUT", "APPIUM_PYTHON_OUTPUT", "APPIUM_PYTHON_XML_OUTPUT", "EXPLORER_EVENT_LOG", "EXPLORER_SUMMARY_LOG", "APPLICATION_CRASH_REPORT", "XCTEST_LOG", "VIDEO"
1058
+ # resp.artifacts[0].extension #=> String
1059
+ # resp.artifacts[0].url #=> String
1060
+ # resp.next_token #=> String
1061
+ # @overload list_artifacts(params = {})
1062
+ # @param [Hash] params ({})
1063
+ def list_artifacts(params = {}, options = {})
1064
+ req = build_request(:list_artifacts, params)
1065
+ req.send_request(options)
1066
+ end
1067
+
1068
+ # Gets information about device pools.
1069
+ # @option params [required, String] :arn
1070
+ # The project ARN.
1071
+ # @option params [String] :type
1072
+ # The device pools' type.
1073
+ #
1074
+ # Allowed values include:
1075
+ #
1076
+ # * CURATED: A device pool that is created and managed by AWS Device
1077
+ # Farm.
1078
+ #
1079
+ # * PRIVATE: A device pool that is created and managed by the device
1080
+ # pool developer.
1081
+ # @option params [String] :next_token
1082
+ # An identifier that was returned from the previous call to this
1083
+ # operation, which can be used to return the next set of items in the
1084
+ # list.
1085
+ # @return [Types::ListDevicePoolsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1086
+ #
1087
+ # * {Types::ListDevicePoolsResult#device_pools #devicePools} => Array&lt;Types::DevicePool&gt;
1088
+ # * {Types::ListDevicePoolsResult#next_token #nextToken} => String
1089
+ #
1090
+ # @example Request syntax with placeholder values
1091
+ # resp = client.list_device_pools({
1092
+ # arn: "AmazonResourceName", # required
1093
+ # type: "CURATED", # accepts CURATED, PRIVATE
1094
+ # next_token: "PaginationToken",
1095
+ # })
1096
+ #
1097
+ # @example Response structure
1098
+ # resp.device_pools #=> Array
1099
+ # resp.device_pools[0].arn #=> String
1100
+ # resp.device_pools[0].name #=> String
1101
+ # resp.device_pools[0].description #=> String
1102
+ # resp.device_pools[0].type #=> String, one of "CURATED", "PRIVATE"
1103
+ # resp.device_pools[0].rules #=> Array
1104
+ # resp.device_pools[0].rules[0].attribute #=> String, one of "ARN", "PLATFORM", "FORM_FACTOR", "MANUFACTURER", "REMOTE_ACCESS_ENABLED"
1105
+ # resp.device_pools[0].rules[0].operator #=> String, one of "EQUALS", "LESS_THAN", "GREATER_THAN", "IN", "NOT_IN"
1106
+ # resp.device_pools[0].rules[0].value #=> String
1107
+ # resp.next_token #=> String
1108
+ # @overload list_device_pools(params = {})
1109
+ # @param [Hash] params ({})
1110
+ def list_device_pools(params = {}, options = {})
1111
+ req = build_request(:list_device_pools, params)
1112
+ req.send_request(options)
1113
+ end
1114
+
1115
+ # Gets information about unique device types.
1116
+ # @option params [String] :arn
1117
+ # The Amazon Resource Name (ARN) of the project.
1118
+ # @option params [String] :next_token
1119
+ # An identifier that was returned from the previous call to this
1120
+ # operation, which can be used to return the next set of items in the
1121
+ # list.
1122
+ # @return [Types::ListDevicesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1123
+ #
1124
+ # * {Types::ListDevicesResult#devices #devices} => Array&lt;Types::Device&gt;
1125
+ # * {Types::ListDevicesResult#next_token #nextToken} => String
1126
+ #
1127
+ # @example Request syntax with placeholder values
1128
+ # resp = client.list_devices({
1129
+ # arn: "AmazonResourceName",
1130
+ # next_token: "PaginationToken",
1131
+ # })
1132
+ #
1133
+ # @example Response structure
1134
+ # resp.devices #=> Array
1135
+ # resp.devices[0].arn #=> String
1136
+ # resp.devices[0].name #=> String
1137
+ # resp.devices[0].manufacturer #=> String
1138
+ # resp.devices[0].model #=> String
1139
+ # resp.devices[0].form_factor #=> String, one of "PHONE", "TABLET"
1140
+ # resp.devices[0].platform #=> String, one of "ANDROID", "IOS"
1141
+ # resp.devices[0].os #=> String
1142
+ # resp.devices[0].cpu.frequency #=> String
1143
+ # resp.devices[0].cpu.architecture #=> String
1144
+ # resp.devices[0].cpu.clock #=> Float
1145
+ # resp.devices[0].resolution.width #=> Integer
1146
+ # resp.devices[0].resolution.height #=> Integer
1147
+ # resp.devices[0].heap_size #=> Integer
1148
+ # resp.devices[0].memory #=> Integer
1149
+ # resp.devices[0].image #=> String
1150
+ # resp.devices[0].carrier #=> String
1151
+ # resp.devices[0].radio #=> String
1152
+ # resp.devices[0].remote_access_enabled #=> Boolean
1153
+ # resp.devices[0].fleet_type #=> String
1154
+ # resp.devices[0].fleet_name #=> String
1155
+ # resp.next_token #=> String
1156
+ # @overload list_devices(params = {})
1157
+ # @param [Hash] params ({})
1158
+ def list_devices(params = {}, options = {})
1159
+ req = build_request(:list_devices, params)
1160
+ req.send_request(options)
1161
+ end
1162
+
1163
+ # Gets information about jobs.
1164
+ # @option params [required, String] :arn
1165
+ # The jobs' ARNs.
1166
+ # @option params [String] :next_token
1167
+ # An identifier that was returned from the previous call to this
1168
+ # operation, which can be used to return the next set of items in the
1169
+ # list.
1170
+ # @return [Types::ListJobsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1171
+ #
1172
+ # * {Types::ListJobsResult#jobs #jobs} => Array&lt;Types::Job&gt;
1173
+ # * {Types::ListJobsResult#next_token #nextToken} => String
1174
+ #
1175
+ # @example Request syntax with placeholder values
1176
+ # resp = client.list_jobs({
1177
+ # arn: "AmazonResourceName", # required
1178
+ # next_token: "PaginationToken",
1179
+ # })
1180
+ #
1181
+ # @example Response structure
1182
+ # resp.jobs #=> Array
1183
+ # resp.jobs[0].arn #=> String
1184
+ # resp.jobs[0].name #=> String
1185
+ # resp.jobs[0].type #=> String, one of "BUILTIN_FUZZ", "BUILTIN_EXPLORER", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", "XCTEST_UI"
1186
+ # resp.jobs[0].created #=> Time
1187
+ # resp.jobs[0].status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
1188
+ # resp.jobs[0].result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
1189
+ # resp.jobs[0].started #=> Time
1190
+ # resp.jobs[0].stopped #=> Time
1191
+ # resp.jobs[0].counters.total #=> Integer
1192
+ # resp.jobs[0].counters.passed #=> Integer
1193
+ # resp.jobs[0].counters.failed #=> Integer
1194
+ # resp.jobs[0].counters.warned #=> Integer
1195
+ # resp.jobs[0].counters.errored #=> Integer
1196
+ # resp.jobs[0].counters.stopped #=> Integer
1197
+ # resp.jobs[0].counters.skipped #=> Integer
1198
+ # resp.jobs[0].message #=> String
1199
+ # resp.jobs[0].device.arn #=> String
1200
+ # resp.jobs[0].device.name #=> String
1201
+ # resp.jobs[0].device.manufacturer #=> String
1202
+ # resp.jobs[0].device.model #=> String
1203
+ # resp.jobs[0].device.form_factor #=> String, one of "PHONE", "TABLET"
1204
+ # resp.jobs[0].device.platform #=> String, one of "ANDROID", "IOS"
1205
+ # resp.jobs[0].device.os #=> String
1206
+ # resp.jobs[0].device.cpu.frequency #=> String
1207
+ # resp.jobs[0].device.cpu.architecture #=> String
1208
+ # resp.jobs[0].device.cpu.clock #=> Float
1209
+ # resp.jobs[0].device.resolution.width #=> Integer
1210
+ # resp.jobs[0].device.resolution.height #=> Integer
1211
+ # resp.jobs[0].device.heap_size #=> Integer
1212
+ # resp.jobs[0].device.memory #=> Integer
1213
+ # resp.jobs[0].device.image #=> String
1214
+ # resp.jobs[0].device.carrier #=> String
1215
+ # resp.jobs[0].device.radio #=> String
1216
+ # resp.jobs[0].device.remote_access_enabled #=> Boolean
1217
+ # resp.jobs[0].device.fleet_type #=> String
1218
+ # resp.jobs[0].device.fleet_name #=> String
1219
+ # resp.jobs[0].device_minutes.total #=> Float
1220
+ # resp.jobs[0].device_minutes.metered #=> Float
1221
+ # resp.jobs[0].device_minutes.unmetered #=> Float
1222
+ # resp.next_token #=> String
1223
+ # @overload list_jobs(params = {})
1224
+ # @param [Hash] params ({})
1225
+ def list_jobs(params = {}, options = {})
1226
+ req = build_request(:list_jobs, params)
1227
+ req.send_request(options)
1228
+ end
1229
+
1230
+ # Returns a list of all historical purchases, renewals, and system
1231
+ # renewal transactions for an AWS account. The list is paginated and
1232
+ # ordered by a descending timestamp (most recent transactions are
1233
+ # first). The API returns a `NotEligible` error if the user is not
1234
+ # permitted to invoke the operation. Please contact
1235
+ # [aws-devicefarm-support@amazon.com](mailto:aws-devicefarm-support@amazon.com)
1236
+ # if you believe that you should be able to invoke this operation.
1237
+ # @option params [String] :next_token
1238
+ # An identifier that was returned from the previous call to this
1239
+ # operation, which can be used to return the next set of items in the
1240
+ # list.
1241
+ # @return [Types::ListOfferingTransactionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1242
+ #
1243
+ # * {Types::ListOfferingTransactionsResult#offering_transactions #offeringTransactions} => Array&lt;Types::OfferingTransaction&gt;
1244
+ # * {Types::ListOfferingTransactionsResult#next_token #nextToken} => String
1245
+ #
1246
+ # @example Request syntax with placeholder values
1247
+ # resp = client.list_offering_transactions({
1248
+ # next_token: "PaginationToken",
1249
+ # })
1250
+ #
1251
+ # @example Response structure
1252
+ # resp.offering_transactions #=> Array
1253
+ # resp.offering_transactions[0].offering_status.type #=> String, one of "PURCHASE", "RENEW", "SYSTEM"
1254
+ # resp.offering_transactions[0].offering_status.offering.id #=> String
1255
+ # resp.offering_transactions[0].offering_status.offering.description #=> String
1256
+ # resp.offering_transactions[0].offering_status.offering.type #=> String, one of "RECURRING"
1257
+ # resp.offering_transactions[0].offering_status.offering.platform #=> String, one of "ANDROID", "IOS"
1258
+ # resp.offering_transactions[0].offering_status.offering.recurring_charges #=> Array
1259
+ # resp.offering_transactions[0].offering_status.offering.recurring_charges[0].cost.amount #=> Float
1260
+ # resp.offering_transactions[0].offering_status.offering.recurring_charges[0].cost.currency_code #=> String, one of "USD"
1261
+ # resp.offering_transactions[0].offering_status.offering.recurring_charges[0].frequency #=> String, one of "MONTHLY"
1262
+ # resp.offering_transactions[0].offering_status.quantity #=> Integer
1263
+ # resp.offering_transactions[0].offering_status.effective_on #=> Time
1264
+ # resp.offering_transactions[0].transaction_id #=> String
1265
+ # resp.offering_transactions[0].created_on #=> Time
1266
+ # resp.offering_transactions[0].cost.amount #=> Float
1267
+ # resp.offering_transactions[0].cost.currency_code #=> String, one of "USD"
1268
+ # resp.next_token #=> String
1269
+ # @overload list_offering_transactions(params = {})
1270
+ # @param [Hash] params ({})
1271
+ def list_offering_transactions(params = {}, options = {})
1272
+ req = build_request(:list_offering_transactions, params)
1273
+ req.send_request(options)
1274
+ end
1275
+
1276
+ # Returns a list of products or offerings that the user can manage
1277
+ # through the API. Each offering record indicates the recurring price
1278
+ # per unit and the frequency for that offering. The API returns a
1279
+ # `NotEligible` error if the user is not permitted to invoke the
1280
+ # operation. Please contact
1281
+ # [aws-devicefarm-support@amazon.com](mailto:aws-devicefarm-support@amazon.com)
1282
+ # if you believe that you should be able to invoke this operation.
1283
+ # @option params [String] :next_token
1284
+ # An identifier that was returned from the previous call to this
1285
+ # operation, which can be used to return the next set of items in the
1286
+ # list.
1287
+ # @return [Types::ListOfferingsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1288
+ #
1289
+ # * {Types::ListOfferingsResult#offerings #offerings} => Array&lt;Types::Offering&gt;
1290
+ # * {Types::ListOfferingsResult#next_token #nextToken} => String
1291
+ #
1292
+ # @example Request syntax with placeholder values
1293
+ # resp = client.list_offerings({
1294
+ # next_token: "PaginationToken",
1295
+ # })
1296
+ #
1297
+ # @example Response structure
1298
+ # resp.offerings #=> Array
1299
+ # resp.offerings[0].id #=> String
1300
+ # resp.offerings[0].description #=> String
1301
+ # resp.offerings[0].type #=> String, one of "RECURRING"
1302
+ # resp.offerings[0].platform #=> String, one of "ANDROID", "IOS"
1303
+ # resp.offerings[0].recurring_charges #=> Array
1304
+ # resp.offerings[0].recurring_charges[0].cost.amount #=> Float
1305
+ # resp.offerings[0].recurring_charges[0].cost.currency_code #=> String, one of "USD"
1306
+ # resp.offerings[0].recurring_charges[0].frequency #=> String, one of "MONTHLY"
1307
+ # resp.next_token #=> String
1308
+ # @overload list_offerings(params = {})
1309
+ # @param [Hash] params ({})
1310
+ def list_offerings(params = {}, options = {})
1311
+ req = build_request(:list_offerings, params)
1312
+ req.send_request(options)
1313
+ end
1314
+
1315
+ # Gets information about projects.
1316
+ # @option params [String] :arn
1317
+ # Optional. If no Amazon Resource Name (ARN) is specified, then AWS
1318
+ # Device Farm returns a list of all projects for the AWS account. You
1319
+ # can also specify a project ARN.
1320
+ # @option params [String] :next_token
1321
+ # An identifier that was returned from the previous call to this
1322
+ # operation, which can be used to return the next set of items in the
1323
+ # list.
1324
+ # @return [Types::ListProjectsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1325
+ #
1326
+ # * {Types::ListProjectsResult#projects #projects} => Array&lt;Types::Project&gt;
1327
+ # * {Types::ListProjectsResult#next_token #nextToken} => String
1328
+ #
1329
+ # @example Request syntax with placeholder values
1330
+ # resp = client.list_projects({
1331
+ # arn: "AmazonResourceName",
1332
+ # next_token: "PaginationToken",
1333
+ # })
1334
+ #
1335
+ # @example Response structure
1336
+ # resp.projects #=> Array
1337
+ # resp.projects[0].arn #=> String
1338
+ # resp.projects[0].name #=> String
1339
+ # resp.projects[0].created #=> Time
1340
+ # resp.next_token #=> String
1341
+ # @overload list_projects(params = {})
1342
+ # @param [Hash] params ({})
1343
+ def list_projects(params = {}, options = {})
1344
+ req = build_request(:list_projects, params)
1345
+ req.send_request(options)
1346
+ end
1347
+
1348
+ # Returns a list of all currently running remote access sessions.
1349
+ # @option params [required, String] :arn
1350
+ # The Amazon Resource Name (ARN) of the remote access session about
1351
+ # which you are requesting information.
1352
+ # @option params [String] :next_token
1353
+ # An identifier that was returned from the previous call to this
1354
+ # operation, which can be used to return the next set of items in the
1355
+ # list.
1356
+ # @return [Types::ListRemoteAccessSessionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1357
+ #
1358
+ # * {Types::ListRemoteAccessSessionsResult#remote_access_sessions #remoteAccessSessions} => Array&lt;Types::RemoteAccessSession&gt;
1359
+ # * {Types::ListRemoteAccessSessionsResult#next_token #nextToken} => String
1360
+ #
1361
+ # @example Request syntax with placeholder values
1362
+ # resp = client.list_remote_access_sessions({
1363
+ # arn: "AmazonResourceName", # required
1364
+ # next_token: "PaginationToken",
1365
+ # })
1366
+ #
1367
+ # @example Response structure
1368
+ # resp.remote_access_sessions #=> Array
1369
+ # resp.remote_access_sessions[0].arn #=> String
1370
+ # resp.remote_access_sessions[0].name #=> String
1371
+ # resp.remote_access_sessions[0].created #=> Time
1372
+ # resp.remote_access_sessions[0].status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
1373
+ # resp.remote_access_sessions[0].result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
1374
+ # resp.remote_access_sessions[0].message #=> String
1375
+ # resp.remote_access_sessions[0].started #=> Time
1376
+ # resp.remote_access_sessions[0].stopped #=> Time
1377
+ # resp.remote_access_sessions[0].device.arn #=> String
1378
+ # resp.remote_access_sessions[0].device.name #=> String
1379
+ # resp.remote_access_sessions[0].device.manufacturer #=> String
1380
+ # resp.remote_access_sessions[0].device.model #=> String
1381
+ # resp.remote_access_sessions[0].device.form_factor #=> String, one of "PHONE", "TABLET"
1382
+ # resp.remote_access_sessions[0].device.platform #=> String, one of "ANDROID", "IOS"
1383
+ # resp.remote_access_sessions[0].device.os #=> String
1384
+ # resp.remote_access_sessions[0].device.cpu.frequency #=> String
1385
+ # resp.remote_access_sessions[0].device.cpu.architecture #=> String
1386
+ # resp.remote_access_sessions[0].device.cpu.clock #=> Float
1387
+ # resp.remote_access_sessions[0].device.resolution.width #=> Integer
1388
+ # resp.remote_access_sessions[0].device.resolution.height #=> Integer
1389
+ # resp.remote_access_sessions[0].device.heap_size #=> Integer
1390
+ # resp.remote_access_sessions[0].device.memory #=> Integer
1391
+ # resp.remote_access_sessions[0].device.image #=> String
1392
+ # resp.remote_access_sessions[0].device.carrier #=> String
1393
+ # resp.remote_access_sessions[0].device.radio #=> String
1394
+ # resp.remote_access_sessions[0].device.remote_access_enabled #=> Boolean
1395
+ # resp.remote_access_sessions[0].device.fleet_type #=> String
1396
+ # resp.remote_access_sessions[0].device.fleet_name #=> String
1397
+ # resp.remote_access_sessions[0].billing_method #=> String, one of "METERED", "UNMETERED"
1398
+ # resp.remote_access_sessions[0].device_minutes.total #=> Float
1399
+ # resp.remote_access_sessions[0].device_minutes.metered #=> Float
1400
+ # resp.remote_access_sessions[0].device_minutes.unmetered #=> Float
1401
+ # resp.remote_access_sessions[0].endpoint #=> String
1402
+ # resp.next_token #=> String
1403
+ # @overload list_remote_access_sessions(params = {})
1404
+ # @param [Hash] params ({})
1405
+ def list_remote_access_sessions(params = {}, options = {})
1406
+ req = build_request(:list_remote_access_sessions, params)
1407
+ req.send_request(options)
1408
+ end
1409
+
1410
+ # Gets information about runs, given an AWS Device Farm project ARN.
1411
+ # @option params [required, String] :arn
1412
+ # The Amazon Resource Name (ARN) of the project for which you want to
1413
+ # list runs.
1414
+ # @option params [String] :next_token
1415
+ # An identifier that was returned from the previous call to this
1416
+ # operation, which can be used to return the next set of items in the
1417
+ # list.
1418
+ # @return [Types::ListRunsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1419
+ #
1420
+ # * {Types::ListRunsResult#runs #runs} => Array&lt;Types::Run&gt;
1421
+ # * {Types::ListRunsResult#next_token #nextToken} => String
1422
+ #
1423
+ # @example Request syntax with placeholder values
1424
+ # resp = client.list_runs({
1425
+ # arn: "AmazonResourceName", # required
1426
+ # next_token: "PaginationToken",
1427
+ # })
1428
+ #
1429
+ # @example Response structure
1430
+ # resp.runs #=> Array
1431
+ # resp.runs[0].arn #=> String
1432
+ # resp.runs[0].name #=> String
1433
+ # resp.runs[0].type #=> String, one of "BUILTIN_FUZZ", "BUILTIN_EXPLORER", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", "XCTEST_UI"
1434
+ # resp.runs[0].platform #=> String, one of "ANDROID", "IOS"
1435
+ # resp.runs[0].created #=> Time
1436
+ # resp.runs[0].status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
1437
+ # resp.runs[0].result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
1438
+ # resp.runs[0].started #=> Time
1439
+ # resp.runs[0].stopped #=> Time
1440
+ # resp.runs[0].counters.total #=> Integer
1441
+ # resp.runs[0].counters.passed #=> Integer
1442
+ # resp.runs[0].counters.failed #=> Integer
1443
+ # resp.runs[0].counters.warned #=> Integer
1444
+ # resp.runs[0].counters.errored #=> Integer
1445
+ # resp.runs[0].counters.stopped #=> Integer
1446
+ # resp.runs[0].counters.skipped #=> Integer
1447
+ # resp.runs[0].message #=> String
1448
+ # resp.runs[0].total_jobs #=> Integer
1449
+ # resp.runs[0].completed_jobs #=> Integer
1450
+ # resp.runs[0].billing_method #=> String, one of "METERED", "UNMETERED"
1451
+ # resp.runs[0].device_minutes.total #=> Float
1452
+ # resp.runs[0].device_minutes.metered #=> Float
1453
+ # resp.runs[0].device_minutes.unmetered #=> Float
1454
+ # resp.next_token #=> String
1455
+ # @overload list_runs(params = {})
1456
+ # @param [Hash] params ({})
1457
+ def list_runs(params = {}, options = {})
1458
+ req = build_request(:list_runs, params)
1459
+ req.send_request(options)
1460
+ end
1461
+
1462
+ # Gets information about samples, given an AWS Device Farm project ARN
1463
+ # @option params [required, String] :arn
1464
+ # The Amazon Resource Name (ARN) of the project for which you want to
1465
+ # list samples.
1466
+ # @option params [String] :next_token
1467
+ # An identifier that was returned from the previous call to this
1468
+ # operation, which can be used to return the next set of items in the
1469
+ # list.
1470
+ # @return [Types::ListSamplesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1471
+ #
1472
+ # * {Types::ListSamplesResult#samples #samples} => Array&lt;Types::Sample&gt;
1473
+ # * {Types::ListSamplesResult#next_token #nextToken} => String
1474
+ #
1475
+ # @example Request syntax with placeholder values
1476
+ # resp = client.list_samples({
1477
+ # arn: "AmazonResourceName", # required
1478
+ # next_token: "PaginationToken",
1479
+ # })
1480
+ #
1481
+ # @example Response structure
1482
+ # resp.samples #=> Array
1483
+ # resp.samples[0].arn #=> String
1484
+ # resp.samples[0].type #=> String, one of "CPU", "MEMORY", "THREADS", "RX_RATE", "TX_RATE", "RX", "TX", "NATIVE_FRAMES", "NATIVE_FPS", "NATIVE_MIN_DRAWTIME", "NATIVE_AVG_DRAWTIME", "NATIVE_MAX_DRAWTIME", "OPENGL_FRAMES", "OPENGL_FPS", "OPENGL_MIN_DRAWTIME", "OPENGL_AVG_DRAWTIME", "OPENGL_MAX_DRAWTIME"
1485
+ # resp.samples[0].url #=> String
1486
+ # resp.next_token #=> String
1487
+ # @overload list_samples(params = {})
1488
+ # @param [Hash] params ({})
1489
+ def list_samples(params = {}, options = {})
1490
+ req = build_request(:list_samples, params)
1491
+ req.send_request(options)
1492
+ end
1493
+
1494
+ # Gets information about suites.
1495
+ # @option params [required, String] :arn
1496
+ # The suites' ARNs.
1497
+ # @option params [String] :next_token
1498
+ # An identifier that was returned from the previous call to this
1499
+ # operation, which can be used to return the next set of items in the
1500
+ # list.
1501
+ # @return [Types::ListSuitesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1502
+ #
1503
+ # * {Types::ListSuitesResult#suites #suites} => Array&lt;Types::Suite&gt;
1504
+ # * {Types::ListSuitesResult#next_token #nextToken} => String
1505
+ #
1506
+ # @example Request syntax with placeholder values
1507
+ # resp = client.list_suites({
1508
+ # arn: "AmazonResourceName", # required
1509
+ # next_token: "PaginationToken",
1510
+ # })
1511
+ #
1512
+ # @example Response structure
1513
+ # resp.suites #=> Array
1514
+ # resp.suites[0].arn #=> String
1515
+ # resp.suites[0].name #=> String
1516
+ # resp.suites[0].type #=> String, one of "BUILTIN_FUZZ", "BUILTIN_EXPLORER", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", "XCTEST_UI"
1517
+ # resp.suites[0].created #=> Time
1518
+ # resp.suites[0].status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
1519
+ # resp.suites[0].result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
1520
+ # resp.suites[0].started #=> Time
1521
+ # resp.suites[0].stopped #=> Time
1522
+ # resp.suites[0].counters.total #=> Integer
1523
+ # resp.suites[0].counters.passed #=> Integer
1524
+ # resp.suites[0].counters.failed #=> Integer
1525
+ # resp.suites[0].counters.warned #=> Integer
1526
+ # resp.suites[0].counters.errored #=> Integer
1527
+ # resp.suites[0].counters.stopped #=> Integer
1528
+ # resp.suites[0].counters.skipped #=> Integer
1529
+ # resp.suites[0].message #=> String
1530
+ # resp.suites[0].device_minutes.total #=> Float
1531
+ # resp.suites[0].device_minutes.metered #=> Float
1532
+ # resp.suites[0].device_minutes.unmetered #=> Float
1533
+ # resp.next_token #=> String
1534
+ # @overload list_suites(params = {})
1535
+ # @param [Hash] params ({})
1536
+ def list_suites(params = {}, options = {})
1537
+ req = build_request(:list_suites, params)
1538
+ req.send_request(options)
1539
+ end
1540
+
1541
+ # Gets information about tests.
1542
+ # @option params [required, String] :arn
1543
+ # The tests' ARNs.
1544
+ # @option params [String] :next_token
1545
+ # An identifier that was returned from the previous call to this
1546
+ # operation, which can be used to return the next set of items in the
1547
+ # list.
1548
+ # @return [Types::ListTestsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1549
+ #
1550
+ # * {Types::ListTestsResult#tests #tests} => Array&lt;Types::Test&gt;
1551
+ # * {Types::ListTestsResult#next_token #nextToken} => String
1552
+ #
1553
+ # @example Request syntax with placeholder values
1554
+ # resp = client.list_tests({
1555
+ # arn: "AmazonResourceName", # required
1556
+ # next_token: "PaginationToken",
1557
+ # })
1558
+ #
1559
+ # @example Response structure
1560
+ # resp.tests #=> Array
1561
+ # resp.tests[0].arn #=> String
1562
+ # resp.tests[0].name #=> String
1563
+ # resp.tests[0].type #=> String, one of "BUILTIN_FUZZ", "BUILTIN_EXPLORER", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", "XCTEST_UI"
1564
+ # resp.tests[0].created #=> Time
1565
+ # resp.tests[0].status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
1566
+ # resp.tests[0].result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
1567
+ # resp.tests[0].started #=> Time
1568
+ # resp.tests[0].stopped #=> Time
1569
+ # resp.tests[0].counters.total #=> Integer
1570
+ # resp.tests[0].counters.passed #=> Integer
1571
+ # resp.tests[0].counters.failed #=> Integer
1572
+ # resp.tests[0].counters.warned #=> Integer
1573
+ # resp.tests[0].counters.errored #=> Integer
1574
+ # resp.tests[0].counters.stopped #=> Integer
1575
+ # resp.tests[0].counters.skipped #=> Integer
1576
+ # resp.tests[0].message #=> String
1577
+ # resp.tests[0].device_minutes.total #=> Float
1578
+ # resp.tests[0].device_minutes.metered #=> Float
1579
+ # resp.tests[0].device_minutes.unmetered #=> Float
1580
+ # resp.next_token #=> String
1581
+ # @overload list_tests(params = {})
1582
+ # @param [Hash] params ({})
1583
+ def list_tests(params = {}, options = {})
1584
+ req = build_request(:list_tests, params)
1585
+ req.send_request(options)
1586
+ end
1587
+
1588
+ # Gets information about unique problems.
1589
+ # @option params [required, String] :arn
1590
+ # The unique problems' ARNs.
1591
+ # @option params [String] :next_token
1592
+ # An identifier that was returned from the previous call to this
1593
+ # operation, which can be used to return the next set of items in the
1594
+ # list.
1595
+ # @return [Types::ListUniqueProblemsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1596
+ #
1597
+ # * {Types::ListUniqueProblemsResult#unique_problems #uniqueProblems} => Hash&lt;String,Array&lt;Types::UniqueProblem&gt;&gt;
1598
+ # * {Types::ListUniqueProblemsResult#next_token #nextToken} => String
1599
+ #
1600
+ # @example Request syntax with placeholder values
1601
+ # resp = client.list_unique_problems({
1602
+ # arn: "AmazonResourceName", # required
1603
+ # next_token: "PaginationToken",
1604
+ # })
1605
+ #
1606
+ # @example Response structure
1607
+ # resp.unique_problems #=> Hash
1608
+ # resp.unique_problems["ExecutionResult"] #=> Array
1609
+ # resp.unique_problems["ExecutionResult"][0].message #=> String
1610
+ # resp.unique_problems["ExecutionResult"][0].problems #=> Array
1611
+ # resp.unique_problems["ExecutionResult"][0].problems[0].run.arn #=> String
1612
+ # resp.unique_problems["ExecutionResult"][0].problems[0].run.name #=> String
1613
+ # resp.unique_problems["ExecutionResult"][0].problems[0].job.arn #=> String
1614
+ # resp.unique_problems["ExecutionResult"][0].problems[0].job.name #=> String
1615
+ # resp.unique_problems["ExecutionResult"][0].problems[0].suite.arn #=> String
1616
+ # resp.unique_problems["ExecutionResult"][0].problems[0].suite.name #=> String
1617
+ # resp.unique_problems["ExecutionResult"][0].problems[0].test.arn #=> String
1618
+ # resp.unique_problems["ExecutionResult"][0].problems[0].test.name #=> String
1619
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.arn #=> String
1620
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.name #=> String
1621
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.manufacturer #=> String
1622
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.model #=> String
1623
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.form_factor #=> String, one of "PHONE", "TABLET"
1624
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.platform #=> String, one of "ANDROID", "IOS"
1625
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.os #=> String
1626
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.cpu.frequency #=> String
1627
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.cpu.architecture #=> String
1628
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.cpu.clock #=> Float
1629
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.resolution.width #=> Integer
1630
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.resolution.height #=> Integer
1631
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.heap_size #=> Integer
1632
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.memory #=> Integer
1633
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.image #=> String
1634
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.carrier #=> String
1635
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.radio #=> String
1636
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.remote_access_enabled #=> Boolean
1637
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.fleet_type #=> String
1638
+ # resp.unique_problems["ExecutionResult"][0].problems[0].device.fleet_name #=> String
1639
+ # resp.unique_problems["ExecutionResult"][0].problems[0].result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
1640
+ # resp.unique_problems["ExecutionResult"][0].problems[0].message #=> String
1641
+ # resp.next_token #=> String
1642
+ # @overload list_unique_problems(params = {})
1643
+ # @param [Hash] params ({})
1644
+ def list_unique_problems(params = {}, options = {})
1645
+ req = build_request(:list_unique_problems, params)
1646
+ req.send_request(options)
1647
+ end
1648
+
1649
+ # Gets information about uploads, given an AWS Device Farm project ARN.
1650
+ # @option params [required, String] :arn
1651
+ # The Amazon Resource Name (ARN) of the project for which you want to
1652
+ # list uploads.
1653
+ # @option params [String] :next_token
1654
+ # An identifier that was returned from the previous call to this
1655
+ # operation, which can be used to return the next set of items in the
1656
+ # list.
1657
+ # @return [Types::ListUploadsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1658
+ #
1659
+ # * {Types::ListUploadsResult#uploads #uploads} => Array&lt;Types::Upload&gt;
1660
+ # * {Types::ListUploadsResult#next_token #nextToken} => String
1661
+ #
1662
+ # @example Request syntax with placeholder values
1663
+ # resp = client.list_uploads({
1664
+ # arn: "AmazonResourceName", # required
1665
+ # next_token: "PaginationToken",
1666
+ # })
1667
+ #
1668
+ # @example Response structure
1669
+ # resp.uploads #=> Array
1670
+ # resp.uploads[0].arn #=> String
1671
+ # resp.uploads[0].name #=> String
1672
+ # resp.uploads[0].created #=> Time
1673
+ # resp.uploads[0].type #=> String, one of "ANDROID_APP", "IOS_APP", "WEB_APP", "EXTERNAL_DATA", "APPIUM_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_PYTHON_TEST_PACKAGE", "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE", "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE", "APPIUM_WEB_PYTHON_TEST_PACKAGE", "CALABASH_TEST_PACKAGE", "INSTRUMENTATION_TEST_PACKAGE", "UIAUTOMATION_TEST_PACKAGE", "UIAUTOMATOR_TEST_PACKAGE", "XCTEST_TEST_PACKAGE", "XCTEST_UI_TEST_PACKAGE"
1674
+ # resp.uploads[0].status #=> String, one of "INITIALIZED", "PROCESSING", "SUCCEEDED", "FAILED"
1675
+ # resp.uploads[0].url #=> String
1676
+ # resp.uploads[0].metadata #=> String
1677
+ # resp.uploads[0].content_type #=> String
1678
+ # resp.uploads[0].message #=> String
1679
+ # resp.next_token #=> String
1680
+ # @overload list_uploads(params = {})
1681
+ # @param [Hash] params ({})
1682
+ def list_uploads(params = {}, options = {})
1683
+ req = build_request(:list_uploads, params)
1684
+ req.send_request(options)
1685
+ end
1686
+
1687
+ # Immediately purchases offerings for an AWS account. Offerings renew
1688
+ # with the latest total purchased quantity for an offering, unless the
1689
+ # renewal was overridden. The API returns a `NotEligible` error if the
1690
+ # user is not permitted to invoke the operation. Please contact
1691
+ # [aws-devicefarm-support@amazon.com](mailto:aws-devicefarm-support@amazon.com)
1692
+ # if you believe that you should be able to invoke this operation.
1693
+ # @option params [String] :offering_id
1694
+ # The ID of the offering.
1695
+ # @option params [Integer] :quantity
1696
+ # The number of device slots you wish to purchase in an offering
1697
+ # request.
1698
+ # @return [Types::PurchaseOfferingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1699
+ #
1700
+ # * {Types::PurchaseOfferingResult#offering_transaction #offeringTransaction} => Types::OfferingTransaction
1701
+ #
1702
+ # @example Request syntax with placeholder values
1703
+ # resp = client.purchase_offering({
1704
+ # offering_id: "OfferingIdentifier",
1705
+ # quantity: 1,
1706
+ # })
1707
+ #
1708
+ # @example Response structure
1709
+ # resp.offering_transaction.offering_status.type #=> String, one of "PURCHASE", "RENEW", "SYSTEM"
1710
+ # resp.offering_transaction.offering_status.offering.id #=> String
1711
+ # resp.offering_transaction.offering_status.offering.description #=> String
1712
+ # resp.offering_transaction.offering_status.offering.type #=> String, one of "RECURRING"
1713
+ # resp.offering_transaction.offering_status.offering.platform #=> String, one of "ANDROID", "IOS"
1714
+ # resp.offering_transaction.offering_status.offering.recurring_charges #=> Array
1715
+ # resp.offering_transaction.offering_status.offering.recurring_charges[0].cost.amount #=> Float
1716
+ # resp.offering_transaction.offering_status.offering.recurring_charges[0].cost.currency_code #=> String, one of "USD"
1717
+ # resp.offering_transaction.offering_status.offering.recurring_charges[0].frequency #=> String, one of "MONTHLY"
1718
+ # resp.offering_transaction.offering_status.quantity #=> Integer
1719
+ # resp.offering_transaction.offering_status.effective_on #=> Time
1720
+ # resp.offering_transaction.transaction_id #=> String
1721
+ # resp.offering_transaction.created_on #=> Time
1722
+ # resp.offering_transaction.cost.amount #=> Float
1723
+ # resp.offering_transaction.cost.currency_code #=> String, one of "USD"
1724
+ # @overload purchase_offering(params = {})
1725
+ # @param [Hash] params ({})
1726
+ def purchase_offering(params = {}, options = {})
1727
+ req = build_request(:purchase_offering, params)
1728
+ req.send_request(options)
1729
+ end
1730
+
1731
+ # Explicitly sets the quantity of devices to renew for an offering,
1732
+ # starting from the `effectiveDate` of the next period. The API returns
1733
+ # a `NotEligible` error if the user is not permitted to invoke the
1734
+ # operation. Please contact
1735
+ # [aws-devicefarm-support@amazon.com](mailto:aws-devicefarm-support@amazon.com)
1736
+ # if you believe that you should be able to invoke this operation.
1737
+ # @option params [String] :offering_id
1738
+ # The ID of a request to renew an offering.
1739
+ # @option params [Integer] :quantity
1740
+ # The quantity requested in an offering renewal.
1741
+ # @return [Types::RenewOfferingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1742
+ #
1743
+ # * {Types::RenewOfferingResult#offering_transaction #offeringTransaction} => Types::OfferingTransaction
1744
+ #
1745
+ # @example Request syntax with placeholder values
1746
+ # resp = client.renew_offering({
1747
+ # offering_id: "OfferingIdentifier",
1748
+ # quantity: 1,
1749
+ # })
1750
+ #
1751
+ # @example Response structure
1752
+ # resp.offering_transaction.offering_status.type #=> String, one of "PURCHASE", "RENEW", "SYSTEM"
1753
+ # resp.offering_transaction.offering_status.offering.id #=> String
1754
+ # resp.offering_transaction.offering_status.offering.description #=> String
1755
+ # resp.offering_transaction.offering_status.offering.type #=> String, one of "RECURRING"
1756
+ # resp.offering_transaction.offering_status.offering.platform #=> String, one of "ANDROID", "IOS"
1757
+ # resp.offering_transaction.offering_status.offering.recurring_charges #=> Array
1758
+ # resp.offering_transaction.offering_status.offering.recurring_charges[0].cost.amount #=> Float
1759
+ # resp.offering_transaction.offering_status.offering.recurring_charges[0].cost.currency_code #=> String, one of "USD"
1760
+ # resp.offering_transaction.offering_status.offering.recurring_charges[0].frequency #=> String, one of "MONTHLY"
1761
+ # resp.offering_transaction.offering_status.quantity #=> Integer
1762
+ # resp.offering_transaction.offering_status.effective_on #=> Time
1763
+ # resp.offering_transaction.transaction_id #=> String
1764
+ # resp.offering_transaction.created_on #=> Time
1765
+ # resp.offering_transaction.cost.amount #=> Float
1766
+ # resp.offering_transaction.cost.currency_code #=> String, one of "USD"
1767
+ # @overload renew_offering(params = {})
1768
+ # @param [Hash] params ({})
1769
+ def renew_offering(params = {}, options = {})
1770
+ req = build_request(:renew_offering, params)
1771
+ req.send_request(options)
1772
+ end
1773
+
1774
+ # Schedules a run.
1775
+ # @option params [required, String] :project_arn
1776
+ # The ARN of the project for the run to be scheduled.
1777
+ # @option params [String] :app_arn
1778
+ # The ARN of the app to schedule a run.
1779
+ # @option params [required, String] :device_pool_arn
1780
+ # The ARN of the device pool for the run to be scheduled.
1781
+ # @option params [String] :name
1782
+ # The name for the run to be scheduled.
1783
+ # @option params [required, Types::ScheduleRunTest] :test
1784
+ # Information about the test for the run to be scheduled.
1785
+ # @option params [Types::ScheduleRunConfiguration] :configuration
1786
+ # Information about the settings for the run to be scheduled.
1787
+ # @return [Types::ScheduleRunResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1788
+ #
1789
+ # * {Types::ScheduleRunResult#run #run} => Types::Run
1790
+ #
1791
+ # @example Request syntax with placeholder values
1792
+ # resp = client.schedule_run({
1793
+ # project_arn: "AmazonResourceName", # required
1794
+ # app_arn: "AmazonResourceName",
1795
+ # device_pool_arn: "AmazonResourceName", # required
1796
+ # name: "Name",
1797
+ # test: { # required
1798
+ # type: "BUILTIN_FUZZ", # required, accepts BUILTIN_FUZZ, BUILTIN_EXPLORER, APPIUM_JAVA_JUNIT, APPIUM_JAVA_TESTNG, APPIUM_PYTHON, APPIUM_WEB_JAVA_JUNIT, APPIUM_WEB_JAVA_TESTNG, APPIUM_WEB_PYTHON, CALABASH, INSTRUMENTATION, UIAUTOMATION, UIAUTOMATOR, XCTEST, XCTEST_UI
1799
+ # test_package_arn: "AmazonResourceName",
1800
+ # filter: "Filter",
1801
+ # parameters: {
1802
+ # "String" => "String",
1803
+ # },
1804
+ # },
1805
+ # configuration: {
1806
+ # extra_data_package_arn: "AmazonResourceName",
1807
+ # network_profile_arn: "AmazonResourceName",
1808
+ # locale: "String",
1809
+ # location: {
1810
+ # latitude: 1.0, # required
1811
+ # longitude: 1.0, # required
1812
+ # },
1813
+ # radios: {
1814
+ # wifi: false,
1815
+ # bluetooth: false,
1816
+ # nfc: false,
1817
+ # gps: false,
1818
+ # },
1819
+ # auxiliary_apps: ["AmazonResourceName"],
1820
+ # billing_method: "METERED", # accepts METERED, UNMETERED
1821
+ # },
1822
+ # })
1823
+ #
1824
+ # @example Response structure
1825
+ # resp.run.arn #=> String
1826
+ # resp.run.name #=> String
1827
+ # resp.run.type #=> String, one of "BUILTIN_FUZZ", "BUILTIN_EXPLORER", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", "XCTEST_UI"
1828
+ # resp.run.platform #=> String, one of "ANDROID", "IOS"
1829
+ # resp.run.created #=> Time
1830
+ # resp.run.status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
1831
+ # resp.run.result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
1832
+ # resp.run.started #=> Time
1833
+ # resp.run.stopped #=> Time
1834
+ # resp.run.counters.total #=> Integer
1835
+ # resp.run.counters.passed #=> Integer
1836
+ # resp.run.counters.failed #=> Integer
1837
+ # resp.run.counters.warned #=> Integer
1838
+ # resp.run.counters.errored #=> Integer
1839
+ # resp.run.counters.stopped #=> Integer
1840
+ # resp.run.counters.skipped #=> Integer
1841
+ # resp.run.message #=> String
1842
+ # resp.run.total_jobs #=> Integer
1843
+ # resp.run.completed_jobs #=> Integer
1844
+ # resp.run.billing_method #=> String, one of "METERED", "UNMETERED"
1845
+ # resp.run.device_minutes.total #=> Float
1846
+ # resp.run.device_minutes.metered #=> Float
1847
+ # resp.run.device_minutes.unmetered #=> Float
1848
+ # @overload schedule_run(params = {})
1849
+ # @param [Hash] params ({})
1850
+ def schedule_run(params = {}, options = {})
1851
+ req = build_request(:schedule_run, params)
1852
+ req.send_request(options)
1853
+ end
1854
+
1855
+ # Ends a specified remote access session.
1856
+ # @option params [required, String] :arn
1857
+ # The Amazon Resource Name (ARN) of the remote access session you wish
1858
+ # to stop.
1859
+ # @return [Types::StopRemoteAccessSessionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1860
+ #
1861
+ # * {Types::StopRemoteAccessSessionResult#remote_access_session #remoteAccessSession} => Types::RemoteAccessSession
1862
+ #
1863
+ # @example Request syntax with placeholder values
1864
+ # resp = client.stop_remote_access_session({
1865
+ # arn: "AmazonResourceName", # required
1866
+ # })
1867
+ #
1868
+ # @example Response structure
1869
+ # resp.remote_access_session.arn #=> String
1870
+ # resp.remote_access_session.name #=> String
1871
+ # resp.remote_access_session.created #=> Time
1872
+ # resp.remote_access_session.status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
1873
+ # resp.remote_access_session.result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
1874
+ # resp.remote_access_session.message #=> String
1875
+ # resp.remote_access_session.started #=> Time
1876
+ # resp.remote_access_session.stopped #=> Time
1877
+ # resp.remote_access_session.device.arn #=> String
1878
+ # resp.remote_access_session.device.name #=> String
1879
+ # resp.remote_access_session.device.manufacturer #=> String
1880
+ # resp.remote_access_session.device.model #=> String
1881
+ # resp.remote_access_session.device.form_factor #=> String, one of "PHONE", "TABLET"
1882
+ # resp.remote_access_session.device.platform #=> String, one of "ANDROID", "IOS"
1883
+ # resp.remote_access_session.device.os #=> String
1884
+ # resp.remote_access_session.device.cpu.frequency #=> String
1885
+ # resp.remote_access_session.device.cpu.architecture #=> String
1886
+ # resp.remote_access_session.device.cpu.clock #=> Float
1887
+ # resp.remote_access_session.device.resolution.width #=> Integer
1888
+ # resp.remote_access_session.device.resolution.height #=> Integer
1889
+ # resp.remote_access_session.device.heap_size #=> Integer
1890
+ # resp.remote_access_session.device.memory #=> Integer
1891
+ # resp.remote_access_session.device.image #=> String
1892
+ # resp.remote_access_session.device.carrier #=> String
1893
+ # resp.remote_access_session.device.radio #=> String
1894
+ # resp.remote_access_session.device.remote_access_enabled #=> Boolean
1895
+ # resp.remote_access_session.device.fleet_type #=> String
1896
+ # resp.remote_access_session.device.fleet_name #=> String
1897
+ # resp.remote_access_session.billing_method #=> String, one of "METERED", "UNMETERED"
1898
+ # resp.remote_access_session.device_minutes.total #=> Float
1899
+ # resp.remote_access_session.device_minutes.metered #=> Float
1900
+ # resp.remote_access_session.device_minutes.unmetered #=> Float
1901
+ # resp.remote_access_session.endpoint #=> String
1902
+ # @overload stop_remote_access_session(params = {})
1903
+ # @param [Hash] params ({})
1904
+ def stop_remote_access_session(params = {}, options = {})
1905
+ req = build_request(:stop_remote_access_session, params)
1906
+ req.send_request(options)
1907
+ end
1908
+
1909
+ # Initiates a stop request for the current test run. AWS Device Farm
1910
+ # will immediately stop the run on devices where tests have not started
1911
+ # executing, and you will not be billed for these devices. On devices
1912
+ # where tests have started executing, Setup Suite and Teardown Suite
1913
+ # tests will run to completion before stopping execution on those
1914
+ # devices. You will be billed for Setup, Teardown, and any tests that
1915
+ # were in progress or already completed.
1916
+ # @option params [required, String] :arn
1917
+ # Represents the Amazon Resource Name (ARN) of the Device Farm run you
1918
+ # wish to stop.
1919
+ # @return [Types::StopRunResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1920
+ #
1921
+ # * {Types::StopRunResult#run #run} => Types::Run
1922
+ #
1923
+ # @example Request syntax with placeholder values
1924
+ # resp = client.stop_run({
1925
+ # arn: "AmazonResourceName", # required
1926
+ # })
1927
+ #
1928
+ # @example Response structure
1929
+ # resp.run.arn #=> String
1930
+ # resp.run.name #=> String
1931
+ # resp.run.type #=> String, one of "BUILTIN_FUZZ", "BUILTIN_EXPLORER", "APPIUM_JAVA_JUNIT", "APPIUM_JAVA_TESTNG", "APPIUM_PYTHON", "APPIUM_WEB_JAVA_JUNIT", "APPIUM_WEB_JAVA_TESTNG", "APPIUM_WEB_PYTHON", "CALABASH", "INSTRUMENTATION", "UIAUTOMATION", "UIAUTOMATOR", "XCTEST", "XCTEST_UI"
1932
+ # resp.run.platform #=> String, one of "ANDROID", "IOS"
1933
+ # resp.run.created #=> Time
1934
+ # resp.run.status #=> String, one of "PENDING", "PENDING_CONCURRENCY", "PENDING_DEVICE", "PROCESSING", "SCHEDULING", "PREPARING", "RUNNING", "COMPLETED", "STOPPING"
1935
+ # resp.run.result #=> String, one of "PENDING", "PASSED", "WARNED", "FAILED", "SKIPPED", "ERRORED", "STOPPED"
1936
+ # resp.run.started #=> Time
1937
+ # resp.run.stopped #=> Time
1938
+ # resp.run.counters.total #=> Integer
1939
+ # resp.run.counters.passed #=> Integer
1940
+ # resp.run.counters.failed #=> Integer
1941
+ # resp.run.counters.warned #=> Integer
1942
+ # resp.run.counters.errored #=> Integer
1943
+ # resp.run.counters.stopped #=> Integer
1944
+ # resp.run.counters.skipped #=> Integer
1945
+ # resp.run.message #=> String
1946
+ # resp.run.total_jobs #=> Integer
1947
+ # resp.run.completed_jobs #=> Integer
1948
+ # resp.run.billing_method #=> String, one of "METERED", "UNMETERED"
1949
+ # resp.run.device_minutes.total #=> Float
1950
+ # resp.run.device_minutes.metered #=> Float
1951
+ # resp.run.device_minutes.unmetered #=> Float
1952
+ # @overload stop_run(params = {})
1953
+ # @param [Hash] params ({})
1954
+ def stop_run(params = {}, options = {})
1955
+ req = build_request(:stop_run, params)
1956
+ req.send_request(options)
1957
+ end
1958
+
1959
+ # Modifies the name, description, and rules in a device pool given the
1960
+ # attributes and the pool ARN. Rule updates are all-or-nothing, meaning
1961
+ # they can only be updated as a whole (or not at all).
1962
+ # @option params [required, String] :arn
1963
+ # The Amazon Resourc Name (ARN) of the Device Farm device pool you wish
1964
+ # to update.
1965
+ # @option params [String] :name
1966
+ # A string representing the name of the device pool you wish to update.
1967
+ # @option params [String] :description
1968
+ # A description of the device pool you wish to update.
1969
+ # @option params [Array<Types::Rule>] :rules
1970
+ # Represents the rules you wish to modify for the device pool. Updating
1971
+ # rules is optional; however, if you choose to update rules for your
1972
+ # request, the update will replace the existing rules.
1973
+ # @return [Types::UpdateDevicePoolResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1974
+ #
1975
+ # * {Types::UpdateDevicePoolResult#device_pool #devicePool} => Types::DevicePool
1976
+ #
1977
+ # @example Request syntax with placeholder values
1978
+ # resp = client.update_device_pool({
1979
+ # arn: "AmazonResourceName", # required
1980
+ # name: "Name",
1981
+ # description: "Message",
1982
+ # rules: [
1983
+ # {
1984
+ # attribute: "ARN", # accepts ARN, PLATFORM, FORM_FACTOR, MANUFACTURER, REMOTE_ACCESS_ENABLED
1985
+ # operator: "EQUALS", # accepts EQUALS, LESS_THAN, GREATER_THAN, IN, NOT_IN
1986
+ # value: "String",
1987
+ # },
1988
+ # ],
1989
+ # })
1990
+ #
1991
+ # @example Response structure
1992
+ # resp.device_pool.arn #=> String
1993
+ # resp.device_pool.name #=> String
1994
+ # resp.device_pool.description #=> String
1995
+ # resp.device_pool.type #=> String, one of "CURATED", "PRIVATE"
1996
+ # resp.device_pool.rules #=> Array
1997
+ # resp.device_pool.rules[0].attribute #=> String, one of "ARN", "PLATFORM", "FORM_FACTOR", "MANUFACTURER", "REMOTE_ACCESS_ENABLED"
1998
+ # resp.device_pool.rules[0].operator #=> String, one of "EQUALS", "LESS_THAN", "GREATER_THAN", "IN", "NOT_IN"
1999
+ # resp.device_pool.rules[0].value #=> String
2000
+ # @overload update_device_pool(params = {})
2001
+ # @param [Hash] params ({})
2002
+ def update_device_pool(params = {}, options = {})
2003
+ req = build_request(:update_device_pool, params)
2004
+ req.send_request(options)
2005
+ end
2006
+
2007
+ # Modifies the specified project name, given the project ARN and a new
2008
+ # name.
2009
+ # @option params [required, String] :arn
2010
+ # The Amazon Resource Name (ARN) of the project whose name you wish to
2011
+ # update.
2012
+ # @option params [String] :name
2013
+ # A string representing the new name of the project that you are
2014
+ # updating.
2015
+ # @return [Types::UpdateProjectResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2016
+ #
2017
+ # * {Types::UpdateProjectResult#project #project} => Types::Project
2018
+ #
2019
+ # @example Request syntax with placeholder values
2020
+ # resp = client.update_project({
2021
+ # arn: "AmazonResourceName", # required
2022
+ # name: "Name",
2023
+ # })
2024
+ #
2025
+ # @example Response structure
2026
+ # resp.project.arn #=> String
2027
+ # resp.project.name #=> String
2028
+ # resp.project.created #=> Time
2029
+ # @overload update_project(params = {})
2030
+ # @param [Hash] params ({})
2031
+ def update_project(params = {}, options = {})
2032
+ req = build_request(:update_project, params)
2033
+ req.send_request(options)
2034
+ end
2035
+
2036
+ # @!endgroup
2037
+
2038
+ # @param params ({})
2039
+ # @api private
2040
+ def build_request(operation_name, params = {})
2041
+ handlers = @handlers.for(operation_name)
2042
+ context = Seahorse::Client::RequestContext.new(
2043
+ operation_name: operation_name,
2044
+ operation: config.api.operation(operation_name),
2045
+ client: self,
2046
+ params: params,
2047
+ config: config)
2048
+ context[:gem_name] = 'aws-sdk-devicefarm'
2049
+ context[:gem_version] = '1.0.0.rc1'
2050
+ Seahorse::Client::Request.new(handlers, context)
2051
+ end
2052
+
2053
+ # @api private
2054
+ # @deprecated
2055
+ def waiter_names
2056
+ []
2057
+ end
2058
+
2059
+ class << self
2060
+
2061
+ # @api private
2062
+ attr_reader :identifier
2063
+
2064
+ # @api private
2065
+ def errors_module
2066
+ Errors
2067
+ end
2068
+
2069
+ end
2070
+ end
2071
+ end
2072
+ end