aws-sdk-devicefarm 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
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
+
@@ -0,0 +1,23 @@
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
+ module Aws
9
+ module DeviceFarm
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
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
+ module Aws
9
+ module DeviceFarm
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,3259 @@
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
+ module Aws
9
+ module DeviceFarm
10
+ module Types
11
+
12
+ # A container for account-level settings within AWS Device Farm.
13
+ # @!attribute [rw] aws_account_number
14
+ # The AWS account number specified in the `AccountSettings` container.
15
+ # @return [String]
16
+ #
17
+ # @!attribute [rw] unmetered_devices
18
+ # Returns the unmetered devices you have purchased or want to
19
+ # purchase.
20
+ # @return [Hash<String,Integer>]
21
+ #
22
+ # @!attribute [rw] unmetered_remote_access_devices
23
+ # Returns the unmetered remote access devices you have purchased or
24
+ # want to purchase.
25
+ # @return [Hash<String,Integer>]
26
+ class AccountSettings < Struct.new(
27
+ :aws_account_number,
28
+ :unmetered_devices,
29
+ :unmetered_remote_access_devices)
30
+ include Aws::Structure
31
+ end
32
+
33
+ # Represents the output of a test. Examples of artifacts include logs
34
+ # and screenshots.
35
+ # @!attribute [rw] arn
36
+ # The artifact's ARN.
37
+ # @return [String]
38
+ #
39
+ # @!attribute [rw] name
40
+ # The artifact's name.
41
+ # @return [String]
42
+ #
43
+ # @!attribute [rw] type
44
+ # The artifact's type.
45
+ #
46
+ # Allowed values include the following:
47
+ #
48
+ # * UNKNOWN: An unknown type.
49
+ #
50
+ # * SCREENSHOT: The screenshot type.
51
+ #
52
+ # * DEVICE\_LOG: The device log type.
53
+ #
54
+ # * MESSAGE\_LOG: The message log type.
55
+ #
56
+ # * RESULT\_LOG: The result log type.
57
+ #
58
+ # * SERVICE\_LOG: The service log type.
59
+ #
60
+ # * WEBKIT\_LOG: The web kit log type.
61
+ #
62
+ # * INSTRUMENTATION\_OUTPUT: The instrumentation type.
63
+ #
64
+ # * EXERCISER\_MONKEY\_OUTPUT: For Android, the artifact (log)
65
+ # generated by an Android fuzz test.
66
+ #
67
+ # * CALABASH\_JSON\_OUTPUT: The Calabash JSON output type.
68
+ #
69
+ # * CALABASH\_PRETTY\_OUTPUT: The Calabash pretty output type.
70
+ #
71
+ # * CALABASH\_STANDARD\_OUTPUT: The Calabash standard output type.
72
+ #
73
+ # * CALABASH\_JAVA\_XML\_OUTPUT: The Calabash Java XML output type.
74
+ #
75
+ # * AUTOMATION\_OUTPUT: The automation output type.
76
+ #
77
+ # * APPIUM\_SERVER\_OUTPUT: The Appium server output type.
78
+ #
79
+ # * APPIUM\_JAVA\_OUTPUT: The Appium Java output type.
80
+ #
81
+ # * APPIUM\_JAVA\_XML\_OUTPUT: The Appium Java XML output type.
82
+ #
83
+ # * APPIUM\_PYTHON\_OUTPUT: The Appium Python output type.
84
+ #
85
+ # * APPIUM\_PYTHON\_XML\_OUTPUT: The Appium Python XML output type.
86
+ #
87
+ # * EXPLORER\_EVENT\_LOG: The Explorer event log output type.
88
+ #
89
+ # * EXPLORER\_SUMMARY\_LOG: The Explorer summary log output type.
90
+ #
91
+ # * APPLICATION\_CRASH\_REPORT: The application crash report output
92
+ # type.
93
+ #
94
+ # * XCTEST\_LOG: The XCode test output type.
95
+ # @return [String]
96
+ #
97
+ # @!attribute [rw] extension
98
+ # The artifact's file extension.
99
+ # @return [String]
100
+ #
101
+ # @!attribute [rw] url
102
+ # The pre-signed Amazon S3 URL that can be used with a corresponding
103
+ # GET request to download the artifact's file.
104
+ # @return [String]
105
+ class Artifact < Struct.new(
106
+ :arn,
107
+ :name,
108
+ :type,
109
+ :extension,
110
+ :url)
111
+ include Aws::Structure
112
+ end
113
+
114
+ # Represents the amount of CPU that an app is using on a physical
115
+ # device.
116
+ #
117
+ # Note that this does not represent system-wide CPU usage.
118
+ # @!attribute [rw] frequency
119
+ # The CPU's frequency.
120
+ # @return [String]
121
+ #
122
+ # @!attribute [rw] architecture
123
+ # The CPU's architecture, for example x86 or ARM.
124
+ # @return [String]
125
+ #
126
+ # @!attribute [rw] clock
127
+ # The clock speed of the device's CPU, expressed in hertz (Hz). For
128
+ # example, a 1.2 GHz CPU is expressed as 1200000000.
129
+ # @return [Float]
130
+ class CPU < Struct.new(
131
+ :frequency,
132
+ :architecture,
133
+ :clock)
134
+ include Aws::Structure
135
+ end
136
+
137
+ # Represents entity counters.
138
+ # @!attribute [rw] total
139
+ # The total number of entities.
140
+ # @return [Integer]
141
+ #
142
+ # @!attribute [rw] passed
143
+ # The number of passed entities.
144
+ # @return [Integer]
145
+ #
146
+ # @!attribute [rw] failed
147
+ # The number of failed entities.
148
+ # @return [Integer]
149
+ #
150
+ # @!attribute [rw] warned
151
+ # The number of warned entities.
152
+ # @return [Integer]
153
+ #
154
+ # @!attribute [rw] errored
155
+ # The number of errored entities.
156
+ # @return [Integer]
157
+ #
158
+ # @!attribute [rw] stopped
159
+ # The number of stopped entities.
160
+ # @return [Integer]
161
+ #
162
+ # @!attribute [rw] skipped
163
+ # The number of skipped entities.
164
+ # @return [Integer]
165
+ class Counters < Struct.new(
166
+ :total,
167
+ :passed,
168
+ :failed,
169
+ :warned,
170
+ :errored,
171
+ :stopped,
172
+ :skipped)
173
+ include Aws::Structure
174
+ end
175
+
176
+ # Represents a request to the create device pool operation.
177
+ # @note When making an API call, pass CreateDevicePoolRequest
178
+ # data as a hash:
179
+ #
180
+ # {
181
+ # project_arn: "AmazonResourceName", # required
182
+ # name: "Name", # required
183
+ # description: "Message",
184
+ # rules: [ # required
185
+ # {
186
+ # attribute: "ARN", # accepts ARN, PLATFORM, FORM_FACTOR, MANUFACTURER, REMOTE_ACCESS_ENABLED
187
+ # operator: "EQUALS", # accepts EQUALS, LESS_THAN, GREATER_THAN, IN, NOT_IN
188
+ # value: "String",
189
+ # },
190
+ # ],
191
+ # }
192
+ # @!attribute [rw] project_arn
193
+ # The ARN of the project for the device pool.
194
+ # @return [String]
195
+ #
196
+ # @!attribute [rw] name
197
+ # The device pool's name.
198
+ # @return [String]
199
+ #
200
+ # @!attribute [rw] description
201
+ # The device pool's description.
202
+ # @return [String]
203
+ #
204
+ # @!attribute [rw] rules
205
+ # The device pool's rules.
206
+ # @return [Array<Types::Rule>]
207
+ class CreateDevicePoolRequest < Struct.new(
208
+ :project_arn,
209
+ :name,
210
+ :description,
211
+ :rules)
212
+ include Aws::Structure
213
+ end
214
+
215
+ # Represents the result of a create device pool request.
216
+ # @!attribute [rw] device_pool
217
+ # The newly created device pool.
218
+ # @return [Types::DevicePool]
219
+ class CreateDevicePoolResult < Struct.new(
220
+ :device_pool)
221
+ include Aws::Structure
222
+ end
223
+
224
+ # Represents a request to the create project operation.
225
+ # @note When making an API call, pass CreateProjectRequest
226
+ # data as a hash:
227
+ #
228
+ # {
229
+ # name: "Name", # required
230
+ # }
231
+ # @!attribute [rw] name
232
+ # The project's name.
233
+ # @return [String]
234
+ class CreateProjectRequest < Struct.new(
235
+ :name)
236
+ include Aws::Structure
237
+ end
238
+
239
+ # Represents the result of a create project request.
240
+ # @!attribute [rw] project
241
+ # The newly created project.
242
+ # @return [Types::Project]
243
+ class CreateProjectResult < Struct.new(
244
+ :project)
245
+ include Aws::Structure
246
+ end
247
+
248
+ # Creates the configuration settings for a remote access session,
249
+ # including the device model and type.
250
+ # @note When making an API call, pass CreateRemoteAccessSessionConfiguration
251
+ # data as a hash:
252
+ #
253
+ # {
254
+ # billing_method: "METERED", # accepts METERED, UNMETERED
255
+ # }
256
+ # @!attribute [rw] billing_method
257
+ # Returns the billing method for purposes of configuring a remote
258
+ # access session.
259
+ # @return [String]
260
+ class CreateRemoteAccessSessionConfiguration < Struct.new(
261
+ :billing_method)
262
+ include Aws::Structure
263
+ end
264
+
265
+ # Creates and submits a request to start a remote access session.
266
+ # @note When making an API call, pass CreateRemoteAccessSessionRequest
267
+ # data as a hash:
268
+ #
269
+ # {
270
+ # project_arn: "AmazonResourceName", # required
271
+ # device_arn: "AmazonResourceName", # required
272
+ # name: "Name",
273
+ # configuration: {
274
+ # billing_method: "METERED", # accepts METERED, UNMETERED
275
+ # },
276
+ # }
277
+ # @!attribute [rw] project_arn
278
+ # The Amazon Resource Name (ARN) of the project for which you want to
279
+ # create a remote access session.
280
+ # @return [String]
281
+ #
282
+ # @!attribute [rw] device_arn
283
+ # The Amazon Resource Name (ARN) of the device for which you want to
284
+ # create a remote access session.
285
+ # @return [String]
286
+ #
287
+ # @!attribute [rw] name
288
+ # The name of the remote access session that you wish to create.
289
+ # @return [String]
290
+ #
291
+ # @!attribute [rw] configuration
292
+ # The configuration information for the remote access session request.
293
+ # @return [Types::CreateRemoteAccessSessionConfiguration]
294
+ class CreateRemoteAccessSessionRequest < Struct.new(
295
+ :project_arn,
296
+ :device_arn,
297
+ :name,
298
+ :configuration)
299
+ include Aws::Structure
300
+ end
301
+
302
+ # Represents the server response from a request to create a remote
303
+ # access session.
304
+ # @!attribute [rw] remote_access_session
305
+ # A container that describes the remote access session when the
306
+ # request to create a remote access session is sent.
307
+ # @return [Types::RemoteAccessSession]
308
+ class CreateRemoteAccessSessionResult < Struct.new(
309
+ :remote_access_session)
310
+ include Aws::Structure
311
+ end
312
+
313
+ # Represents a request to the create upload operation.
314
+ # @note When making an API call, pass CreateUploadRequest
315
+ # data as a hash:
316
+ #
317
+ # {
318
+ # project_arn: "AmazonResourceName", # required
319
+ # name: "Name", # required
320
+ # 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
321
+ # content_type: "ContentType",
322
+ # }
323
+ # @!attribute [rw] project_arn
324
+ # The ARN of the project for the upload.
325
+ # @return [String]
326
+ #
327
+ # @!attribute [rw] name
328
+ # The upload's file name. The name should not contain the '/'
329
+ # character. If uploading an iOS app, the file name needs to end with
330
+ # the `.ipa` extension. If uploading an Android app, the file name
331
+ # needs to end with the `.apk` extension. For all others, the file
332
+ # name must end with the `.zip` file extension.
333
+ # @return [String]
334
+ #
335
+ # @!attribute [rw] type
336
+ # The upload's upload type.
337
+ #
338
+ # Must be one of the following values:
339
+ #
340
+ # * ANDROID\_APP: An Android upload.
341
+ #
342
+ # * IOS\_APP: An iOS upload.
343
+ #
344
+ # * WEB\_APP: A web appliction upload.
345
+ #
346
+ # * EXTERNAL\_DATA: An external data upload.
347
+ #
348
+ # * APPIUM\_JAVA\_JUNIT\_TEST\_PACKAGE: An Appium Java JUnit test
349
+ # package upload.
350
+ #
351
+ # * APPIUM\_JAVA\_TESTNG\_TEST\_PACKAGE: An Appium Java TestNG test
352
+ # package upload.
353
+ #
354
+ # * APPIUM\_PYTHON\_TEST\_PACKAGE: An Appium Python test package
355
+ # upload.
356
+ #
357
+ # * APPIUM\_WEB\_JAVA\_JUNIT\_TEST\_PACKAGE: An Appium Java JUnit test
358
+ # package upload.
359
+ #
360
+ # * APPIUM\_WEB\_JAVA\_TESTNG\_TEST\_PACKAGE: An Appium Java TestNG
361
+ # test package upload.
362
+ #
363
+ # * APPIUM\_WEB\_PYTHON\_TEST\_PACKAGE: An Appium Python test package
364
+ # upload.
365
+ #
366
+ # * CALABASH\_TEST\_PACKAGE: A Calabash test package upload.
367
+ #
368
+ # * INSTRUMENTATION\_TEST\_PACKAGE: An instrumentation upload.
369
+ #
370
+ # * UIAUTOMATION\_TEST\_PACKAGE: A uiautomation test package upload.
371
+ #
372
+ # * UIAUTOMATOR\_TEST\_PACKAGE: A uiautomator test package upload.
373
+ #
374
+ # * XCTEST\_TEST\_PACKAGE: An XCode test package upload.
375
+ #
376
+ # * XCTEST\_UI\_TEST\_PACKAGE: An XCode UI test package upload.
377
+ #
378
+ # **Note** If you call `CreateUpload` with `WEB_APP` specified, AWS
379
+ # Device Farm throws an `ArgumentException` error.
380
+ # @return [String]
381
+ #
382
+ # @!attribute [rw] content_type
383
+ # The upload's content type (for example,
384
+ # "application/octet-stream").
385
+ # @return [String]
386
+ class CreateUploadRequest < Struct.new(
387
+ :project_arn,
388
+ :name,
389
+ :type,
390
+ :content_type)
391
+ include Aws::Structure
392
+ end
393
+
394
+ # Represents the result of a create upload request.
395
+ # @!attribute [rw] upload
396
+ # The newly created upload.
397
+ # @return [Types::Upload]
398
+ class CreateUploadResult < Struct.new(
399
+ :upload)
400
+ include Aws::Structure
401
+ end
402
+
403
+ # Represents a request to the delete device pool operation.
404
+ # @note When making an API call, pass DeleteDevicePoolRequest
405
+ # data as a hash:
406
+ #
407
+ # {
408
+ # arn: "AmazonResourceName", # required
409
+ # }
410
+ # @!attribute [rw] arn
411
+ # Represents the Amazon Resource Name (ARN) of the Device Farm device
412
+ # pool you wish to delete.
413
+ # @return [String]
414
+ class DeleteDevicePoolRequest < Struct.new(
415
+ :arn)
416
+ include Aws::Structure
417
+ end
418
+
419
+ # Represents the result of a delete device pool request.
420
+ class DeleteDevicePoolResult < Aws::EmptyStructure; end
421
+
422
+ # Represents a request to the delete project operation.
423
+ # @note When making an API call, pass DeleteProjectRequest
424
+ # data as a hash:
425
+ #
426
+ # {
427
+ # arn: "AmazonResourceName", # required
428
+ # }
429
+ # @!attribute [rw] arn
430
+ # Represents the Amazon Resource Name (ARN) of the Device Farm project
431
+ # you wish to delete.
432
+ # @return [String]
433
+ class DeleteProjectRequest < Struct.new(
434
+ :arn)
435
+ include Aws::Structure
436
+ end
437
+
438
+ # Represents the result of a delete project request.
439
+ class DeleteProjectResult < Aws::EmptyStructure; end
440
+
441
+ # Represents the request to delete the specified remote access session.
442
+ # @note When making an API call, pass DeleteRemoteAccessSessionRequest
443
+ # data as a hash:
444
+ #
445
+ # {
446
+ # arn: "AmazonResourceName", # required
447
+ # }
448
+ # @!attribute [rw] arn
449
+ # The Amazon Resource Name (ARN) of the sesssion for which you want to
450
+ # delete remote access.
451
+ # @return [String]
452
+ class DeleteRemoteAccessSessionRequest < Struct.new(
453
+ :arn)
454
+ include Aws::Structure
455
+ end
456
+
457
+ # The response from the server when a request is made to delete the
458
+ # remote access session.
459
+ class DeleteRemoteAccessSessionResult < Aws::EmptyStructure; end
460
+
461
+ # Represents a request to the delete run operation.
462
+ # @note When making an API call, pass DeleteRunRequest
463
+ # data as a hash:
464
+ #
465
+ # {
466
+ # arn: "AmazonResourceName", # required
467
+ # }
468
+ # @!attribute [rw] arn
469
+ # The Amazon Resource Name (ARN) for the run you wish to delete.
470
+ # @return [String]
471
+ class DeleteRunRequest < Struct.new(
472
+ :arn)
473
+ include Aws::Structure
474
+ end
475
+
476
+ # Represents the result of a delete run request.
477
+ class DeleteRunResult < Aws::EmptyStructure; end
478
+
479
+ # Represents a request to the delete upload operation.
480
+ # @note When making an API call, pass DeleteUploadRequest
481
+ # data as a hash:
482
+ #
483
+ # {
484
+ # arn: "AmazonResourceName", # required
485
+ # }
486
+ # @!attribute [rw] arn
487
+ # Represents the Amazon Resource Name (ARN) of the Device Farm upload
488
+ # you wish to delete.
489
+ # @return [String]
490
+ class DeleteUploadRequest < Struct.new(
491
+ :arn)
492
+ include Aws::Structure
493
+ end
494
+
495
+ # Represents the result of a delete upload request.
496
+ class DeleteUploadResult < Aws::EmptyStructure; end
497
+
498
+ # Represents a device type that an app is tested against.
499
+ # @!attribute [rw] arn
500
+ # The device's ARN.
501
+ # @return [String]
502
+ #
503
+ # @!attribute [rw] name
504
+ # The device's display name.
505
+ # @return [String]
506
+ #
507
+ # @!attribute [rw] manufacturer
508
+ # The device's manufacturer name.
509
+ # @return [String]
510
+ #
511
+ # @!attribute [rw] model
512
+ # The device's model name.
513
+ # @return [String]
514
+ #
515
+ # @!attribute [rw] form_factor
516
+ # The device's form factor.
517
+ #
518
+ # Allowed values include:
519
+ #
520
+ # * PHONE: The phone form factor.
521
+ #
522
+ # * TABLET: The tablet form factor.
523
+ # @return [String]
524
+ #
525
+ # @!attribute [rw] platform
526
+ # The device's platform.
527
+ #
528
+ # Allowed values include:
529
+ #
530
+ # * ANDROID: The Android platform.
531
+ #
532
+ # * IOS: The iOS platform.
533
+ # @return [String]
534
+ #
535
+ # @!attribute [rw] os
536
+ # The device's operating system type.
537
+ # @return [String]
538
+ #
539
+ # @!attribute [rw] cpu
540
+ # Information about the device's CPU.
541
+ # @return [Types::CPU]
542
+ #
543
+ # @!attribute [rw] resolution
544
+ # Represents the screen resolution of a device in height and width,
545
+ # expressed in pixels.
546
+ # @return [Types::Resolution]
547
+ #
548
+ # @!attribute [rw] heap_size
549
+ # The device's heap size, expressed in bytes.
550
+ # @return [Integer]
551
+ #
552
+ # @!attribute [rw] memory
553
+ # The device's total memory size, expressed in bytes.
554
+ # @return [Integer]
555
+ #
556
+ # @!attribute [rw] image
557
+ # The device's image name.
558
+ # @return [String]
559
+ #
560
+ # @!attribute [rw] carrier
561
+ # The device's carrier.
562
+ # @return [String]
563
+ #
564
+ # @!attribute [rw] radio
565
+ # The device's radio.
566
+ # @return [String]
567
+ #
568
+ # @!attribute [rw] remote_access_enabled
569
+ # Specifies whether remote access has been enabled for the specified
570
+ # device.
571
+ # @return [Boolean]
572
+ #
573
+ # @!attribute [rw] fleet_type
574
+ # The type of fleet to which this device belongs. Possible values for
575
+ # fleet type are PRIVATE and PUBLIC.
576
+ # @return [String]
577
+ #
578
+ # @!attribute [rw] fleet_name
579
+ # The name of the fleet to which this device belongs.
580
+ # @return [String]
581
+ class Device < Struct.new(
582
+ :arn,
583
+ :name,
584
+ :manufacturer,
585
+ :model,
586
+ :form_factor,
587
+ :platform,
588
+ :os,
589
+ :cpu,
590
+ :resolution,
591
+ :heap_size,
592
+ :memory,
593
+ :image,
594
+ :carrier,
595
+ :radio,
596
+ :remote_access_enabled,
597
+ :fleet_type,
598
+ :fleet_name)
599
+ include Aws::Structure
600
+ end
601
+
602
+ # Represents the total (metered or unmetered) minutes used by the
603
+ # resource to run tests. Contains the sum of minutes consumed by all
604
+ # children.
605
+ # @!attribute [rw] total
606
+ # When specified, represents the total minutes used by the resource to
607
+ # run tests.
608
+ # @return [Float]
609
+ #
610
+ # @!attribute [rw] metered
611
+ # When specified, represents only the sum of metered minutes used by
612
+ # the resource to run tests.
613
+ # @return [Float]
614
+ #
615
+ # @!attribute [rw] unmetered
616
+ # When specified, represents only the sum of unmetered minutes used by
617
+ # the resource to run tests.
618
+ # @return [Float]
619
+ class DeviceMinutes < Struct.new(
620
+ :total,
621
+ :metered,
622
+ :unmetered)
623
+ include Aws::Structure
624
+ end
625
+
626
+ # Represents a collection of device types.
627
+ # @!attribute [rw] arn
628
+ # The device pool's ARN.
629
+ # @return [String]
630
+ #
631
+ # @!attribute [rw] name
632
+ # The device pool's name.
633
+ # @return [String]
634
+ #
635
+ # @!attribute [rw] description
636
+ # The device pool's description.
637
+ # @return [String]
638
+ #
639
+ # @!attribute [rw] type
640
+ # The device pool's type.
641
+ #
642
+ # Allowed values include:
643
+ #
644
+ # * CURATED: A device pool that is created and managed by AWS Device
645
+ # Farm.
646
+ #
647
+ # * PRIVATE: A device pool that is created and managed by the device
648
+ # pool developer.
649
+ # @return [String]
650
+ #
651
+ # @!attribute [rw] rules
652
+ # Information about the device pool's rules.
653
+ # @return [Array<Types::Rule>]
654
+ class DevicePool < Struct.new(
655
+ :arn,
656
+ :name,
657
+ :description,
658
+ :type,
659
+ :rules)
660
+ include Aws::Structure
661
+ end
662
+
663
+ # Represents a device pool compatibility result.
664
+ # @!attribute [rw] device
665
+ # Represents a device type that an app is tested against.
666
+ # @return [Types::Device]
667
+ #
668
+ # @!attribute [rw] compatible
669
+ # Whether the result was compatible with the device pool.
670
+ # @return [Boolean]
671
+ #
672
+ # @!attribute [rw] incompatibility_messages
673
+ # Information about the compatibility.
674
+ # @return [Array<Types::IncompatibilityMessage>]
675
+ class DevicePoolCompatibilityResult < Struct.new(
676
+ :device,
677
+ :compatible,
678
+ :incompatibility_messages)
679
+ include Aws::Structure
680
+ end
681
+
682
+ # Represents the request sent to retrieve the account settings.
683
+ # @api private
684
+ class GetAccountSettingsRequest < Aws::EmptyStructure; end
685
+
686
+ # Represents the account settings return values from the
687
+ # `GetAccountSettings` request.
688
+ # @!attribute [rw] account_settings
689
+ # A container for account-level settings within AWS Device Farm.
690
+ # @return [Types::AccountSettings]
691
+ class GetAccountSettingsResult < Struct.new(
692
+ :account_settings)
693
+ include Aws::Structure
694
+ end
695
+
696
+ # Represents a request to the get device pool compatibility operation.
697
+ # @note When making an API call, pass GetDevicePoolCompatibilityRequest
698
+ # data as a hash:
699
+ #
700
+ # {
701
+ # device_pool_arn: "AmazonResourceName", # required
702
+ # app_arn: "AmazonResourceName",
703
+ # 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
704
+ # }
705
+ # @!attribute [rw] device_pool_arn
706
+ # The device pool's ARN.
707
+ # @return [String]
708
+ #
709
+ # @!attribute [rw] app_arn
710
+ # The ARN of the app that is associated with the specified device
711
+ # pool.
712
+ # @return [String]
713
+ #
714
+ # @!attribute [rw] test_type
715
+ # The test type for the specified device pool.
716
+ #
717
+ # Allowed values include the following:
718
+ #
719
+ # * BUILTIN\_FUZZ: The built-in fuzz type.
720
+ #
721
+ # * BUILTIN\_EXPLORER: For Android, an app explorer that will traverse
722
+ # an Android app, interacting with it and capturing screenshots at
723
+ # the same time.
724
+ #
725
+ # * APPIUM\_JAVA\_JUNIT: The Appium Java JUnit type.
726
+ #
727
+ # * APPIUM\_JAVA\_TESTNG: The Appium Java TestNG type.
728
+ #
729
+ # * APPIUM\_PYTHON: The Appium Python type.
730
+ #
731
+ # * APPIUM\_WEB\_JAVA\_JUNIT: The Appium Java JUnit type for Web apps.
732
+ #
733
+ # * APPIUM\_WEB\_JAVA\_TESTNG: The Appium Java TestNG type for Web
734
+ # apps.
735
+ #
736
+ # * APPIUM\_WEB\_PYTHON: The Appium Python type for Web apps.
737
+ #
738
+ # * CALABASH: The Calabash type.
739
+ #
740
+ # * INSTRUMENTATION: The Instrumentation type.
741
+ #
742
+ # * UIAUTOMATION: The uiautomation type.
743
+ #
744
+ # * UIAUTOMATOR: The uiautomator type.
745
+ #
746
+ # * XCTEST: The XCode test type.
747
+ #
748
+ # * XCTEST\_UI: The XCode UI test type.
749
+ # @return [String]
750
+ class GetDevicePoolCompatibilityRequest < Struct.new(
751
+ :device_pool_arn,
752
+ :app_arn,
753
+ :test_type)
754
+ include Aws::Structure
755
+ end
756
+
757
+ # Represents the result of describe device pool compatibility request.
758
+ # @!attribute [rw] compatible_devices
759
+ # Information about compatible devices.
760
+ # @return [Array<Types::DevicePoolCompatibilityResult>]
761
+ #
762
+ # @!attribute [rw] incompatible_devices
763
+ # Information about incompatible devices.
764
+ # @return [Array<Types::DevicePoolCompatibilityResult>]
765
+ class GetDevicePoolCompatibilityResult < Struct.new(
766
+ :compatible_devices,
767
+ :incompatible_devices)
768
+ include Aws::Structure
769
+ end
770
+
771
+ # Represents a request to the get device pool operation.
772
+ # @note When making an API call, pass GetDevicePoolRequest
773
+ # data as a hash:
774
+ #
775
+ # {
776
+ # arn: "AmazonResourceName", # required
777
+ # }
778
+ # @!attribute [rw] arn
779
+ # The device pool's ARN.
780
+ # @return [String]
781
+ class GetDevicePoolRequest < Struct.new(
782
+ :arn)
783
+ include Aws::Structure
784
+ end
785
+
786
+ # Represents the result of a get device pool request.
787
+ # @!attribute [rw] device_pool
788
+ # Represents a collection of device types.
789
+ # @return [Types::DevicePool]
790
+ class GetDevicePoolResult < Struct.new(
791
+ :device_pool)
792
+ include Aws::Structure
793
+ end
794
+
795
+ # Represents a request to the get device request.
796
+ # @note When making an API call, pass GetDeviceRequest
797
+ # data as a hash:
798
+ #
799
+ # {
800
+ # arn: "AmazonResourceName", # required
801
+ # }
802
+ # @!attribute [rw] arn
803
+ # The device type's ARN.
804
+ # @return [String]
805
+ class GetDeviceRequest < Struct.new(
806
+ :arn)
807
+ include Aws::Structure
808
+ end
809
+
810
+ # Represents the result of a get device request.
811
+ # @!attribute [rw] device
812
+ # Represents a device type that an app is tested against.
813
+ # @return [Types::Device]
814
+ class GetDeviceResult < Struct.new(
815
+ :device)
816
+ include Aws::Structure
817
+ end
818
+
819
+ # Represents a request to the get job operation.
820
+ # @note When making an API call, pass GetJobRequest
821
+ # data as a hash:
822
+ #
823
+ # {
824
+ # arn: "AmazonResourceName", # required
825
+ # }
826
+ # @!attribute [rw] arn
827
+ # The job's ARN.
828
+ # @return [String]
829
+ class GetJobRequest < Struct.new(
830
+ :arn)
831
+ include Aws::Structure
832
+ end
833
+
834
+ # Represents the result of a get job request.
835
+ # @!attribute [rw] job
836
+ # Represents a device.
837
+ # @return [Types::Job]
838
+ class GetJobResult < Struct.new(
839
+ :job)
840
+ include Aws::Structure
841
+ end
842
+
843
+ # Represents the request to retrieve the offering status for the
844
+ # specified customer or account.
845
+ # @note When making an API call, pass GetOfferingStatusRequest
846
+ # data as a hash:
847
+ #
848
+ # {
849
+ # next_token: "PaginationToken",
850
+ # }
851
+ # @!attribute [rw] next_token
852
+ # An identifier that was returned from the previous call to this
853
+ # operation, which can be used to return the next set of items in the
854
+ # list.
855
+ # @return [String]
856
+ class GetOfferingStatusRequest < Struct.new(
857
+ :next_token)
858
+ include Aws::Structure
859
+ end
860
+
861
+ # Returns the status result for a device offering.
862
+ # @!attribute [rw] current
863
+ # When specified, gets the offering status for the current period.
864
+ # @return [Hash<String,Types::OfferingStatus>]
865
+ #
866
+ # @!attribute [rw] next_period
867
+ # When specified, gets the offering status for the next period.
868
+ # @return [Hash<String,Types::OfferingStatus>]
869
+ #
870
+ # @!attribute [rw] next_token
871
+ # An identifier that was returned from the previous call to this
872
+ # operation, which can be used to return the next set of items in the
873
+ # list.
874
+ # @return [String]
875
+ class GetOfferingStatusResult < Struct.new(
876
+ :current,
877
+ :next_period,
878
+ :next_token)
879
+ include Aws::Structure
880
+ end
881
+
882
+ # Represents a request to the get project operation.
883
+ # @note When making an API call, pass GetProjectRequest
884
+ # data as a hash:
885
+ #
886
+ # {
887
+ # arn: "AmazonResourceName", # required
888
+ # }
889
+ # @!attribute [rw] arn
890
+ # The project's ARN.
891
+ # @return [String]
892
+ class GetProjectRequest < Struct.new(
893
+ :arn)
894
+ include Aws::Structure
895
+ end
896
+
897
+ # Represents the result of a get project request.
898
+ # @!attribute [rw] project
899
+ # Represents an operating-system neutral workspace for running and
900
+ # managing tests.
901
+ # @return [Types::Project]
902
+ class GetProjectResult < Struct.new(
903
+ :project)
904
+ include Aws::Structure
905
+ end
906
+
907
+ # Represents the request to get information about the specified remote
908
+ # access session.
909
+ # @note When making an API call, pass GetRemoteAccessSessionRequest
910
+ # data as a hash:
911
+ #
912
+ # {
913
+ # arn: "AmazonResourceName", # required
914
+ # }
915
+ # @!attribute [rw] arn
916
+ # The Amazon Resource Name (ARN) of the remote access session about
917
+ # which you want to get session information.
918
+ # @return [String]
919
+ class GetRemoteAccessSessionRequest < Struct.new(
920
+ :arn)
921
+ include Aws::Structure
922
+ end
923
+
924
+ # Represents the response from the server that lists detailed
925
+ # information about the remote access session.
926
+ # @!attribute [rw] remote_access_session
927
+ # A container that lists detailed information about the remote access
928
+ # session.
929
+ # @return [Types::RemoteAccessSession]
930
+ class GetRemoteAccessSessionResult < Struct.new(
931
+ :remote_access_session)
932
+ include Aws::Structure
933
+ end
934
+
935
+ # Represents a request to the get run operation.
936
+ # @note When making an API call, pass GetRunRequest
937
+ # data as a hash:
938
+ #
939
+ # {
940
+ # arn: "AmazonResourceName", # required
941
+ # }
942
+ # @!attribute [rw] arn
943
+ # The run's ARN.
944
+ # @return [String]
945
+ class GetRunRequest < Struct.new(
946
+ :arn)
947
+ include Aws::Structure
948
+ end
949
+
950
+ # Represents the result of a get run request.
951
+ # @!attribute [rw] run
952
+ # Represents an app on a set of devices with a specific test and
953
+ # configuration.
954
+ # @return [Types::Run]
955
+ class GetRunResult < Struct.new(
956
+ :run)
957
+ include Aws::Structure
958
+ end
959
+
960
+ # Represents a request to the get suite operation.
961
+ # @note When making an API call, pass GetSuiteRequest
962
+ # data as a hash:
963
+ #
964
+ # {
965
+ # arn: "AmazonResourceName", # required
966
+ # }
967
+ # @!attribute [rw] arn
968
+ # The suite's ARN.
969
+ # @return [String]
970
+ class GetSuiteRequest < Struct.new(
971
+ :arn)
972
+ include Aws::Structure
973
+ end
974
+
975
+ # Represents the result of a get suite request.
976
+ # @!attribute [rw] suite
977
+ # Represents a collection of one or more tests.
978
+ # @return [Types::Suite]
979
+ class GetSuiteResult < Struct.new(
980
+ :suite)
981
+ include Aws::Structure
982
+ end
983
+
984
+ # Represents a request to the get test operation.
985
+ # @note When making an API call, pass GetTestRequest
986
+ # data as a hash:
987
+ #
988
+ # {
989
+ # arn: "AmazonResourceName", # required
990
+ # }
991
+ # @!attribute [rw] arn
992
+ # The test's ARN.
993
+ # @return [String]
994
+ class GetTestRequest < Struct.new(
995
+ :arn)
996
+ include Aws::Structure
997
+ end
998
+
999
+ # Represents the result of a get test request.
1000
+ # @!attribute [rw] test
1001
+ # Represents a condition that is evaluated.
1002
+ # @return [Types::Test]
1003
+ class GetTestResult < Struct.new(
1004
+ :test)
1005
+ include Aws::Structure
1006
+ end
1007
+
1008
+ # Represents a request to the get upload operation.
1009
+ # @note When making an API call, pass GetUploadRequest
1010
+ # data as a hash:
1011
+ #
1012
+ # {
1013
+ # arn: "AmazonResourceName", # required
1014
+ # }
1015
+ # @!attribute [rw] arn
1016
+ # The upload's ARN.
1017
+ # @return [String]
1018
+ class GetUploadRequest < Struct.new(
1019
+ :arn)
1020
+ include Aws::Structure
1021
+ end
1022
+
1023
+ # Represents the result of a get upload request.
1024
+ # @!attribute [rw] upload
1025
+ # An app or a set of one or more tests to upload or that have been
1026
+ # uploaded.
1027
+ # @return [Types::Upload]
1028
+ class GetUploadResult < Struct.new(
1029
+ :upload)
1030
+ include Aws::Structure
1031
+ end
1032
+
1033
+ # Represents information about incompatibility.
1034
+ # @!attribute [rw] message
1035
+ # A message about the incompatibility.
1036
+ # @return [String]
1037
+ #
1038
+ # @!attribute [rw] type
1039
+ # The type of incompatibility.
1040
+ #
1041
+ # Allowed values include:
1042
+ #
1043
+ # * ARN: The ARN.
1044
+ #
1045
+ # * FORM\_FACTOR: The form factor (for example, phone or tablet).
1046
+ #
1047
+ # * MANUFACTURER: The manufacturer.
1048
+ #
1049
+ # * PLATFORM: The platform (for example, Android or iOS).
1050
+ # @return [String]
1051
+ class IncompatibilityMessage < Struct.new(
1052
+ :message,
1053
+ :type)
1054
+ include Aws::Structure
1055
+ end
1056
+
1057
+ # Represents the request to install an Android application (in .apk
1058
+ # format) or an iOS application (in .ipa format) as part of a remote
1059
+ # access session.
1060
+ # @note When making an API call, pass InstallToRemoteAccessSessionRequest
1061
+ # data as a hash:
1062
+ #
1063
+ # {
1064
+ # remote_access_session_arn: "AmazonResourceName", # required
1065
+ # app_arn: "AmazonResourceName", # required
1066
+ # }
1067
+ # @!attribute [rw] remote_access_session_arn
1068
+ # The Amazon Resource Name (ARN) of the remote access session about
1069
+ # which you are requesting information.
1070
+ # @return [String]
1071
+ #
1072
+ # @!attribute [rw] app_arn
1073
+ # The Amazon Resource Name (ARN) of the app about which you are
1074
+ # requesting information.
1075
+ # @return [String]
1076
+ class InstallToRemoteAccessSessionRequest < Struct.new(
1077
+ :remote_access_session_arn,
1078
+ :app_arn)
1079
+ include Aws::Structure
1080
+ end
1081
+
1082
+ # Represents the response from the server after AWS Device Farm makes a
1083
+ # request to install to a remote access session.
1084
+ # @!attribute [rw] app_upload
1085
+ # An app or a set of one or more tests to upload or that have been
1086
+ # uploaded.
1087
+ # @return [Types::Upload]
1088
+ class InstallToRemoteAccessSessionResult < Struct.new(
1089
+ :app_upload)
1090
+ include Aws::Structure
1091
+ end
1092
+
1093
+ # Represents a device.
1094
+ # @!attribute [rw] arn
1095
+ # The job's ARN.
1096
+ # @return [String]
1097
+ #
1098
+ # @!attribute [rw] name
1099
+ # The job's name.
1100
+ # @return [String]
1101
+ #
1102
+ # @!attribute [rw] type
1103
+ # The job's type.
1104
+ #
1105
+ # Allowed values include the following:
1106
+ #
1107
+ # * BUILTIN\_FUZZ: The built-in fuzz type.
1108
+ #
1109
+ # * BUILTIN\_EXPLORER: For Android, an app explorer that will traverse
1110
+ # an Android app, interacting with it and capturing screenshots at
1111
+ # the same time.
1112
+ #
1113
+ # * APPIUM\_JAVA\_JUNIT: The Appium Java JUnit type.
1114
+ #
1115
+ # * APPIUM\_JAVA\_TESTNG: The Appium Java TestNG type.
1116
+ #
1117
+ # * APPIUM\_PYTHON: The Appium Python type.
1118
+ #
1119
+ # * APPIUM\_WEB\_JAVA\_JUNIT: The Appium Java JUnit type for Web apps.
1120
+ #
1121
+ # * APPIUM\_WEB\_JAVA\_TESTNG: The Appium Java TestNG type for Web
1122
+ # apps.
1123
+ #
1124
+ # * APPIUM\_WEB\_PYTHON: The Appium Python type for Web apps.
1125
+ #
1126
+ # * CALABASH: The Calabash type.
1127
+ #
1128
+ # * INSTRUMENTATION: The Instrumentation type.
1129
+ #
1130
+ # * UIAUTOMATION: The uiautomation type.
1131
+ #
1132
+ # * UIAUTOMATOR: The uiautomator type.
1133
+ #
1134
+ # * XCTEST: The XCode test type.
1135
+ #
1136
+ # * XCTEST\_UI: The XCode UI test type.
1137
+ # @return [String]
1138
+ #
1139
+ # @!attribute [rw] created
1140
+ # When the job was created.
1141
+ # @return [Time]
1142
+ #
1143
+ # @!attribute [rw] status
1144
+ # The job's status.
1145
+ #
1146
+ # Allowed values include:
1147
+ #
1148
+ # * PENDING: A pending status.
1149
+ #
1150
+ # * PENDING\_CONCURRENCY: A pending concurrency status.
1151
+ #
1152
+ # * PENDING\_DEVICE: A pending device status.
1153
+ #
1154
+ # * PROCESSING: A processing status.
1155
+ #
1156
+ # * SCHEDULING: A scheduling status.
1157
+ #
1158
+ # * PREPARING: A preparing status.
1159
+ #
1160
+ # * RUNNING: A running status.
1161
+ #
1162
+ # * COMPLETED: A completed status.
1163
+ #
1164
+ # * STOPPING: A stopping status.
1165
+ # @return [String]
1166
+ #
1167
+ # @!attribute [rw] result
1168
+ # The job's result.
1169
+ #
1170
+ # Allowed values include:
1171
+ #
1172
+ # * PENDING: A pending condition.
1173
+ #
1174
+ # * PASSED: A passing condition.
1175
+ #
1176
+ # * WARNED: A warning condition.
1177
+ #
1178
+ # * FAILED: A failed condition.
1179
+ #
1180
+ # * SKIPPED: A skipped condition.
1181
+ #
1182
+ # * ERRORED: An error condition.
1183
+ #
1184
+ # * STOPPED: A stopped condition.
1185
+ # @return [String]
1186
+ #
1187
+ # @!attribute [rw] started
1188
+ # The job's start time.
1189
+ # @return [Time]
1190
+ #
1191
+ # @!attribute [rw] stopped
1192
+ # The job's stop time.
1193
+ # @return [Time]
1194
+ #
1195
+ # @!attribute [rw] counters
1196
+ # The job's result counters.
1197
+ # @return [Types::Counters]
1198
+ #
1199
+ # @!attribute [rw] message
1200
+ # A message about the job's result.
1201
+ # @return [String]
1202
+ #
1203
+ # @!attribute [rw] device
1204
+ # Represents a device type that an app is tested against.
1205
+ # @return [Types::Device]
1206
+ #
1207
+ # @!attribute [rw] device_minutes
1208
+ # Represents the total (metered or unmetered) minutes used by the job.
1209
+ # @return [Types::DeviceMinutes]
1210
+ class Job < Struct.new(
1211
+ :arn,
1212
+ :name,
1213
+ :type,
1214
+ :created,
1215
+ :status,
1216
+ :result,
1217
+ :started,
1218
+ :stopped,
1219
+ :counters,
1220
+ :message,
1221
+ :device,
1222
+ :device_minutes)
1223
+ include Aws::Structure
1224
+ end
1225
+
1226
+ # Represents a request to the list artifacts operation.
1227
+ # @note When making an API call, pass ListArtifactsRequest
1228
+ # data as a hash:
1229
+ #
1230
+ # {
1231
+ # arn: "AmazonResourceName", # required
1232
+ # type: "SCREENSHOT", # required, accepts SCREENSHOT, FILE, LOG
1233
+ # next_token: "PaginationToken",
1234
+ # }
1235
+ # @!attribute [rw] arn
1236
+ # The Run, Job, Suite, or Test ARN.
1237
+ # @return [String]
1238
+ #
1239
+ # @!attribute [rw] type
1240
+ # The artifacts' type.
1241
+ #
1242
+ # Allowed values include:
1243
+ #
1244
+ # * FILE: The artifacts are files.
1245
+ #
1246
+ # * LOG: The artifacts are logs.
1247
+ #
1248
+ # * SCREENSHOT: The artifacts are screenshots.
1249
+ # @return [String]
1250
+ #
1251
+ # @!attribute [rw] next_token
1252
+ # An identifier that was returned from the previous call to this
1253
+ # operation, which can be used to return the next set of items in the
1254
+ # list.
1255
+ # @return [String]
1256
+ class ListArtifactsRequest < Struct.new(
1257
+ :arn,
1258
+ :type,
1259
+ :next_token)
1260
+ include Aws::Structure
1261
+ end
1262
+
1263
+ # Represents the result of a list artifacts operation.
1264
+ # @!attribute [rw] artifacts
1265
+ # Information about the artifacts.
1266
+ # @return [Array<Types::Artifact>]
1267
+ #
1268
+ # @!attribute [rw] next_token
1269
+ # If the number of items that are returned is significantly large,
1270
+ # this is an identifier that is also returned, which can be used in a
1271
+ # subsequent call to this operation to return the next set of items in
1272
+ # the list.
1273
+ # @return [String]
1274
+ class ListArtifactsResult < Struct.new(
1275
+ :artifacts,
1276
+ :next_token)
1277
+ include Aws::Structure
1278
+ end
1279
+
1280
+ # Represents the result of a list device pools request.
1281
+ # @note When making an API call, pass ListDevicePoolsRequest
1282
+ # data as a hash:
1283
+ #
1284
+ # {
1285
+ # arn: "AmazonResourceName", # required
1286
+ # type: "CURATED", # accepts CURATED, PRIVATE
1287
+ # next_token: "PaginationToken",
1288
+ # }
1289
+ # @!attribute [rw] arn
1290
+ # The project ARN.
1291
+ # @return [String]
1292
+ #
1293
+ # @!attribute [rw] type
1294
+ # The device pools' type.
1295
+ #
1296
+ # Allowed values include:
1297
+ #
1298
+ # * CURATED: A device pool that is created and managed by AWS Device
1299
+ # Farm.
1300
+ #
1301
+ # * PRIVATE: A device pool that is created and managed by the device
1302
+ # pool developer.
1303
+ # @return [String]
1304
+ #
1305
+ # @!attribute [rw] next_token
1306
+ # An identifier that was returned from the previous call to this
1307
+ # operation, which can be used to return the next set of items in the
1308
+ # list.
1309
+ # @return [String]
1310
+ class ListDevicePoolsRequest < Struct.new(
1311
+ :arn,
1312
+ :type,
1313
+ :next_token)
1314
+ include Aws::Structure
1315
+ end
1316
+
1317
+ # Represents the result of a list device pools request.
1318
+ # @!attribute [rw] device_pools
1319
+ # Information about the device pools.
1320
+ # @return [Array<Types::DevicePool>]
1321
+ #
1322
+ # @!attribute [rw] next_token
1323
+ # If the number of items that are returned is significantly large,
1324
+ # this is an identifier that is also returned, which can be used in a
1325
+ # subsequent call to this operation to return the next set of items in
1326
+ # the list.
1327
+ # @return [String]
1328
+ class ListDevicePoolsResult < Struct.new(
1329
+ :device_pools,
1330
+ :next_token)
1331
+ include Aws::Structure
1332
+ end
1333
+
1334
+ # Represents the result of a list devices request.
1335
+ # @note When making an API call, pass ListDevicesRequest
1336
+ # data as a hash:
1337
+ #
1338
+ # {
1339
+ # arn: "AmazonResourceName",
1340
+ # next_token: "PaginationToken",
1341
+ # }
1342
+ # @!attribute [rw] arn
1343
+ # The Amazon Resource Name (ARN) of the project.
1344
+ # @return [String]
1345
+ #
1346
+ # @!attribute [rw] next_token
1347
+ # An identifier that was returned from the previous call to this
1348
+ # operation, which can be used to return the next set of items in the
1349
+ # list.
1350
+ # @return [String]
1351
+ class ListDevicesRequest < Struct.new(
1352
+ :arn,
1353
+ :next_token)
1354
+ include Aws::Structure
1355
+ end
1356
+
1357
+ # Represents the result of a list devices operation.
1358
+ # @!attribute [rw] devices
1359
+ # Information about the devices.
1360
+ # @return [Array<Types::Device>]
1361
+ #
1362
+ # @!attribute [rw] next_token
1363
+ # If the number of items that are returned is significantly large,
1364
+ # this is an identifier that is also returned, which can be used in a
1365
+ # subsequent call to this operation to return the next set of items in
1366
+ # the list.
1367
+ # @return [String]
1368
+ class ListDevicesResult < Struct.new(
1369
+ :devices,
1370
+ :next_token)
1371
+ include Aws::Structure
1372
+ end
1373
+
1374
+ # Represents a request to the list jobs operation.
1375
+ # @note When making an API call, pass ListJobsRequest
1376
+ # data as a hash:
1377
+ #
1378
+ # {
1379
+ # arn: "AmazonResourceName", # required
1380
+ # next_token: "PaginationToken",
1381
+ # }
1382
+ # @!attribute [rw] arn
1383
+ # The jobs' ARNs.
1384
+ # @return [String]
1385
+ #
1386
+ # @!attribute [rw] next_token
1387
+ # An identifier that was returned from the previous call to this
1388
+ # operation, which can be used to return the next set of items in the
1389
+ # list.
1390
+ # @return [String]
1391
+ class ListJobsRequest < Struct.new(
1392
+ :arn,
1393
+ :next_token)
1394
+ include Aws::Structure
1395
+ end
1396
+
1397
+ # Represents the result of a list jobs request.
1398
+ # @!attribute [rw] jobs
1399
+ # Information about the jobs.
1400
+ # @return [Array<Types::Job>]
1401
+ #
1402
+ # @!attribute [rw] next_token
1403
+ # If the number of items that are returned is significantly large,
1404
+ # this is an identifier that is also returned, which can be used in a
1405
+ # subsequent call to this operation to return the next set of items in
1406
+ # the list.
1407
+ # @return [String]
1408
+ class ListJobsResult < Struct.new(
1409
+ :jobs,
1410
+ :next_token)
1411
+ include Aws::Structure
1412
+ end
1413
+
1414
+ # Represents the request to list the offering transaction history.
1415
+ # @note When making an API call, pass ListOfferingTransactionsRequest
1416
+ # data as a hash:
1417
+ #
1418
+ # {
1419
+ # next_token: "PaginationToken",
1420
+ # }
1421
+ # @!attribute [rw] next_token
1422
+ # An identifier that was returned from the previous call to this
1423
+ # operation, which can be used to return the next set of items in the
1424
+ # list.
1425
+ # @return [String]
1426
+ class ListOfferingTransactionsRequest < Struct.new(
1427
+ :next_token)
1428
+ include Aws::Structure
1429
+ end
1430
+
1431
+ # Returns the transaction log of the specified offerings.
1432
+ # @!attribute [rw] offering_transactions
1433
+ # The audit log of subscriptions you have purchased and modified
1434
+ # through AWS Device Farm.
1435
+ # @return [Array<Types::OfferingTransaction>]
1436
+ #
1437
+ # @!attribute [rw] next_token
1438
+ # An identifier that was returned from the previous call to this
1439
+ # operation, which can be used to return the next set of items in the
1440
+ # list.
1441
+ # @return [String]
1442
+ class ListOfferingTransactionsResult < Struct.new(
1443
+ :offering_transactions,
1444
+ :next_token)
1445
+ include Aws::Structure
1446
+ end
1447
+
1448
+ # Represents the request to list all offerings.
1449
+ # @note When making an API call, pass ListOfferingsRequest
1450
+ # data as a hash:
1451
+ #
1452
+ # {
1453
+ # next_token: "PaginationToken",
1454
+ # }
1455
+ # @!attribute [rw] next_token
1456
+ # An identifier that was returned from the previous call to this
1457
+ # operation, which can be used to return the next set of items in the
1458
+ # list.
1459
+ # @return [String]
1460
+ class ListOfferingsRequest < Struct.new(
1461
+ :next_token)
1462
+ include Aws::Structure
1463
+ end
1464
+
1465
+ # Represents the return values of the list of offerings.
1466
+ # @!attribute [rw] offerings
1467
+ # A value representing the list offering results.
1468
+ # @return [Array<Types::Offering>]
1469
+ #
1470
+ # @!attribute [rw] next_token
1471
+ # An identifier that was returned from the previous call to this
1472
+ # operation, which can be used to return the next set of items in the
1473
+ # list.
1474
+ # @return [String]
1475
+ class ListOfferingsResult < Struct.new(
1476
+ :offerings,
1477
+ :next_token)
1478
+ include Aws::Structure
1479
+ end
1480
+
1481
+ # Represents a request to the list projects operation.
1482
+ # @note When making an API call, pass ListProjectsRequest
1483
+ # data as a hash:
1484
+ #
1485
+ # {
1486
+ # arn: "AmazonResourceName",
1487
+ # next_token: "PaginationToken",
1488
+ # }
1489
+ # @!attribute [rw] arn
1490
+ # Optional. If no Amazon Resource Name (ARN) is specified, then AWS
1491
+ # Device Farm returns a list of all projects for the AWS account. You
1492
+ # can also specify a project ARN.
1493
+ # @return [String]
1494
+ #
1495
+ # @!attribute [rw] next_token
1496
+ # An identifier that was returned from the previous call to this
1497
+ # operation, which can be used to return the next set of items in the
1498
+ # list.
1499
+ # @return [String]
1500
+ class ListProjectsRequest < Struct.new(
1501
+ :arn,
1502
+ :next_token)
1503
+ include Aws::Structure
1504
+ end
1505
+
1506
+ # Represents the result of a list projects request.
1507
+ # @!attribute [rw] projects
1508
+ # Information about the projects.
1509
+ # @return [Array<Types::Project>]
1510
+ #
1511
+ # @!attribute [rw] next_token
1512
+ # If the number of items that are returned is significantly large,
1513
+ # this is an identifier that is also returned, which can be used in a
1514
+ # subsequent call to this operation to return the next set of items in
1515
+ # the list.
1516
+ # @return [String]
1517
+ class ListProjectsResult < Struct.new(
1518
+ :projects,
1519
+ :next_token)
1520
+ include Aws::Structure
1521
+ end
1522
+
1523
+ # Represents the request to return information about the remote access
1524
+ # session.
1525
+ # @note When making an API call, pass ListRemoteAccessSessionsRequest
1526
+ # data as a hash:
1527
+ #
1528
+ # {
1529
+ # arn: "AmazonResourceName", # required
1530
+ # next_token: "PaginationToken",
1531
+ # }
1532
+ # @!attribute [rw] arn
1533
+ # The Amazon Resource Name (ARN) of the remote access session about
1534
+ # which you are requesting information.
1535
+ # @return [String]
1536
+ #
1537
+ # @!attribute [rw] next_token
1538
+ # An identifier that was returned from the previous call to this
1539
+ # operation, which can be used to return the next set of items in the
1540
+ # list.
1541
+ # @return [String]
1542
+ class ListRemoteAccessSessionsRequest < Struct.new(
1543
+ :arn,
1544
+ :next_token)
1545
+ include Aws::Structure
1546
+ end
1547
+
1548
+ # Represents the response from the server after AWS Device Farm makes a
1549
+ # request to return information about the remote access session.
1550
+ # @!attribute [rw] remote_access_sessions
1551
+ # A container representing the metadata from the service about each
1552
+ # remote access session you are requesting.
1553
+ # @return [Array<Types::RemoteAccessSession>]
1554
+ #
1555
+ # @!attribute [rw] next_token
1556
+ # An identifier that was returned from the previous call to this
1557
+ # operation, which can be used to return the next set of items in the
1558
+ # list.
1559
+ # @return [String]
1560
+ class ListRemoteAccessSessionsResult < Struct.new(
1561
+ :remote_access_sessions,
1562
+ :next_token)
1563
+ include Aws::Structure
1564
+ end
1565
+
1566
+ # Represents a request to the list runs operation.
1567
+ # @note When making an API call, pass ListRunsRequest
1568
+ # data as a hash:
1569
+ #
1570
+ # {
1571
+ # arn: "AmazonResourceName", # required
1572
+ # next_token: "PaginationToken",
1573
+ # }
1574
+ # @!attribute [rw] arn
1575
+ # The Amazon Resource Name (ARN) of the project for which you want to
1576
+ # list runs.
1577
+ # @return [String]
1578
+ #
1579
+ # @!attribute [rw] next_token
1580
+ # An identifier that was returned from the previous call to this
1581
+ # operation, which can be used to return the next set of items in the
1582
+ # list.
1583
+ # @return [String]
1584
+ class ListRunsRequest < Struct.new(
1585
+ :arn,
1586
+ :next_token)
1587
+ include Aws::Structure
1588
+ end
1589
+
1590
+ # Represents the result of a list runs request.
1591
+ # @!attribute [rw] runs
1592
+ # Information about the runs.
1593
+ # @return [Array<Types::Run>]
1594
+ #
1595
+ # @!attribute [rw] next_token
1596
+ # If the number of items that are returned is significantly large,
1597
+ # this is an identifier that is also returned, which can be used in a
1598
+ # subsequent call to this operation to return the next set of items in
1599
+ # the list.
1600
+ # @return [String]
1601
+ class ListRunsResult < Struct.new(
1602
+ :runs,
1603
+ :next_token)
1604
+ include Aws::Structure
1605
+ end
1606
+
1607
+ # Represents a request to the list samples operation.
1608
+ # @note When making an API call, pass ListSamplesRequest
1609
+ # data as a hash:
1610
+ #
1611
+ # {
1612
+ # arn: "AmazonResourceName", # required
1613
+ # next_token: "PaginationToken",
1614
+ # }
1615
+ # @!attribute [rw] arn
1616
+ # The Amazon Resource Name (ARN) of the project for which you want to
1617
+ # list samples.
1618
+ # @return [String]
1619
+ #
1620
+ # @!attribute [rw] next_token
1621
+ # An identifier that was returned from the previous call to this
1622
+ # operation, which can be used to return the next set of items in the
1623
+ # list.
1624
+ # @return [String]
1625
+ class ListSamplesRequest < Struct.new(
1626
+ :arn,
1627
+ :next_token)
1628
+ include Aws::Structure
1629
+ end
1630
+
1631
+ # Represents the result of a list samples request.
1632
+ # @!attribute [rw] samples
1633
+ # Information about the samples.
1634
+ # @return [Array<Types::Sample>]
1635
+ #
1636
+ # @!attribute [rw] next_token
1637
+ # If the number of items that are returned is significantly large,
1638
+ # this is an identifier that is also returned, which can be used in a
1639
+ # subsequent call to this operation to return the next set of items in
1640
+ # the list.
1641
+ # @return [String]
1642
+ class ListSamplesResult < Struct.new(
1643
+ :samples,
1644
+ :next_token)
1645
+ include Aws::Structure
1646
+ end
1647
+
1648
+ # Represents a request to the list suites operation.
1649
+ # @note When making an API call, pass ListSuitesRequest
1650
+ # data as a hash:
1651
+ #
1652
+ # {
1653
+ # arn: "AmazonResourceName", # required
1654
+ # next_token: "PaginationToken",
1655
+ # }
1656
+ # @!attribute [rw] arn
1657
+ # The suites' ARNs.
1658
+ # @return [String]
1659
+ #
1660
+ # @!attribute [rw] next_token
1661
+ # An identifier that was returned from the previous call to this
1662
+ # operation, which can be used to return the next set of items in the
1663
+ # list.
1664
+ # @return [String]
1665
+ class ListSuitesRequest < Struct.new(
1666
+ :arn,
1667
+ :next_token)
1668
+ include Aws::Structure
1669
+ end
1670
+
1671
+ # Represents the result of a list suites request.
1672
+ # @!attribute [rw] suites
1673
+ # Information about the suites.
1674
+ # @return [Array<Types::Suite>]
1675
+ #
1676
+ # @!attribute [rw] next_token
1677
+ # If the number of items that are returned is significantly large,
1678
+ # this is an identifier that is also returned, which can be used in a
1679
+ # subsequent call to this operation to return the next set of items in
1680
+ # the list.
1681
+ # @return [String]
1682
+ class ListSuitesResult < Struct.new(
1683
+ :suites,
1684
+ :next_token)
1685
+ include Aws::Structure
1686
+ end
1687
+
1688
+ # Represents a request to the list tests operation.
1689
+ # @note When making an API call, pass ListTestsRequest
1690
+ # data as a hash:
1691
+ #
1692
+ # {
1693
+ # arn: "AmazonResourceName", # required
1694
+ # next_token: "PaginationToken",
1695
+ # }
1696
+ # @!attribute [rw] arn
1697
+ # The tests' ARNs.
1698
+ # @return [String]
1699
+ #
1700
+ # @!attribute [rw] next_token
1701
+ # An identifier that was returned from the previous call to this
1702
+ # operation, which can be used to return the next set of items in the
1703
+ # list.
1704
+ # @return [String]
1705
+ class ListTestsRequest < Struct.new(
1706
+ :arn,
1707
+ :next_token)
1708
+ include Aws::Structure
1709
+ end
1710
+
1711
+ # Represents the result of a list tests request.
1712
+ # @!attribute [rw] tests
1713
+ # Information about the tests.
1714
+ # @return [Array<Types::Test>]
1715
+ #
1716
+ # @!attribute [rw] next_token
1717
+ # If the number of items that are returned is significantly large,
1718
+ # this is an identifier that is also returned, which can be used in a
1719
+ # subsequent call to this operation to return the next set of items in
1720
+ # the list.
1721
+ # @return [String]
1722
+ class ListTestsResult < Struct.new(
1723
+ :tests,
1724
+ :next_token)
1725
+ include Aws::Structure
1726
+ end
1727
+
1728
+ # Represents a request to the list unique problems operation.
1729
+ # @note When making an API call, pass ListUniqueProblemsRequest
1730
+ # data as a hash:
1731
+ #
1732
+ # {
1733
+ # arn: "AmazonResourceName", # required
1734
+ # next_token: "PaginationToken",
1735
+ # }
1736
+ # @!attribute [rw] arn
1737
+ # The unique problems' ARNs.
1738
+ # @return [String]
1739
+ #
1740
+ # @!attribute [rw] next_token
1741
+ # An identifier that was returned from the previous call to this
1742
+ # operation, which can be used to return the next set of items in the
1743
+ # list.
1744
+ # @return [String]
1745
+ class ListUniqueProblemsRequest < Struct.new(
1746
+ :arn,
1747
+ :next_token)
1748
+ include Aws::Structure
1749
+ end
1750
+
1751
+ # Represents the result of a list unique problems request.
1752
+ # @!attribute [rw] unique_problems
1753
+ # Information about the unique problems.
1754
+ #
1755
+ # Allowed values include:
1756
+ #
1757
+ # * PENDING: A pending condition.
1758
+ #
1759
+ # * PASSED: A passing condition.
1760
+ #
1761
+ # * WARNED: A warning condition.
1762
+ #
1763
+ # * FAILED: A failed condition.
1764
+ #
1765
+ # * SKIPPED: A skipped condition.
1766
+ #
1767
+ # * ERRORED: An error condition.
1768
+ #
1769
+ # * STOPPED: A stopped condition.
1770
+ # @return [Hash<String,Array<Types::UniqueProblem>>]
1771
+ #
1772
+ # @!attribute [rw] next_token
1773
+ # If the number of items that are returned is significantly large,
1774
+ # this is an identifier that is also returned, which can be used in a
1775
+ # subsequent call to this operation to return the next set of items in
1776
+ # the list.
1777
+ # @return [String]
1778
+ class ListUniqueProblemsResult < Struct.new(
1779
+ :unique_problems,
1780
+ :next_token)
1781
+ include Aws::Structure
1782
+ end
1783
+
1784
+ # Represents a request to the list uploads operation.
1785
+ # @note When making an API call, pass ListUploadsRequest
1786
+ # data as a hash:
1787
+ #
1788
+ # {
1789
+ # arn: "AmazonResourceName", # required
1790
+ # next_token: "PaginationToken",
1791
+ # }
1792
+ # @!attribute [rw] arn
1793
+ # The Amazon Resource Name (ARN) of the project for which you want to
1794
+ # list uploads.
1795
+ # @return [String]
1796
+ #
1797
+ # @!attribute [rw] next_token
1798
+ # An identifier that was returned from the previous call to this
1799
+ # operation, which can be used to return the next set of items in the
1800
+ # list.
1801
+ # @return [String]
1802
+ class ListUploadsRequest < Struct.new(
1803
+ :arn,
1804
+ :next_token)
1805
+ include Aws::Structure
1806
+ end
1807
+
1808
+ # Represents the result of a list uploads request.
1809
+ # @!attribute [rw] uploads
1810
+ # Information about the uploads.
1811
+ # @return [Array<Types::Upload>]
1812
+ #
1813
+ # @!attribute [rw] next_token
1814
+ # If the number of items that are returned is significantly large,
1815
+ # this is an identifier that is also returned, which can be used in a
1816
+ # subsequent call to this operation to return the next set of items in
1817
+ # the list.
1818
+ # @return [String]
1819
+ class ListUploadsResult < Struct.new(
1820
+ :uploads,
1821
+ :next_token)
1822
+ include Aws::Structure
1823
+ end
1824
+
1825
+ # Represents a latitude and longitude pair, expressed in geographic
1826
+ # coordinate system degrees (for example 47.6204, -122.3491).
1827
+ #
1828
+ # Elevation is currently not supported.
1829
+ # @note When making an API call, pass Location
1830
+ # data as a hash:
1831
+ #
1832
+ # {
1833
+ # latitude: 1.0, # required
1834
+ # longitude: 1.0, # required
1835
+ # }
1836
+ # @!attribute [rw] latitude
1837
+ # The latitude.
1838
+ # @return [Float]
1839
+ #
1840
+ # @!attribute [rw] longitude
1841
+ # The longitude.
1842
+ # @return [Float]
1843
+ class Location < Struct.new(
1844
+ :latitude,
1845
+ :longitude)
1846
+ include Aws::Structure
1847
+ end
1848
+
1849
+ # A number representing the monetary amount for an offering or
1850
+ # transaction.
1851
+ # @!attribute [rw] amount
1852
+ # The numerical amount of an offering or transaction.
1853
+ # @return [Float]
1854
+ #
1855
+ # @!attribute [rw] currency_code
1856
+ # The currency code of a monetary amount. For example, `USD` means
1857
+ # "U.S. dollars."
1858
+ # @return [String]
1859
+ class MonetaryAmount < Struct.new(
1860
+ :amount,
1861
+ :currency_code)
1862
+ include Aws::Structure
1863
+ end
1864
+
1865
+ # Represents the metadata of a device offering.
1866
+ # @!attribute [rw] id
1867
+ # The ID that corresponds to a device offering.
1868
+ # @return [String]
1869
+ #
1870
+ # @!attribute [rw] description
1871
+ # A string describing the offering.
1872
+ # @return [String]
1873
+ #
1874
+ # @!attribute [rw] type
1875
+ # The type of offering (e.g., "RECURRING") for a device.
1876
+ # @return [String]
1877
+ #
1878
+ # @!attribute [rw] platform
1879
+ # The platform of the device (e.g., ANDROID or IOS).
1880
+ # @return [String]
1881
+ #
1882
+ # @!attribute [rw] recurring_charges
1883
+ # Specifies whether there are recurring charges for the offering.
1884
+ # @return [Array<Types::RecurringCharge>]
1885
+ class Offering < Struct.new(
1886
+ :id,
1887
+ :description,
1888
+ :type,
1889
+ :platform,
1890
+ :recurring_charges)
1891
+ include Aws::Structure
1892
+ end
1893
+
1894
+ # The status of the offering.
1895
+ # @!attribute [rw] type
1896
+ # The type specified for the offering status.
1897
+ # @return [String]
1898
+ #
1899
+ # @!attribute [rw] offering
1900
+ # Represents the metadata of an offering status.
1901
+ # @return [Types::Offering]
1902
+ #
1903
+ # @!attribute [rw] quantity
1904
+ # The number of available devices in the offering.
1905
+ # @return [Integer]
1906
+ #
1907
+ # @!attribute [rw] effective_on
1908
+ # The date on which the offering is effective.
1909
+ # @return [Time]
1910
+ class OfferingStatus < Struct.new(
1911
+ :type,
1912
+ :offering,
1913
+ :quantity,
1914
+ :effective_on)
1915
+ include Aws::Structure
1916
+ end
1917
+
1918
+ # Represents the metadata of an offering transaction.
1919
+ # @!attribute [rw] offering_status
1920
+ # The status of an offering transaction.
1921
+ # @return [Types::OfferingStatus]
1922
+ #
1923
+ # @!attribute [rw] transaction_id
1924
+ # The transaction ID of the offering transaction.
1925
+ # @return [String]
1926
+ #
1927
+ # @!attribute [rw] created_on
1928
+ # The date on which an offering transaction was created.
1929
+ # @return [Time]
1930
+ #
1931
+ # @!attribute [rw] cost
1932
+ # The cost of an offering transaction.
1933
+ # @return [Types::MonetaryAmount]
1934
+ class OfferingTransaction < Struct.new(
1935
+ :offering_status,
1936
+ :transaction_id,
1937
+ :created_on,
1938
+ :cost)
1939
+ include Aws::Structure
1940
+ end
1941
+
1942
+ # Represents a specific warning or failure.
1943
+ # @!attribute [rw] run
1944
+ # Information about the associated run.
1945
+ # @return [Types::ProblemDetail]
1946
+ #
1947
+ # @!attribute [rw] job
1948
+ # Information about the associated job.
1949
+ # @return [Types::ProblemDetail]
1950
+ #
1951
+ # @!attribute [rw] suite
1952
+ # Information about the associated suite.
1953
+ # @return [Types::ProblemDetail]
1954
+ #
1955
+ # @!attribute [rw] test
1956
+ # Information about the associated test.
1957
+ # @return [Types::ProblemDetail]
1958
+ #
1959
+ # @!attribute [rw] device
1960
+ # Information about the associated device.
1961
+ # @return [Types::Device]
1962
+ #
1963
+ # @!attribute [rw] result
1964
+ # The problem's result.
1965
+ #
1966
+ # Allowed values include:
1967
+ #
1968
+ # * PENDING: A pending condition.
1969
+ #
1970
+ # * PASSED: A passing condition.
1971
+ #
1972
+ # * WARNED: A warning condition.
1973
+ #
1974
+ # * FAILED: A failed condition.
1975
+ #
1976
+ # * SKIPPED: A skipped condition.
1977
+ #
1978
+ # * ERRORED: An error condition.
1979
+ #
1980
+ # * STOPPED: A stopped condition.
1981
+ # @return [String]
1982
+ #
1983
+ # @!attribute [rw] message
1984
+ # A message about the problem's result.
1985
+ # @return [String]
1986
+ class Problem < Struct.new(
1987
+ :run,
1988
+ :job,
1989
+ :suite,
1990
+ :test,
1991
+ :device,
1992
+ :result,
1993
+ :message)
1994
+ include Aws::Structure
1995
+ end
1996
+
1997
+ # Information about a problem detail.
1998
+ # @!attribute [rw] arn
1999
+ # The problem detail's ARN.
2000
+ # @return [String]
2001
+ #
2002
+ # @!attribute [rw] name
2003
+ # The problem detail's name.
2004
+ # @return [String]
2005
+ class ProblemDetail < Struct.new(
2006
+ :arn,
2007
+ :name)
2008
+ include Aws::Structure
2009
+ end
2010
+
2011
+ # Represents an operating-system neutral workspace for running and
2012
+ # managing tests.
2013
+ # @!attribute [rw] arn
2014
+ # The project's ARN.
2015
+ # @return [String]
2016
+ #
2017
+ # @!attribute [rw] name
2018
+ # The project's name.
2019
+ # @return [String]
2020
+ #
2021
+ # @!attribute [rw] created
2022
+ # When the project was created.
2023
+ # @return [Time]
2024
+ class Project < Struct.new(
2025
+ :arn,
2026
+ :name,
2027
+ :created)
2028
+ include Aws::Structure
2029
+ end
2030
+
2031
+ # Represents a request for a purchase offering.
2032
+ # @note When making an API call, pass PurchaseOfferingRequest
2033
+ # data as a hash:
2034
+ #
2035
+ # {
2036
+ # offering_id: "OfferingIdentifier",
2037
+ # quantity: 1,
2038
+ # }
2039
+ # @!attribute [rw] offering_id
2040
+ # The ID of the offering.
2041
+ # @return [String]
2042
+ #
2043
+ # @!attribute [rw] quantity
2044
+ # The number of device slots you wish to purchase in an offering
2045
+ # request.
2046
+ # @return [Integer]
2047
+ class PurchaseOfferingRequest < Struct.new(
2048
+ :offering_id,
2049
+ :quantity)
2050
+ include Aws::Structure
2051
+ end
2052
+
2053
+ # The result of the purchase offering (e.g., success or failure).
2054
+ # @!attribute [rw] offering_transaction
2055
+ # Represents the offering transaction for the purchase result.
2056
+ # @return [Types::OfferingTransaction]
2057
+ class PurchaseOfferingResult < Struct.new(
2058
+ :offering_transaction)
2059
+ include Aws::Structure
2060
+ end
2061
+
2062
+ # Represents the set of radios and their states on a device. Examples of
2063
+ # radios include Wi-Fi, GPS, Bluetooth, and NFC.
2064
+ # @note When making an API call, pass Radios
2065
+ # data as a hash:
2066
+ #
2067
+ # {
2068
+ # wifi: false,
2069
+ # bluetooth: false,
2070
+ # nfc: false,
2071
+ # gps: false,
2072
+ # }
2073
+ # @!attribute [rw] wifi
2074
+ # True if Wi-Fi is enabled at the beginning of the test; otherwise,
2075
+ # false.
2076
+ # @return [Boolean]
2077
+ #
2078
+ # @!attribute [rw] bluetooth
2079
+ # True if Bluetooth is enabled at the beginning of the test;
2080
+ # otherwise, false.
2081
+ # @return [Boolean]
2082
+ #
2083
+ # @!attribute [rw] nfc
2084
+ # True if NFC is enabled at the beginning of the test; otherwise,
2085
+ # false.
2086
+ # @return [Boolean]
2087
+ #
2088
+ # @!attribute [rw] gps
2089
+ # True if GPS is enabled at the beginning of the test; otherwise,
2090
+ # false.
2091
+ # @return [Boolean]
2092
+ class Radios < Struct.new(
2093
+ :wifi,
2094
+ :bluetooth,
2095
+ :nfc,
2096
+ :gps)
2097
+ include Aws::Structure
2098
+ end
2099
+
2100
+ # Specifies whether charges for devices will be recurring.
2101
+ # @!attribute [rw] cost
2102
+ # The cost of the recurring charge.
2103
+ # @return [Types::MonetaryAmount]
2104
+ #
2105
+ # @!attribute [rw] frequency
2106
+ # The frequency in which charges will recur.
2107
+ # @return [String]
2108
+ class RecurringCharge < Struct.new(
2109
+ :cost,
2110
+ :frequency)
2111
+ include Aws::Structure
2112
+ end
2113
+
2114
+ # Represents information about the remote access session.
2115
+ # @!attribute [rw] arn
2116
+ # The Amazon Resource Name (ARN) of the remote access session.
2117
+ # @return [String]
2118
+ #
2119
+ # @!attribute [rw] name
2120
+ # The name of the remote access session.
2121
+ # @return [String]
2122
+ #
2123
+ # @!attribute [rw] created
2124
+ # The date and time the remote access session was created.
2125
+ # @return [Time]
2126
+ #
2127
+ # @!attribute [rw] status
2128
+ # The status of the remote access session. Can be any of the
2129
+ # following:
2130
+ #
2131
+ # * PENDING: A pending status.
2132
+ #
2133
+ # * PENDING\_CONCURRENCY: A pending concurrency status.
2134
+ #
2135
+ # * PENDING\_DEVICE: A pending device status.
2136
+ #
2137
+ # * PROCESSING: A processing status.
2138
+ #
2139
+ # * SCHEDULING: A scheduling status.
2140
+ #
2141
+ # * PREPARING: A preparing status.
2142
+ #
2143
+ # * RUNNING: A running status.
2144
+ #
2145
+ # * COMPLETED: A completed status.
2146
+ #
2147
+ # * STOPPING: A stopping status.
2148
+ # @return [String]
2149
+ #
2150
+ # @!attribute [rw] result
2151
+ # The result of the remote access session. Can be any of the
2152
+ # following:
2153
+ #
2154
+ # * PENDING: A pending condition.
2155
+ #
2156
+ # * PASSED: A passing condition.
2157
+ #
2158
+ # * WARNED: A warning condition.
2159
+ #
2160
+ # * FAILED: A failed condition.
2161
+ #
2162
+ # * SKIPPED: A skipped condition.
2163
+ #
2164
+ # * ERRORED: An error condition.
2165
+ #
2166
+ # * STOPPED: A stopped condition.
2167
+ # @return [String]
2168
+ #
2169
+ # @!attribute [rw] message
2170
+ # A message about the remote access session.
2171
+ # @return [String]
2172
+ #
2173
+ # @!attribute [rw] started
2174
+ # The date and time the remote access session was started.
2175
+ # @return [Time]
2176
+ #
2177
+ # @!attribute [rw] stopped
2178
+ # The date and time the remote access session was stopped.
2179
+ # @return [Time]
2180
+ #
2181
+ # @!attribute [rw] device
2182
+ # Represents a device type that an app is tested against.
2183
+ # @return [Types::Device]
2184
+ #
2185
+ # @!attribute [rw] billing_method
2186
+ # The billing method of the remote access session. Possible values
2187
+ # include `METERED` or `UNMETERED`. For more information about metered
2188
+ # devices, see [AWS Device Farm terminology][1]."
2189
+ #
2190
+ #
2191
+ #
2192
+ # [1]: http://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology
2193
+ # @return [String]
2194
+ #
2195
+ # @!attribute [rw] device_minutes
2196
+ # Represents the total (metered or unmetered) minutes used by the
2197
+ # resource to run tests. Contains the sum of minutes consumed by all
2198
+ # children.
2199
+ # @return [Types::DeviceMinutes]
2200
+ #
2201
+ # @!attribute [rw] endpoint
2202
+ # The endpoint for the remote access sesssion.
2203
+ # @return [String]
2204
+ class RemoteAccessSession < Struct.new(
2205
+ :arn,
2206
+ :name,
2207
+ :created,
2208
+ :status,
2209
+ :result,
2210
+ :message,
2211
+ :started,
2212
+ :stopped,
2213
+ :device,
2214
+ :billing_method,
2215
+ :device_minutes,
2216
+ :endpoint)
2217
+ include Aws::Structure
2218
+ end
2219
+
2220
+ # A request representing an offering renewal.
2221
+ # @note When making an API call, pass RenewOfferingRequest
2222
+ # data as a hash:
2223
+ #
2224
+ # {
2225
+ # offering_id: "OfferingIdentifier",
2226
+ # quantity: 1,
2227
+ # }
2228
+ # @!attribute [rw] offering_id
2229
+ # The ID of a request to renew an offering.
2230
+ # @return [String]
2231
+ #
2232
+ # @!attribute [rw] quantity
2233
+ # The quantity requested in an offering renewal.
2234
+ # @return [Integer]
2235
+ class RenewOfferingRequest < Struct.new(
2236
+ :offering_id,
2237
+ :quantity)
2238
+ include Aws::Structure
2239
+ end
2240
+
2241
+ # The result of a renewal offering.
2242
+ # @!attribute [rw] offering_transaction
2243
+ # Represents the status of the offering transaction for the renewal.
2244
+ # @return [Types::OfferingTransaction]
2245
+ class RenewOfferingResult < Struct.new(
2246
+ :offering_transaction)
2247
+ include Aws::Structure
2248
+ end
2249
+
2250
+ # Represents the screen resolution of a device in height and width,
2251
+ # expressed in pixels.
2252
+ # @!attribute [rw] width
2253
+ # The screen resolution's width, expressed in pixels.
2254
+ # @return [Integer]
2255
+ #
2256
+ # @!attribute [rw] height
2257
+ # The screen resolution's height, expressed in pixels.
2258
+ # @return [Integer]
2259
+ class Resolution < Struct.new(
2260
+ :width,
2261
+ :height)
2262
+ include Aws::Structure
2263
+ end
2264
+
2265
+ # Represents a condition for a device pool.
2266
+ # @note When making an API call, pass Rule
2267
+ # data as a hash:
2268
+ #
2269
+ # {
2270
+ # attribute: "ARN", # accepts ARN, PLATFORM, FORM_FACTOR, MANUFACTURER, REMOTE_ACCESS_ENABLED
2271
+ # operator: "EQUALS", # accepts EQUALS, LESS_THAN, GREATER_THAN, IN, NOT_IN
2272
+ # value: "String",
2273
+ # }
2274
+ # @!attribute [rw] attribute
2275
+ # The rule's stringified attribute. For example, specify the value as
2276
+ # `""abc""`.
2277
+ #
2278
+ # Allowed values include:
2279
+ #
2280
+ # * ARN: The ARN.
2281
+ #
2282
+ # * FORM\_FACTOR: The form factor (for example, phone or tablet).
2283
+ #
2284
+ # * MANUFACTURER: The manufacturer.
2285
+ #
2286
+ # * PLATFORM: The platform (for example, Android or iOS).
2287
+ # @return [String]
2288
+ #
2289
+ # @!attribute [rw] operator
2290
+ # The rule's operator.
2291
+ #
2292
+ # * EQUALS: The equals operator.
2293
+ #
2294
+ # * GREATER\_THAN: The greater-than operator.
2295
+ #
2296
+ # * IN: The in operator.
2297
+ #
2298
+ # * LESS\_THAN: The less-than operator.
2299
+ #
2300
+ # * NOT\_IN: The not-in operator.
2301
+ # @return [String]
2302
+ #
2303
+ # @!attribute [rw] value
2304
+ # The rule's value.
2305
+ # @return [String]
2306
+ class Rule < Struct.new(
2307
+ :attribute,
2308
+ :operator,
2309
+ :value)
2310
+ include Aws::Structure
2311
+ end
2312
+
2313
+ # Represents an app on a set of devices with a specific test and
2314
+ # configuration.
2315
+ # @!attribute [rw] arn
2316
+ # The run's ARN.
2317
+ # @return [String]
2318
+ #
2319
+ # @!attribute [rw] name
2320
+ # The run's name.
2321
+ # @return [String]
2322
+ #
2323
+ # @!attribute [rw] type
2324
+ # The run's type.
2325
+ #
2326
+ # Must be one of the following values:
2327
+ #
2328
+ # * BUILTIN\_FUZZ: The built-in fuzz type.
2329
+ #
2330
+ # * BUILTIN\_EXPLORER: For Android, an app explorer that will traverse
2331
+ # an Android app, interacting with it and capturing screenshots at
2332
+ # the same time.
2333
+ #
2334
+ # * APPIUM\_JAVA\_JUNIT: The Appium Java JUnit type.
2335
+ #
2336
+ # * APPIUM\_JAVA\_TESTNG: The Appium Java TestNG type.
2337
+ #
2338
+ # * APPIUM\_PYTHON: The Appium Python type.
2339
+ #
2340
+ # * APPIUM\_WEB\_JAVA\_JUNIT: The Appium Java JUnit type for Web apps.
2341
+ #
2342
+ # * APPIUM\_WEB\_JAVA\_TESTNG: The Appium Java TestNG type for Web
2343
+ # apps.
2344
+ #
2345
+ # * APPIUM\_WEB\_PYTHON: The Appium Python type for Web apps.
2346
+ #
2347
+ # * CALABASH: The Calabash type.
2348
+ #
2349
+ # * INSTRUMENTATION: The Instrumentation type.
2350
+ #
2351
+ # * UIAUTOMATION: The uiautomation type.
2352
+ #
2353
+ # * UIAUTOMATOR: The uiautomator type.
2354
+ #
2355
+ # * XCTEST: The XCode test type.
2356
+ #
2357
+ # * XCTEST\_UI: The XCode UI test type.
2358
+ # @return [String]
2359
+ #
2360
+ # @!attribute [rw] platform
2361
+ # The run's platform.
2362
+ #
2363
+ # Allowed values include:
2364
+ #
2365
+ # * ANDROID: The Android platform.
2366
+ #
2367
+ # * IOS: The iOS platform.
2368
+ # @return [String]
2369
+ #
2370
+ # @!attribute [rw] created
2371
+ # When the run was created.
2372
+ # @return [Time]
2373
+ #
2374
+ # @!attribute [rw] status
2375
+ # The run's status.
2376
+ #
2377
+ # Allowed values include:
2378
+ #
2379
+ # * PENDING: A pending status.
2380
+ #
2381
+ # * PENDING\_CONCURRENCY: A pending concurrency status.
2382
+ #
2383
+ # * PENDING\_DEVICE: A pending device status.
2384
+ #
2385
+ # * PROCESSING: A processing status.
2386
+ #
2387
+ # * SCHEDULING: A scheduling status.
2388
+ #
2389
+ # * PREPARING: A preparing status.
2390
+ #
2391
+ # * RUNNING: A running status.
2392
+ #
2393
+ # * COMPLETED: A completed status.
2394
+ #
2395
+ # * STOPPING: A stopping status.
2396
+ # @return [String]
2397
+ #
2398
+ # @!attribute [rw] result
2399
+ # The run's result.
2400
+ #
2401
+ # Allowed values include:
2402
+ #
2403
+ # * PENDING: A pending condition.
2404
+ #
2405
+ # * PASSED: A passing condition.
2406
+ #
2407
+ # * WARNED: A warning condition.
2408
+ #
2409
+ # * FAILED: A failed condition.
2410
+ #
2411
+ # * SKIPPED: A skipped condition.
2412
+ #
2413
+ # * ERRORED: An error condition.
2414
+ #
2415
+ # * STOPPED: A stopped condition.
2416
+ # @return [String]
2417
+ #
2418
+ # @!attribute [rw] started
2419
+ # The run's start time.
2420
+ # @return [Time]
2421
+ #
2422
+ # @!attribute [rw] stopped
2423
+ # The run's stop time.
2424
+ # @return [Time]
2425
+ #
2426
+ # @!attribute [rw] counters
2427
+ # The run's result counters.
2428
+ # @return [Types::Counters]
2429
+ #
2430
+ # @!attribute [rw] message
2431
+ # A message about the run's result.
2432
+ # @return [String]
2433
+ #
2434
+ # @!attribute [rw] total_jobs
2435
+ # The total number of jobs for the run.
2436
+ # @return [Integer]
2437
+ #
2438
+ # @!attribute [rw] completed_jobs
2439
+ # The total number of completed jobs.
2440
+ # @return [Integer]
2441
+ #
2442
+ # @!attribute [rw] billing_method
2443
+ # Specifies the billing method for a test run: `metered` or
2444
+ # `unmetered`. If the parameter is not specified, the default value is
2445
+ # `metered`.
2446
+ # @return [String]
2447
+ #
2448
+ # @!attribute [rw] device_minutes
2449
+ # Represents the total (metered or unmetered) minutes used by the test
2450
+ # run.
2451
+ # @return [Types::DeviceMinutes]
2452
+ class Run < Struct.new(
2453
+ :arn,
2454
+ :name,
2455
+ :type,
2456
+ :platform,
2457
+ :created,
2458
+ :status,
2459
+ :result,
2460
+ :started,
2461
+ :stopped,
2462
+ :counters,
2463
+ :message,
2464
+ :total_jobs,
2465
+ :completed_jobs,
2466
+ :billing_method,
2467
+ :device_minutes)
2468
+ include Aws::Structure
2469
+ end
2470
+
2471
+ # Represents a sample of performance data.
2472
+ # @!attribute [rw] arn
2473
+ # The sample's ARN.
2474
+ # @return [String]
2475
+ #
2476
+ # @!attribute [rw] type
2477
+ # The sample's type.
2478
+ #
2479
+ # Must be one of the following values:
2480
+ #
2481
+ # * CPU: A CPU sample type. This is expressed as the app processing
2482
+ # CPU time (including child processes) as reported by process, as a
2483
+ # percentage.
2484
+ #
2485
+ # * MEMORY: A memory usage sample type. This is expressed as the total
2486
+ # proportional set size of an app process, in kilobytes.
2487
+ #
2488
+ # * NATIVE\_AVG\_DRAWTIME
2489
+ #
2490
+ # * NATIVE\_FPS
2491
+ #
2492
+ # * NATIVE\_FRAMES
2493
+ #
2494
+ # * NATIVE\_MAX\_DRAWTIME
2495
+ #
2496
+ # * NATIVE\_MIN\_DRAWTIME
2497
+ #
2498
+ # * OPENGL\_AVG\_DRAWTIME
2499
+ #
2500
+ # * OPENGL\_FPS
2501
+ #
2502
+ # * OPENGL\_FRAMES
2503
+ #
2504
+ # * OPENGL\_MAX\_DRAWTIME
2505
+ #
2506
+ # * OPENGL\_MIN\_DRAWTIME
2507
+ #
2508
+ # * RX
2509
+ #
2510
+ # * RX\_RATE: The total number of bytes per second (TCP and UDP) that
2511
+ # are sent, by app process.
2512
+ #
2513
+ # * THREADS: A threads sample type. This is expressed as the total
2514
+ # number of threads per app process.
2515
+ #
2516
+ # * TX
2517
+ #
2518
+ # * TX\_RATE: The total number of bytes per second (TCP and UDP) that
2519
+ # are received, by app process.
2520
+ # @return [String]
2521
+ #
2522
+ # @!attribute [rw] url
2523
+ # The pre-signed Amazon S3 URL that can be used with a corresponding
2524
+ # GET request to download the sample's file.
2525
+ # @return [String]
2526
+ class Sample < Struct.new(
2527
+ :arn,
2528
+ :type,
2529
+ :url)
2530
+ include Aws::Structure
2531
+ end
2532
+
2533
+ # Represents the settings for a run. Includes things like location,
2534
+ # radio states, auxiliary apps, and network profiles.
2535
+ # @note When making an API call, pass ScheduleRunConfiguration
2536
+ # data as a hash:
2537
+ #
2538
+ # {
2539
+ # extra_data_package_arn: "AmazonResourceName",
2540
+ # network_profile_arn: "AmazonResourceName",
2541
+ # locale: "String",
2542
+ # location: {
2543
+ # latitude: 1.0, # required
2544
+ # longitude: 1.0, # required
2545
+ # },
2546
+ # radios: {
2547
+ # wifi: false,
2548
+ # bluetooth: false,
2549
+ # nfc: false,
2550
+ # gps: false,
2551
+ # },
2552
+ # auxiliary_apps: ["AmazonResourceName"],
2553
+ # billing_method: "METERED", # accepts METERED, UNMETERED
2554
+ # }
2555
+ # @!attribute [rw] extra_data_package_arn
2556
+ # The ARN of the extra data for the run. The extra data is a .zip file
2557
+ # that AWS Device Farm will extract to external data for Android or
2558
+ # the app's sandbox for iOS.
2559
+ # @return [String]
2560
+ #
2561
+ # @!attribute [rw] network_profile_arn
2562
+ # Reserved for internal use.
2563
+ # @return [String]
2564
+ #
2565
+ # @!attribute [rw] locale
2566
+ # Information about the locale that is used for the run.
2567
+ # @return [String]
2568
+ #
2569
+ # @!attribute [rw] location
2570
+ # Information about the location that is used for the run.
2571
+ # @return [Types::Location]
2572
+ #
2573
+ # @!attribute [rw] radios
2574
+ # Information about the radio states for the run.
2575
+ # @return [Types::Radios]
2576
+ #
2577
+ # @!attribute [rw] auxiliary_apps
2578
+ # A list of auxiliary apps for the run.
2579
+ # @return [Array<String>]
2580
+ #
2581
+ # @!attribute [rw] billing_method
2582
+ # Specifies the billing method for a test run: `metered` or
2583
+ # `unmetered`. If the parameter is not specified, the default value is
2584
+ # `metered`.
2585
+ # @return [String]
2586
+ class ScheduleRunConfiguration < Struct.new(
2587
+ :extra_data_package_arn,
2588
+ :network_profile_arn,
2589
+ :locale,
2590
+ :location,
2591
+ :radios,
2592
+ :auxiliary_apps,
2593
+ :billing_method)
2594
+ include Aws::Structure
2595
+ end
2596
+
2597
+ # Represents a request to the schedule run operation.
2598
+ # @note When making an API call, pass ScheduleRunRequest
2599
+ # data as a hash:
2600
+ #
2601
+ # {
2602
+ # project_arn: "AmazonResourceName", # required
2603
+ # app_arn: "AmazonResourceName",
2604
+ # device_pool_arn: "AmazonResourceName", # required
2605
+ # name: "Name",
2606
+ # test: { # required
2607
+ # 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
2608
+ # test_package_arn: "AmazonResourceName",
2609
+ # filter: "Filter",
2610
+ # parameters: {
2611
+ # "String" => "String",
2612
+ # },
2613
+ # },
2614
+ # configuration: {
2615
+ # extra_data_package_arn: "AmazonResourceName",
2616
+ # network_profile_arn: "AmazonResourceName",
2617
+ # locale: "String",
2618
+ # location: {
2619
+ # latitude: 1.0, # required
2620
+ # longitude: 1.0, # required
2621
+ # },
2622
+ # radios: {
2623
+ # wifi: false,
2624
+ # bluetooth: false,
2625
+ # nfc: false,
2626
+ # gps: false,
2627
+ # },
2628
+ # auxiliary_apps: ["AmazonResourceName"],
2629
+ # billing_method: "METERED", # accepts METERED, UNMETERED
2630
+ # },
2631
+ # }
2632
+ # @!attribute [rw] project_arn
2633
+ # The ARN of the project for the run to be scheduled.
2634
+ # @return [String]
2635
+ #
2636
+ # @!attribute [rw] app_arn
2637
+ # The ARN of the app to schedule a run.
2638
+ # @return [String]
2639
+ #
2640
+ # @!attribute [rw] device_pool_arn
2641
+ # The ARN of the device pool for the run to be scheduled.
2642
+ # @return [String]
2643
+ #
2644
+ # @!attribute [rw] name
2645
+ # The name for the run to be scheduled.
2646
+ # @return [String]
2647
+ #
2648
+ # @!attribute [rw] test
2649
+ # Information about the test for the run to be scheduled.
2650
+ # @return [Types::ScheduleRunTest]
2651
+ #
2652
+ # @!attribute [rw] configuration
2653
+ # Information about the settings for the run to be scheduled.
2654
+ # @return [Types::ScheduleRunConfiguration]
2655
+ class ScheduleRunRequest < Struct.new(
2656
+ :project_arn,
2657
+ :app_arn,
2658
+ :device_pool_arn,
2659
+ :name,
2660
+ :test,
2661
+ :configuration)
2662
+ include Aws::Structure
2663
+ end
2664
+
2665
+ # Represents the result of a schedule run request.
2666
+ # @!attribute [rw] run
2667
+ # Information about the scheduled run.
2668
+ # @return [Types::Run]
2669
+ class ScheduleRunResult < Struct.new(
2670
+ :run)
2671
+ include Aws::Structure
2672
+ end
2673
+
2674
+ # Represents additional test settings.
2675
+ # @note When making an API call, pass ScheduleRunTest
2676
+ # data as a hash:
2677
+ #
2678
+ # {
2679
+ # 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
2680
+ # test_package_arn: "AmazonResourceName",
2681
+ # filter: "Filter",
2682
+ # parameters: {
2683
+ # "String" => "String",
2684
+ # },
2685
+ # }
2686
+ # @!attribute [rw] type
2687
+ # The test's type.
2688
+ #
2689
+ # Must be one of the following values:
2690
+ #
2691
+ # * BUILTIN\_FUZZ: The built-in fuzz type.
2692
+ #
2693
+ # * BUILTIN\_EXPLORER: For Android, an app explorer that will traverse
2694
+ # an Android app, interacting with it and capturing screenshots at
2695
+ # the same time.
2696
+ #
2697
+ # * APPIUM\_JAVA\_JUNIT: The Appium Java JUnit type.
2698
+ #
2699
+ # * APPIUM\_JAVA\_TESTNG: The Appium Java TestNG type.
2700
+ #
2701
+ # * APPIUM\_PYTHON: The Appium Python type.
2702
+ #
2703
+ # * APPIUM\_WEB\_JAVA\_JUNIT: The Appium Java JUnit type for Web apps.
2704
+ #
2705
+ # * APPIUM\_WEB\_JAVA\_TESTNG: The Appium Java TestNG type for Web
2706
+ # apps.
2707
+ #
2708
+ # * APPIUM\_WEB\_PYTHON: The Appium Python type for Web apps.
2709
+ #
2710
+ # * CALABASH: The Calabash type.
2711
+ #
2712
+ # * INSTRUMENTATION: The Instrumentation type.
2713
+ #
2714
+ # * UIAUTOMATION: The uiautomation type.
2715
+ #
2716
+ # * UIAUTOMATOR: The uiautomator type.
2717
+ #
2718
+ # * XCTEST: The XCode test type.
2719
+ #
2720
+ # * XCTEST\_UI: The XCode UI test type.
2721
+ # @return [String]
2722
+ #
2723
+ # @!attribute [rw] test_package_arn
2724
+ # The ARN of the uploaded test that will be run.
2725
+ # @return [String]
2726
+ #
2727
+ # @!attribute [rw] filter
2728
+ # The test's filter.
2729
+ # @return [String]
2730
+ #
2731
+ # @!attribute [rw] parameters
2732
+ # The test's parameters, such as test framework parameters and
2733
+ # fixture settings.
2734
+ # @return [Hash<String,String>]
2735
+ class ScheduleRunTest < Struct.new(
2736
+ :type,
2737
+ :test_package_arn,
2738
+ :filter,
2739
+ :parameters)
2740
+ include Aws::Structure
2741
+ end
2742
+
2743
+ # Represents the request to stop the remote access session.
2744
+ # @note When making an API call, pass StopRemoteAccessSessionRequest
2745
+ # data as a hash:
2746
+ #
2747
+ # {
2748
+ # arn: "AmazonResourceName", # required
2749
+ # }
2750
+ # @!attribute [rw] arn
2751
+ # The Amazon Resource Name (ARN) of the remote access session you wish
2752
+ # to stop.
2753
+ # @return [String]
2754
+ class StopRemoteAccessSessionRequest < Struct.new(
2755
+ :arn)
2756
+ include Aws::Structure
2757
+ end
2758
+
2759
+ # Represents the response from the server that describes the remote
2760
+ # access session when AWS Device Farm stops the session.
2761
+ # @!attribute [rw] remote_access_session
2762
+ # A container representing the metadata from the service about the
2763
+ # remote access session you are stopping.
2764
+ # @return [Types::RemoteAccessSession]
2765
+ class StopRemoteAccessSessionResult < Struct.new(
2766
+ :remote_access_session)
2767
+ include Aws::Structure
2768
+ end
2769
+
2770
+ # Represents the request to stop a specific run.
2771
+ # @note When making an API call, pass StopRunRequest
2772
+ # data as a hash:
2773
+ #
2774
+ # {
2775
+ # arn: "AmazonResourceName", # required
2776
+ # }
2777
+ # @!attribute [rw] arn
2778
+ # Represents the Amazon Resource Name (ARN) of the Device Farm run you
2779
+ # wish to stop.
2780
+ # @return [String]
2781
+ class StopRunRequest < Struct.new(
2782
+ :arn)
2783
+ include Aws::Structure
2784
+ end
2785
+
2786
+ # Represents the results of your stop run attempt.
2787
+ # @!attribute [rw] run
2788
+ # Represents an app on a set of devices with a specific test and
2789
+ # configuration.
2790
+ # @return [Types::Run]
2791
+ class StopRunResult < Struct.new(
2792
+ :run)
2793
+ include Aws::Structure
2794
+ end
2795
+
2796
+ # Represents a collection of one or more tests.
2797
+ # @!attribute [rw] arn
2798
+ # The suite's ARN.
2799
+ # @return [String]
2800
+ #
2801
+ # @!attribute [rw] name
2802
+ # The suite's name.
2803
+ # @return [String]
2804
+ #
2805
+ # @!attribute [rw] type
2806
+ # The suite's type.
2807
+ #
2808
+ # Must be one of the following values:
2809
+ #
2810
+ # * BUILTIN\_FUZZ: The built-in fuzz type.
2811
+ #
2812
+ # * BUILTIN\_EXPLORER: For Android, an app explorer that will traverse
2813
+ # an Android app, interacting with it and capturing screenshots at
2814
+ # the same time.
2815
+ #
2816
+ # * APPIUM\_JAVA\_JUNIT: The Appium Java JUnit type.
2817
+ #
2818
+ # * APPIUM\_JAVA\_TESTNG: The Appium Java TestNG type.
2819
+ #
2820
+ # * APPIUM\_PYTHON: The Appium Python type.
2821
+ #
2822
+ # * APPIUM\_WEB\_JAVA\_JUNIT: The Appium Java JUnit type for Web apps.
2823
+ #
2824
+ # * APPIUM\_WEB\_JAVA\_TESTNG: The Appium Java TestNG type for Web
2825
+ # apps.
2826
+ #
2827
+ # * APPIUM\_WEB\_PYTHON: The Appium Python type for Web apps.
2828
+ #
2829
+ # * CALABASH: The Calabash type.
2830
+ #
2831
+ # * INSTRUMENTATION: The Instrumentation type.
2832
+ #
2833
+ # * UIAUTOMATION: The uiautomation type.
2834
+ #
2835
+ # * UIAUTOMATOR: The uiautomator type.
2836
+ #
2837
+ # * XCTEST: The XCode test type.
2838
+ #
2839
+ # * XCTEST\_UI: The XCode UI test type.
2840
+ # @return [String]
2841
+ #
2842
+ # @!attribute [rw] created
2843
+ # When the suite was created.
2844
+ # @return [Time]
2845
+ #
2846
+ # @!attribute [rw] status
2847
+ # The suite's status.
2848
+ #
2849
+ # Allowed values include:
2850
+ #
2851
+ # * PENDING: A pending status.
2852
+ #
2853
+ # * PENDING\_CONCURRENCY: A pending concurrency status.
2854
+ #
2855
+ # * PENDING\_DEVICE: A pending device status.
2856
+ #
2857
+ # * PROCESSING: A processing status.
2858
+ #
2859
+ # * SCHEDULING: A scheduling status.
2860
+ #
2861
+ # * PREPARING: A preparing status.
2862
+ #
2863
+ # * RUNNING: A running status.
2864
+ #
2865
+ # * COMPLETED: A completed status.
2866
+ #
2867
+ # * STOPPING: A stopping status.
2868
+ # @return [String]
2869
+ #
2870
+ # @!attribute [rw] result
2871
+ # The suite's result.
2872
+ #
2873
+ # Allowed values include:
2874
+ #
2875
+ # * PENDING: A pending condition.
2876
+ #
2877
+ # * PASSED: A passing condition.
2878
+ #
2879
+ # * WARNED: A warning condition.
2880
+ #
2881
+ # * FAILED: A failed condition.
2882
+ #
2883
+ # * SKIPPED: A skipped condition.
2884
+ #
2885
+ # * ERRORED: An error condition.
2886
+ #
2887
+ # * STOPPED: A stopped condition.
2888
+ # @return [String]
2889
+ #
2890
+ # @!attribute [rw] started
2891
+ # The suite's start time.
2892
+ # @return [Time]
2893
+ #
2894
+ # @!attribute [rw] stopped
2895
+ # The suite's stop time.
2896
+ # @return [Time]
2897
+ #
2898
+ # @!attribute [rw] counters
2899
+ # The suite's result counters.
2900
+ # @return [Types::Counters]
2901
+ #
2902
+ # @!attribute [rw] message
2903
+ # A message about the suite's result.
2904
+ # @return [String]
2905
+ #
2906
+ # @!attribute [rw] device_minutes
2907
+ # Represents the total (metered or unmetered) minutes used by the test
2908
+ # suite.
2909
+ # @return [Types::DeviceMinutes]
2910
+ class Suite < Struct.new(
2911
+ :arn,
2912
+ :name,
2913
+ :type,
2914
+ :created,
2915
+ :status,
2916
+ :result,
2917
+ :started,
2918
+ :stopped,
2919
+ :counters,
2920
+ :message,
2921
+ :device_minutes)
2922
+ include Aws::Structure
2923
+ end
2924
+
2925
+ # Represents a condition that is evaluated.
2926
+ # @!attribute [rw] arn
2927
+ # The test's ARN.
2928
+ # @return [String]
2929
+ #
2930
+ # @!attribute [rw] name
2931
+ # The test's name.
2932
+ # @return [String]
2933
+ #
2934
+ # @!attribute [rw] type
2935
+ # The test's type.
2936
+ #
2937
+ # Must be one of the following values:
2938
+ #
2939
+ # * BUILTIN\_FUZZ: The built-in fuzz type.
2940
+ #
2941
+ # * BUILTIN\_EXPLORER: For Android, an app explorer that will traverse
2942
+ # an Android app, interacting with it and capturing screenshots at
2943
+ # the same time.
2944
+ #
2945
+ # * APPIUM\_JAVA\_JUNIT: The Appium Java JUnit type.
2946
+ #
2947
+ # * APPIUM\_JAVA\_TESTNG: The Appium Java TestNG type.
2948
+ #
2949
+ # * APPIUM\_PYTHON: The Appium Python type.
2950
+ #
2951
+ # * APPIUM\_WEB\_JAVA\_JUNIT: The Appium Java JUnit type for Web apps.
2952
+ #
2953
+ # * APPIUM\_WEB\_JAVA\_TESTNG: The Appium Java TestNG type for Web
2954
+ # apps.
2955
+ #
2956
+ # * APPIUM\_WEB\_PYTHON: The Appium Python type for Web apps.
2957
+ #
2958
+ # * CALABASH: The Calabash type.
2959
+ #
2960
+ # * INSTRUMENTATION: The Instrumentation type.
2961
+ #
2962
+ # * UIAUTOMATION: The uiautomation type.
2963
+ #
2964
+ # * UIAUTOMATOR: The uiautomator type.
2965
+ #
2966
+ # * XCTEST: The XCode test type.
2967
+ #
2968
+ # * XCTEST\_UI: The XCode UI test type.
2969
+ # @return [String]
2970
+ #
2971
+ # @!attribute [rw] created
2972
+ # When the test was created.
2973
+ # @return [Time]
2974
+ #
2975
+ # @!attribute [rw] status
2976
+ # The test's status.
2977
+ #
2978
+ # Allowed values include:
2979
+ #
2980
+ # * PENDING: A pending status.
2981
+ #
2982
+ # * PENDING\_CONCURRENCY: A pending concurrency status.
2983
+ #
2984
+ # * PENDING\_DEVICE: A pending device status.
2985
+ #
2986
+ # * PROCESSING: A processing status.
2987
+ #
2988
+ # * SCHEDULING: A scheduling status.
2989
+ #
2990
+ # * PREPARING: A preparing status.
2991
+ #
2992
+ # * RUNNING: A running status.
2993
+ #
2994
+ # * COMPLETED: A completed status.
2995
+ #
2996
+ # * STOPPING: A stopping status.
2997
+ # @return [String]
2998
+ #
2999
+ # @!attribute [rw] result
3000
+ # The test's result.
3001
+ #
3002
+ # Allowed values include:
3003
+ #
3004
+ # * PENDING: A pending condition.
3005
+ #
3006
+ # * PASSED: A passing condition.
3007
+ #
3008
+ # * WARNED: A warning condition.
3009
+ #
3010
+ # * FAILED: A failed condition.
3011
+ #
3012
+ # * SKIPPED: A skipped condition.
3013
+ #
3014
+ # * ERRORED: An error condition.
3015
+ #
3016
+ # * STOPPED: A stopped condition.
3017
+ # @return [String]
3018
+ #
3019
+ # @!attribute [rw] started
3020
+ # The test's start time.
3021
+ # @return [Time]
3022
+ #
3023
+ # @!attribute [rw] stopped
3024
+ # The test's stop time.
3025
+ # @return [Time]
3026
+ #
3027
+ # @!attribute [rw] counters
3028
+ # The test's result counters.
3029
+ # @return [Types::Counters]
3030
+ #
3031
+ # @!attribute [rw] message
3032
+ # A message about the test's result.
3033
+ # @return [String]
3034
+ #
3035
+ # @!attribute [rw] device_minutes
3036
+ # Represents the total (metered or unmetered) minutes used by the
3037
+ # test.
3038
+ # @return [Types::DeviceMinutes]
3039
+ class Test < Struct.new(
3040
+ :arn,
3041
+ :name,
3042
+ :type,
3043
+ :created,
3044
+ :status,
3045
+ :result,
3046
+ :started,
3047
+ :stopped,
3048
+ :counters,
3049
+ :message,
3050
+ :device_minutes)
3051
+ include Aws::Structure
3052
+ end
3053
+
3054
+ # A collection of one or more problems, grouped by their result.
3055
+ # @!attribute [rw] message
3056
+ # A message about the unique problems' result.
3057
+ # @return [String]
3058
+ #
3059
+ # @!attribute [rw] problems
3060
+ # Information about the problems.
3061
+ # @return [Array<Types::Problem>]
3062
+ class UniqueProblem < Struct.new(
3063
+ :message,
3064
+ :problems)
3065
+ include Aws::Structure
3066
+ end
3067
+
3068
+ # Represents a request to the update device pool operation.
3069
+ # @note When making an API call, pass UpdateDevicePoolRequest
3070
+ # data as a hash:
3071
+ #
3072
+ # {
3073
+ # arn: "AmazonResourceName", # required
3074
+ # name: "Name",
3075
+ # description: "Message",
3076
+ # rules: [
3077
+ # {
3078
+ # attribute: "ARN", # accepts ARN, PLATFORM, FORM_FACTOR, MANUFACTURER, REMOTE_ACCESS_ENABLED
3079
+ # operator: "EQUALS", # accepts EQUALS, LESS_THAN, GREATER_THAN, IN, NOT_IN
3080
+ # value: "String",
3081
+ # },
3082
+ # ],
3083
+ # }
3084
+ # @!attribute [rw] arn
3085
+ # The Amazon Resourc Name (ARN) of the Device Farm device pool you
3086
+ # wish to update.
3087
+ # @return [String]
3088
+ #
3089
+ # @!attribute [rw] name
3090
+ # A string representing the name of the device pool you wish to
3091
+ # update.
3092
+ # @return [String]
3093
+ #
3094
+ # @!attribute [rw] description
3095
+ # A description of the device pool you wish to update.
3096
+ # @return [String]
3097
+ #
3098
+ # @!attribute [rw] rules
3099
+ # Represents the rules you wish to modify for the device pool.
3100
+ # Updating rules is optional; however, if you choose to update rules
3101
+ # for your request, the update will replace the existing rules.
3102
+ # @return [Array<Types::Rule>]
3103
+ class UpdateDevicePoolRequest < Struct.new(
3104
+ :arn,
3105
+ :name,
3106
+ :description,
3107
+ :rules)
3108
+ include Aws::Structure
3109
+ end
3110
+
3111
+ # Represents the result of an update device pool request.
3112
+ # @!attribute [rw] device_pool
3113
+ # Represents a collection of device types.
3114
+ # @return [Types::DevicePool]
3115
+ class UpdateDevicePoolResult < Struct.new(
3116
+ :device_pool)
3117
+ include Aws::Structure
3118
+ end
3119
+
3120
+ # Represents a request to the update project operation.
3121
+ # @note When making an API call, pass UpdateProjectRequest
3122
+ # data as a hash:
3123
+ #
3124
+ # {
3125
+ # arn: "AmazonResourceName", # required
3126
+ # name: "Name",
3127
+ # }
3128
+ # @!attribute [rw] arn
3129
+ # The Amazon Resource Name (ARN) of the project whose name you wish to
3130
+ # update.
3131
+ # @return [String]
3132
+ #
3133
+ # @!attribute [rw] name
3134
+ # A string representing the new name of the project that you are
3135
+ # updating.
3136
+ # @return [String]
3137
+ class UpdateProjectRequest < Struct.new(
3138
+ :arn,
3139
+ :name)
3140
+ include Aws::Structure
3141
+ end
3142
+
3143
+ # Represents the result of an update project request.
3144
+ # @!attribute [rw] project
3145
+ # Represents an operating-system neutral workspace for running and
3146
+ # managing tests.
3147
+ # @return [Types::Project]
3148
+ class UpdateProjectResult < Struct.new(
3149
+ :project)
3150
+ include Aws::Structure
3151
+ end
3152
+
3153
+ # An app or a set of one or more tests to upload or that have been
3154
+ # uploaded.
3155
+ # @!attribute [rw] arn
3156
+ # The upload's ARN.
3157
+ # @return [String]
3158
+ #
3159
+ # @!attribute [rw] name
3160
+ # The upload's file name.
3161
+ # @return [String]
3162
+ #
3163
+ # @!attribute [rw] created
3164
+ # When the upload was created.
3165
+ # @return [Time]
3166
+ #
3167
+ # @!attribute [rw] type
3168
+ # The upload's type.
3169
+ #
3170
+ # Must be one of the following values:
3171
+ #
3172
+ # * ANDROID\_APP: An Android upload.
3173
+ #
3174
+ # * IOS\_APP: An iOS upload.
3175
+ #
3176
+ # * WEB\_APP: A web appliction upload.
3177
+ #
3178
+ # * EXTERNAL\_DATA: An external data upload.
3179
+ #
3180
+ # * APPIUM\_JAVA\_JUNIT\_TEST\_PACKAGE: An Appium Java JUnit test
3181
+ # package upload.
3182
+ #
3183
+ # * APPIUM\_JAVA\_TESTNG\_TEST\_PACKAGE: An Appium Java TestNG test
3184
+ # package upload.
3185
+ #
3186
+ # * APPIUM\_PYTHON\_TEST\_PACKAGE: An Appium Python test package
3187
+ # upload.
3188
+ #
3189
+ # * APPIUM\_WEB\_JAVA\_JUNIT\_TEST\_PACKAGE: An Appium Java JUnit test
3190
+ # package upload.
3191
+ #
3192
+ # * APPIUM\_WEB\_JAVA\_TESTNG\_TEST\_PACKAGE: An Appium Java TestNG
3193
+ # test package upload.
3194
+ #
3195
+ # * APPIUM\_WEB\_PYTHON\_TEST\_PACKAGE: An Appium Python test package
3196
+ # upload.
3197
+ #
3198
+ # * CALABASH\_TEST\_PACKAGE: A Calabash test package upload.
3199
+ #
3200
+ # * INSTRUMENTATION\_TEST\_PACKAGE: An instrumentation upload.
3201
+ #
3202
+ # * UIAUTOMATION\_TEST\_PACKAGE: A uiautomation test package upload.
3203
+ #
3204
+ # * UIAUTOMATOR\_TEST\_PACKAGE: A uiautomator test package upload.
3205
+ #
3206
+ # * XCTEST\_TEST\_PACKAGE: An XCode test package upload.
3207
+ #
3208
+ # * XCTEST\_UI\_TEST\_PACKAGE: An XCode UI test package upload.
3209
+ # @return [String]
3210
+ #
3211
+ # @!attribute [rw] status
3212
+ # The upload's status.
3213
+ #
3214
+ # Must be one of the following values:
3215
+ #
3216
+ # * FAILED: A failed status.
3217
+ #
3218
+ # * INITIALIZED: An initialized status.
3219
+ #
3220
+ # * PROCESSING: A processing status.
3221
+ #
3222
+ # * SUCCEEDED: A succeeded status.
3223
+ # @return [String]
3224
+ #
3225
+ # @!attribute [rw] url
3226
+ # The pre-signed Amazon S3 URL that was used to store a file through a
3227
+ # corresponding PUT request.
3228
+ # @return [String]
3229
+ #
3230
+ # @!attribute [rw] metadata
3231
+ # The upload's metadata. For example, for Android, this contains
3232
+ # information that is parsed from the manifest and is displayed in the
3233
+ # AWS Device Farm console after the associated app is uploaded.
3234
+ # @return [String]
3235
+ #
3236
+ # @!attribute [rw] content_type
3237
+ # The upload's content type (for example,
3238
+ # "application/octet-stream").
3239
+ # @return [String]
3240
+ #
3241
+ # @!attribute [rw] message
3242
+ # A message about the upload's result.
3243
+ # @return [String]
3244
+ class Upload < Struct.new(
3245
+ :arn,
3246
+ :name,
3247
+ :created,
3248
+ :type,
3249
+ :status,
3250
+ :url,
3251
+ :metadata,
3252
+ :content_type,
3253
+ :message)
3254
+ include Aws::Structure
3255
+ end
3256
+
3257
+ end
3258
+ end
3259
+ end