aws-sdk-devicefarm 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ # 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