1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package devicefarm
4
5import (
6	"time"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11)
12
13const opCreateDevicePool = "CreateDevicePool"
14
15// CreateDevicePoolRequest generates a "aws/request.Request" representing the
16// client's request for the CreateDevicePool operation. The "output" return
17// value will be populated with the request's response once the request complets
18// successfuly.
19//
20// Use "Send" method on the returned Request to send the API call to the service.
21// the "output" return value is not valid until after Send returns without error.
22//
23// See CreateDevicePool for more information on using the CreateDevicePool
24// API call, and error handling.
25//
26// This method is useful when you want to inject custom logic or configuration
27// into the SDK's request lifecycle. Such as custom headers, or retry logic.
28//
29//
30//    // Example sending a request using the CreateDevicePoolRequest method.
31//    req, resp := client.CreateDevicePoolRequest(params)
32//
33//    err := req.Send()
34//    if err == nil { // resp is now filled
35//        fmt.Println(resp)
36//    }
37//
38// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateDevicePool
39func (c *DeviceFarm) CreateDevicePoolRequest(input *CreateDevicePoolInput) (req *request.Request, output *CreateDevicePoolOutput) {
40	op := &request.Operation{
41		Name:       opCreateDevicePool,
42		HTTPMethod: "POST",
43		HTTPPath:   "/",
44	}
45
46	if input == nil {
47		input = &CreateDevicePoolInput{}
48	}
49
50	output = &CreateDevicePoolOutput{}
51	req = c.newRequest(op, input, output)
52	return
53}
54
55// CreateDevicePool API operation for AWS Device Farm.
56//
57// Creates a device pool.
58//
59// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
60// with awserr.Error's Code and Message methods to get detailed information about
61// the error.
62//
63// See the AWS API reference guide for AWS Device Farm's
64// API operation CreateDevicePool for usage and error information.
65//
66// Returned Error Codes:
67//   * ErrCodeArgumentException "ArgumentException"
68//   An invalid argument was specified.
69//
70//   * ErrCodeNotFoundException "NotFoundException"
71//   The specified entity was not found.
72//
73//   * ErrCodeLimitExceededException "LimitExceededException"
74//   A limit was exceeded.
75//
76//   * ErrCodeServiceAccountException "ServiceAccountException"
77//   There was a problem with the service account.
78//
79// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateDevicePool
80func (c *DeviceFarm) CreateDevicePool(input *CreateDevicePoolInput) (*CreateDevicePoolOutput, error) {
81	req, out := c.CreateDevicePoolRequest(input)
82	return out, req.Send()
83}
84
85// CreateDevicePoolWithContext is the same as CreateDevicePool with the addition of
86// the ability to pass a context and additional request options.
87//
88// See CreateDevicePool for details on how to use this API operation.
89//
90// The context must be non-nil and will be used for request cancellation. If
91// the context is nil a panic will occur. In the future the SDK may create
92// sub-contexts for http.Requests. See https://golang.org/pkg/context/
93// for more information on using Contexts.
94func (c *DeviceFarm) CreateDevicePoolWithContext(ctx aws.Context, input *CreateDevicePoolInput, opts ...request.Option) (*CreateDevicePoolOutput, error) {
95	req, out := c.CreateDevicePoolRequest(input)
96	req.SetContext(ctx)
97	req.ApplyOptions(opts...)
98	return out, req.Send()
99}
100
101const opCreateNetworkProfile = "CreateNetworkProfile"
102
103// CreateNetworkProfileRequest generates a "aws/request.Request" representing the
104// client's request for the CreateNetworkProfile operation. The "output" return
105// value will be populated with the request's response once the request complets
106// successfuly.
107//
108// Use "Send" method on the returned Request to send the API call to the service.
109// the "output" return value is not valid until after Send returns without error.
110//
111// See CreateNetworkProfile for more information on using the CreateNetworkProfile
112// API call, and error handling.
113//
114// This method is useful when you want to inject custom logic or configuration
115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
116//
117//
118//    // Example sending a request using the CreateNetworkProfileRequest method.
119//    req, resp := client.CreateNetworkProfileRequest(params)
120//
121//    err := req.Send()
122//    if err == nil { // resp is now filled
123//        fmt.Println(resp)
124//    }
125//
126// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateNetworkProfile
127func (c *DeviceFarm) CreateNetworkProfileRequest(input *CreateNetworkProfileInput) (req *request.Request, output *CreateNetworkProfileOutput) {
128	op := &request.Operation{
129		Name:       opCreateNetworkProfile,
130		HTTPMethod: "POST",
131		HTTPPath:   "/",
132	}
133
134	if input == nil {
135		input = &CreateNetworkProfileInput{}
136	}
137
138	output = &CreateNetworkProfileOutput{}
139	req = c.newRequest(op, input, output)
140	return
141}
142
143// CreateNetworkProfile API operation for AWS Device Farm.
144//
145// Creates a network profile.
146//
147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
148// with awserr.Error's Code and Message methods to get detailed information about
149// the error.
150//
151// See the AWS API reference guide for AWS Device Farm's
152// API operation CreateNetworkProfile for usage and error information.
153//
154// Returned Error Codes:
155//   * ErrCodeArgumentException "ArgumentException"
156//   An invalid argument was specified.
157//
158//   * ErrCodeNotFoundException "NotFoundException"
159//   The specified entity was not found.
160//
161//   * ErrCodeLimitExceededException "LimitExceededException"
162//   A limit was exceeded.
163//
164//   * ErrCodeServiceAccountException "ServiceAccountException"
165//   There was a problem with the service account.
166//
167// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateNetworkProfile
168func (c *DeviceFarm) CreateNetworkProfile(input *CreateNetworkProfileInput) (*CreateNetworkProfileOutput, error) {
169	req, out := c.CreateNetworkProfileRequest(input)
170	return out, req.Send()
171}
172
173// CreateNetworkProfileWithContext is the same as CreateNetworkProfile with the addition of
174// the ability to pass a context and additional request options.
175//
176// See CreateNetworkProfile for details on how to use this API operation.
177//
178// The context must be non-nil and will be used for request cancellation. If
179// the context is nil a panic will occur. In the future the SDK may create
180// sub-contexts for http.Requests. See https://golang.org/pkg/context/
181// for more information on using Contexts.
182func (c *DeviceFarm) CreateNetworkProfileWithContext(ctx aws.Context, input *CreateNetworkProfileInput, opts ...request.Option) (*CreateNetworkProfileOutput, error) {
183	req, out := c.CreateNetworkProfileRequest(input)
184	req.SetContext(ctx)
185	req.ApplyOptions(opts...)
186	return out, req.Send()
187}
188
189const opCreateProject = "CreateProject"
190
191// CreateProjectRequest generates a "aws/request.Request" representing the
192// client's request for the CreateProject operation. The "output" return
193// value will be populated with the request's response once the request complets
194// successfuly.
195//
196// Use "Send" method on the returned Request to send the API call to the service.
197// the "output" return value is not valid until after Send returns without error.
198//
199// See CreateProject for more information on using the CreateProject
200// API call, and error handling.
201//
202// This method is useful when you want to inject custom logic or configuration
203// into the SDK's request lifecycle. Such as custom headers, or retry logic.
204//
205//
206//    // Example sending a request using the CreateProjectRequest method.
207//    req, resp := client.CreateProjectRequest(params)
208//
209//    err := req.Send()
210//    if err == nil { // resp is now filled
211//        fmt.Println(resp)
212//    }
213//
214// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateProject
215func (c *DeviceFarm) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
216	op := &request.Operation{
217		Name:       opCreateProject,
218		HTTPMethod: "POST",
219		HTTPPath:   "/",
220	}
221
222	if input == nil {
223		input = &CreateProjectInput{}
224	}
225
226	output = &CreateProjectOutput{}
227	req = c.newRequest(op, input, output)
228	return
229}
230
231// CreateProject API operation for AWS Device Farm.
232//
233// Creates a new project.
234//
235// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
236// with awserr.Error's Code and Message methods to get detailed information about
237// the error.
238//
239// See the AWS API reference guide for AWS Device Farm's
240// API operation CreateProject for usage and error information.
241//
242// Returned Error Codes:
243//   * ErrCodeArgumentException "ArgumentException"
244//   An invalid argument was specified.
245//
246//   * ErrCodeNotFoundException "NotFoundException"
247//   The specified entity was not found.
248//
249//   * ErrCodeLimitExceededException "LimitExceededException"
250//   A limit was exceeded.
251//
252//   * ErrCodeServiceAccountException "ServiceAccountException"
253//   There was a problem with the service account.
254//
255// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateProject
256func (c *DeviceFarm) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
257	req, out := c.CreateProjectRequest(input)
258	return out, req.Send()
259}
260
261// CreateProjectWithContext is the same as CreateProject with the addition of
262// the ability to pass a context and additional request options.
263//
264// See CreateProject for details on how to use this API operation.
265//
266// The context must be non-nil and will be used for request cancellation. If
267// the context is nil a panic will occur. In the future the SDK may create
268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
269// for more information on using Contexts.
270func (c *DeviceFarm) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
271	req, out := c.CreateProjectRequest(input)
272	req.SetContext(ctx)
273	req.ApplyOptions(opts...)
274	return out, req.Send()
275}
276
277const opCreateRemoteAccessSession = "CreateRemoteAccessSession"
278
279// CreateRemoteAccessSessionRequest generates a "aws/request.Request" representing the
280// client's request for the CreateRemoteAccessSession operation. The "output" return
281// value will be populated with the request's response once the request complets
282// successfuly.
283//
284// Use "Send" method on the returned Request to send the API call to the service.
285// the "output" return value is not valid until after Send returns without error.
286//
287// See CreateRemoteAccessSession for more information on using the CreateRemoteAccessSession
288// API call, and error handling.
289//
290// This method is useful when you want to inject custom logic or configuration
291// into the SDK's request lifecycle. Such as custom headers, or retry logic.
292//
293//
294//    // Example sending a request using the CreateRemoteAccessSessionRequest method.
295//    req, resp := client.CreateRemoteAccessSessionRequest(params)
296//
297//    err := req.Send()
298//    if err == nil { // resp is now filled
299//        fmt.Println(resp)
300//    }
301//
302// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSession
303func (c *DeviceFarm) CreateRemoteAccessSessionRequest(input *CreateRemoteAccessSessionInput) (req *request.Request, output *CreateRemoteAccessSessionOutput) {
304	op := &request.Operation{
305		Name:       opCreateRemoteAccessSession,
306		HTTPMethod: "POST",
307		HTTPPath:   "/",
308	}
309
310	if input == nil {
311		input = &CreateRemoteAccessSessionInput{}
312	}
313
314	output = &CreateRemoteAccessSessionOutput{}
315	req = c.newRequest(op, input, output)
316	return
317}
318
319// CreateRemoteAccessSession API operation for AWS Device Farm.
320//
321// Specifies and starts a remote access session.
322//
323// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
324// with awserr.Error's Code and Message methods to get detailed information about
325// the error.
326//
327// See the AWS API reference guide for AWS Device Farm's
328// API operation CreateRemoteAccessSession for usage and error information.
329//
330// Returned Error Codes:
331//   * ErrCodeArgumentException "ArgumentException"
332//   An invalid argument was specified.
333//
334//   * ErrCodeNotFoundException "NotFoundException"
335//   The specified entity was not found.
336//
337//   * ErrCodeLimitExceededException "LimitExceededException"
338//   A limit was exceeded.
339//
340//   * ErrCodeServiceAccountException "ServiceAccountException"
341//   There was a problem with the service account.
342//
343// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSession
344func (c *DeviceFarm) CreateRemoteAccessSession(input *CreateRemoteAccessSessionInput) (*CreateRemoteAccessSessionOutput, error) {
345	req, out := c.CreateRemoteAccessSessionRequest(input)
346	return out, req.Send()
347}
348
349// CreateRemoteAccessSessionWithContext is the same as CreateRemoteAccessSession with the addition of
350// the ability to pass a context and additional request options.
351//
352// See CreateRemoteAccessSession for details on how to use this API operation.
353//
354// The context must be non-nil and will be used for request cancellation. If
355// the context is nil a panic will occur. In the future the SDK may create
356// sub-contexts for http.Requests. See https://golang.org/pkg/context/
357// for more information on using Contexts.
358func (c *DeviceFarm) CreateRemoteAccessSessionWithContext(ctx aws.Context, input *CreateRemoteAccessSessionInput, opts ...request.Option) (*CreateRemoteAccessSessionOutput, error) {
359	req, out := c.CreateRemoteAccessSessionRequest(input)
360	req.SetContext(ctx)
361	req.ApplyOptions(opts...)
362	return out, req.Send()
363}
364
365const opCreateUpload = "CreateUpload"
366
367// CreateUploadRequest generates a "aws/request.Request" representing the
368// client's request for the CreateUpload operation. The "output" return
369// value will be populated with the request's response once the request complets
370// successfuly.
371//
372// Use "Send" method on the returned Request to send the API call to the service.
373// the "output" return value is not valid until after Send returns without error.
374//
375// See CreateUpload for more information on using the CreateUpload
376// API call, and error handling.
377//
378// This method is useful when you want to inject custom logic or configuration
379// into the SDK's request lifecycle. Such as custom headers, or retry logic.
380//
381//
382//    // Example sending a request using the CreateUploadRequest method.
383//    req, resp := client.CreateUploadRequest(params)
384//
385//    err := req.Send()
386//    if err == nil { // resp is now filled
387//        fmt.Println(resp)
388//    }
389//
390// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUpload
391func (c *DeviceFarm) CreateUploadRequest(input *CreateUploadInput) (req *request.Request, output *CreateUploadOutput) {
392	op := &request.Operation{
393		Name:       opCreateUpload,
394		HTTPMethod: "POST",
395		HTTPPath:   "/",
396	}
397
398	if input == nil {
399		input = &CreateUploadInput{}
400	}
401
402	output = &CreateUploadOutput{}
403	req = c.newRequest(op, input, output)
404	return
405}
406
407// CreateUpload API operation for AWS Device Farm.
408//
409// Uploads an app or test scripts.
410//
411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
412// with awserr.Error's Code and Message methods to get detailed information about
413// the error.
414//
415// See the AWS API reference guide for AWS Device Farm's
416// API operation CreateUpload for usage and error information.
417//
418// Returned Error Codes:
419//   * ErrCodeArgumentException "ArgumentException"
420//   An invalid argument was specified.
421//
422//   * ErrCodeNotFoundException "NotFoundException"
423//   The specified entity was not found.
424//
425//   * ErrCodeLimitExceededException "LimitExceededException"
426//   A limit was exceeded.
427//
428//   * ErrCodeServiceAccountException "ServiceAccountException"
429//   There was a problem with the service account.
430//
431// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUpload
432func (c *DeviceFarm) CreateUpload(input *CreateUploadInput) (*CreateUploadOutput, error) {
433	req, out := c.CreateUploadRequest(input)
434	return out, req.Send()
435}
436
437// CreateUploadWithContext is the same as CreateUpload with the addition of
438// the ability to pass a context and additional request options.
439//
440// See CreateUpload for details on how to use this API operation.
441//
442// The context must be non-nil and will be used for request cancellation. If
443// the context is nil a panic will occur. In the future the SDK may create
444// sub-contexts for http.Requests. See https://golang.org/pkg/context/
445// for more information on using Contexts.
446func (c *DeviceFarm) CreateUploadWithContext(ctx aws.Context, input *CreateUploadInput, opts ...request.Option) (*CreateUploadOutput, error) {
447	req, out := c.CreateUploadRequest(input)
448	req.SetContext(ctx)
449	req.ApplyOptions(opts...)
450	return out, req.Send()
451}
452
453const opDeleteDevicePool = "DeleteDevicePool"
454
455// DeleteDevicePoolRequest generates a "aws/request.Request" representing the
456// client's request for the DeleteDevicePool operation. The "output" return
457// value will be populated with the request's response once the request complets
458// successfuly.
459//
460// Use "Send" method on the returned Request to send the API call to the service.
461// the "output" return value is not valid until after Send returns without error.
462//
463// See DeleteDevicePool for more information on using the DeleteDevicePool
464// API call, and error handling.
465//
466// This method is useful when you want to inject custom logic or configuration
467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
468//
469//
470//    // Example sending a request using the DeleteDevicePoolRequest method.
471//    req, resp := client.DeleteDevicePoolRequest(params)
472//
473//    err := req.Send()
474//    if err == nil { // resp is now filled
475//        fmt.Println(resp)
476//    }
477//
478// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePool
479func (c *DeviceFarm) DeleteDevicePoolRequest(input *DeleteDevicePoolInput) (req *request.Request, output *DeleteDevicePoolOutput) {
480	op := &request.Operation{
481		Name:       opDeleteDevicePool,
482		HTTPMethod: "POST",
483		HTTPPath:   "/",
484	}
485
486	if input == nil {
487		input = &DeleteDevicePoolInput{}
488	}
489
490	output = &DeleteDevicePoolOutput{}
491	req = c.newRequest(op, input, output)
492	return
493}
494
495// DeleteDevicePool API operation for AWS Device Farm.
496//
497// Deletes a device pool given the pool ARN. Does not allow deletion of curated
498// pools owned by the system.
499//
500// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
501// with awserr.Error's Code and Message methods to get detailed information about
502// the error.
503//
504// See the AWS API reference guide for AWS Device Farm's
505// API operation DeleteDevicePool for usage and error information.
506//
507// Returned Error Codes:
508//   * ErrCodeArgumentException "ArgumentException"
509//   An invalid argument was specified.
510//
511//   * ErrCodeNotFoundException "NotFoundException"
512//   The specified entity was not found.
513//
514//   * ErrCodeLimitExceededException "LimitExceededException"
515//   A limit was exceeded.
516//
517//   * ErrCodeServiceAccountException "ServiceAccountException"
518//   There was a problem with the service account.
519//
520// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePool
521func (c *DeviceFarm) DeleteDevicePool(input *DeleteDevicePoolInput) (*DeleteDevicePoolOutput, error) {
522	req, out := c.DeleteDevicePoolRequest(input)
523	return out, req.Send()
524}
525
526// DeleteDevicePoolWithContext is the same as DeleteDevicePool with the addition of
527// the ability to pass a context and additional request options.
528//
529// See DeleteDevicePool for details on how to use this API operation.
530//
531// The context must be non-nil and will be used for request cancellation. If
532// the context is nil a panic will occur. In the future the SDK may create
533// sub-contexts for http.Requests. See https://golang.org/pkg/context/
534// for more information on using Contexts.
535func (c *DeviceFarm) DeleteDevicePoolWithContext(ctx aws.Context, input *DeleteDevicePoolInput, opts ...request.Option) (*DeleteDevicePoolOutput, error) {
536	req, out := c.DeleteDevicePoolRequest(input)
537	req.SetContext(ctx)
538	req.ApplyOptions(opts...)
539	return out, req.Send()
540}
541
542const opDeleteNetworkProfile = "DeleteNetworkProfile"
543
544// DeleteNetworkProfileRequest generates a "aws/request.Request" representing the
545// client's request for the DeleteNetworkProfile operation. The "output" return
546// value will be populated with the request's response once the request complets
547// successfuly.
548//
549// Use "Send" method on the returned Request to send the API call to the service.
550// the "output" return value is not valid until after Send returns without error.
551//
552// See DeleteNetworkProfile for more information on using the DeleteNetworkProfile
553// API call, and error handling.
554//
555// This method is useful when you want to inject custom logic or configuration
556// into the SDK's request lifecycle. Such as custom headers, or retry logic.
557//
558//
559//    // Example sending a request using the DeleteNetworkProfileRequest method.
560//    req, resp := client.DeleteNetworkProfileRequest(params)
561//
562//    err := req.Send()
563//    if err == nil { // resp is now filled
564//        fmt.Println(resp)
565//    }
566//
567// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteNetworkProfile
568func (c *DeviceFarm) DeleteNetworkProfileRequest(input *DeleteNetworkProfileInput) (req *request.Request, output *DeleteNetworkProfileOutput) {
569	op := &request.Operation{
570		Name:       opDeleteNetworkProfile,
571		HTTPMethod: "POST",
572		HTTPPath:   "/",
573	}
574
575	if input == nil {
576		input = &DeleteNetworkProfileInput{}
577	}
578
579	output = &DeleteNetworkProfileOutput{}
580	req = c.newRequest(op, input, output)
581	return
582}
583
584// DeleteNetworkProfile API operation for AWS Device Farm.
585//
586// Deletes a network profile.
587//
588// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
589// with awserr.Error's Code and Message methods to get detailed information about
590// the error.
591//
592// See the AWS API reference guide for AWS Device Farm's
593// API operation DeleteNetworkProfile for usage and error information.
594//
595// Returned Error Codes:
596//   * ErrCodeArgumentException "ArgumentException"
597//   An invalid argument was specified.
598//
599//   * ErrCodeNotFoundException "NotFoundException"
600//   The specified entity was not found.
601//
602//   * ErrCodeLimitExceededException "LimitExceededException"
603//   A limit was exceeded.
604//
605//   * ErrCodeServiceAccountException "ServiceAccountException"
606//   There was a problem with the service account.
607//
608// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteNetworkProfile
609func (c *DeviceFarm) DeleteNetworkProfile(input *DeleteNetworkProfileInput) (*DeleteNetworkProfileOutput, error) {
610	req, out := c.DeleteNetworkProfileRequest(input)
611	return out, req.Send()
612}
613
614// DeleteNetworkProfileWithContext is the same as DeleteNetworkProfile with the addition of
615// the ability to pass a context and additional request options.
616//
617// See DeleteNetworkProfile for details on how to use this API operation.
618//
619// The context must be non-nil and will be used for request cancellation. If
620// the context is nil a panic will occur. In the future the SDK may create
621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
622// for more information on using Contexts.
623func (c *DeviceFarm) DeleteNetworkProfileWithContext(ctx aws.Context, input *DeleteNetworkProfileInput, opts ...request.Option) (*DeleteNetworkProfileOutput, error) {
624	req, out := c.DeleteNetworkProfileRequest(input)
625	req.SetContext(ctx)
626	req.ApplyOptions(opts...)
627	return out, req.Send()
628}
629
630const opDeleteProject = "DeleteProject"
631
632// DeleteProjectRequest generates a "aws/request.Request" representing the
633// client's request for the DeleteProject operation. The "output" return
634// value will be populated with the request's response once the request complets
635// successfuly.
636//
637// Use "Send" method on the returned Request to send the API call to the service.
638// the "output" return value is not valid until after Send returns without error.
639//
640// See DeleteProject for more information on using the DeleteProject
641// API call, and error handling.
642//
643// This method is useful when you want to inject custom logic or configuration
644// into the SDK's request lifecycle. Such as custom headers, or retry logic.
645//
646//
647//    // Example sending a request using the DeleteProjectRequest method.
648//    req, resp := client.DeleteProjectRequest(params)
649//
650//    err := req.Send()
651//    if err == nil { // resp is now filled
652//        fmt.Println(resp)
653//    }
654//
655// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteProject
656func (c *DeviceFarm) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
657	op := &request.Operation{
658		Name:       opDeleteProject,
659		HTTPMethod: "POST",
660		HTTPPath:   "/",
661	}
662
663	if input == nil {
664		input = &DeleteProjectInput{}
665	}
666
667	output = &DeleteProjectOutput{}
668	req = c.newRequest(op, input, output)
669	return
670}
671
672// DeleteProject API operation for AWS Device Farm.
673//
674// Deletes an AWS Device Farm project, given the project ARN.
675//
676// Note Deleting this resource does not stop an in-progress run.
677//
678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
679// with awserr.Error's Code and Message methods to get detailed information about
680// the error.
681//
682// See the AWS API reference guide for AWS Device Farm's
683// API operation DeleteProject for usage and error information.
684//
685// Returned Error Codes:
686//   * ErrCodeArgumentException "ArgumentException"
687//   An invalid argument was specified.
688//
689//   * ErrCodeNotFoundException "NotFoundException"
690//   The specified entity was not found.
691//
692//   * ErrCodeLimitExceededException "LimitExceededException"
693//   A limit was exceeded.
694//
695//   * ErrCodeServiceAccountException "ServiceAccountException"
696//   There was a problem with the service account.
697//
698// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteProject
699func (c *DeviceFarm) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
700	req, out := c.DeleteProjectRequest(input)
701	return out, req.Send()
702}
703
704// DeleteProjectWithContext is the same as DeleteProject with the addition of
705// the ability to pass a context and additional request options.
706//
707// See DeleteProject for details on how to use this API operation.
708//
709// The context must be non-nil and will be used for request cancellation. If
710// the context is nil a panic will occur. In the future the SDK may create
711// sub-contexts for http.Requests. See https://golang.org/pkg/context/
712// for more information on using Contexts.
713func (c *DeviceFarm) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
714	req, out := c.DeleteProjectRequest(input)
715	req.SetContext(ctx)
716	req.ApplyOptions(opts...)
717	return out, req.Send()
718}
719
720const opDeleteRemoteAccessSession = "DeleteRemoteAccessSession"
721
722// DeleteRemoteAccessSessionRequest generates a "aws/request.Request" representing the
723// client's request for the DeleteRemoteAccessSession operation. The "output" return
724// value will be populated with the request's response once the request complets
725// successfuly.
726//
727// Use "Send" method on the returned Request to send the API call to the service.
728// the "output" return value is not valid until after Send returns without error.
729//
730// See DeleteRemoteAccessSession for more information on using the DeleteRemoteAccessSession
731// API call, and error handling.
732//
733// This method is useful when you want to inject custom logic or configuration
734// into the SDK's request lifecycle. Such as custom headers, or retry logic.
735//
736//
737//    // Example sending a request using the DeleteRemoteAccessSessionRequest method.
738//    req, resp := client.DeleteRemoteAccessSessionRequest(params)
739//
740//    err := req.Send()
741//    if err == nil { // resp is now filled
742//        fmt.Println(resp)
743//    }
744//
745// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRemoteAccessSession
746func (c *DeviceFarm) DeleteRemoteAccessSessionRequest(input *DeleteRemoteAccessSessionInput) (req *request.Request, output *DeleteRemoteAccessSessionOutput) {
747	op := &request.Operation{
748		Name:       opDeleteRemoteAccessSession,
749		HTTPMethod: "POST",
750		HTTPPath:   "/",
751	}
752
753	if input == nil {
754		input = &DeleteRemoteAccessSessionInput{}
755	}
756
757	output = &DeleteRemoteAccessSessionOutput{}
758	req = c.newRequest(op, input, output)
759	return
760}
761
762// DeleteRemoteAccessSession API operation for AWS Device Farm.
763//
764// Deletes a completed remote access session and its results.
765//
766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
767// with awserr.Error's Code and Message methods to get detailed information about
768// the error.
769//
770// See the AWS API reference guide for AWS Device Farm's
771// API operation DeleteRemoteAccessSession for usage and error information.
772//
773// Returned Error Codes:
774//   * ErrCodeArgumentException "ArgumentException"
775//   An invalid argument was specified.
776//
777//   * ErrCodeNotFoundException "NotFoundException"
778//   The specified entity was not found.
779//
780//   * ErrCodeLimitExceededException "LimitExceededException"
781//   A limit was exceeded.
782//
783//   * ErrCodeServiceAccountException "ServiceAccountException"
784//   There was a problem with the service account.
785//
786// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRemoteAccessSession
787func (c *DeviceFarm) DeleteRemoteAccessSession(input *DeleteRemoteAccessSessionInput) (*DeleteRemoteAccessSessionOutput, error) {
788	req, out := c.DeleteRemoteAccessSessionRequest(input)
789	return out, req.Send()
790}
791
792// DeleteRemoteAccessSessionWithContext is the same as DeleteRemoteAccessSession with the addition of
793// the ability to pass a context and additional request options.
794//
795// See DeleteRemoteAccessSession for details on how to use this API operation.
796//
797// The context must be non-nil and will be used for request cancellation. If
798// the context is nil a panic will occur. In the future the SDK may create
799// sub-contexts for http.Requests. See https://golang.org/pkg/context/
800// for more information on using Contexts.
801func (c *DeviceFarm) DeleteRemoteAccessSessionWithContext(ctx aws.Context, input *DeleteRemoteAccessSessionInput, opts ...request.Option) (*DeleteRemoteAccessSessionOutput, error) {
802	req, out := c.DeleteRemoteAccessSessionRequest(input)
803	req.SetContext(ctx)
804	req.ApplyOptions(opts...)
805	return out, req.Send()
806}
807
808const opDeleteRun = "DeleteRun"
809
810// DeleteRunRequest generates a "aws/request.Request" representing the
811// client's request for the DeleteRun operation. The "output" return
812// value will be populated with the request's response once the request complets
813// successfuly.
814//
815// Use "Send" method on the returned Request to send the API call to the service.
816// the "output" return value is not valid until after Send returns without error.
817//
818// See DeleteRun for more information on using the DeleteRun
819// API call, and error handling.
820//
821// This method is useful when you want to inject custom logic or configuration
822// into the SDK's request lifecycle. Such as custom headers, or retry logic.
823//
824//
825//    // Example sending a request using the DeleteRunRequest method.
826//    req, resp := client.DeleteRunRequest(params)
827//
828//    err := req.Send()
829//    if err == nil { // resp is now filled
830//        fmt.Println(resp)
831//    }
832//
833// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRun
834func (c *DeviceFarm) DeleteRunRequest(input *DeleteRunInput) (req *request.Request, output *DeleteRunOutput) {
835	op := &request.Operation{
836		Name:       opDeleteRun,
837		HTTPMethod: "POST",
838		HTTPPath:   "/",
839	}
840
841	if input == nil {
842		input = &DeleteRunInput{}
843	}
844
845	output = &DeleteRunOutput{}
846	req = c.newRequest(op, input, output)
847	return
848}
849
850// DeleteRun API operation for AWS Device Farm.
851//
852// Deletes the run, given the run ARN.
853//
854// Note Deleting this resource does not stop an in-progress run.
855//
856// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
857// with awserr.Error's Code and Message methods to get detailed information about
858// the error.
859//
860// See the AWS API reference guide for AWS Device Farm's
861// API operation DeleteRun for usage and error information.
862//
863// Returned Error Codes:
864//   * ErrCodeArgumentException "ArgumentException"
865//   An invalid argument was specified.
866//
867//   * ErrCodeNotFoundException "NotFoundException"
868//   The specified entity was not found.
869//
870//   * ErrCodeLimitExceededException "LimitExceededException"
871//   A limit was exceeded.
872//
873//   * ErrCodeServiceAccountException "ServiceAccountException"
874//   There was a problem with the service account.
875//
876// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRun
877func (c *DeviceFarm) DeleteRun(input *DeleteRunInput) (*DeleteRunOutput, error) {
878	req, out := c.DeleteRunRequest(input)
879	return out, req.Send()
880}
881
882// DeleteRunWithContext is the same as DeleteRun with the addition of
883// the ability to pass a context and additional request options.
884//
885// See DeleteRun for details on how to use this API operation.
886//
887// The context must be non-nil and will be used for request cancellation. If
888// the context is nil a panic will occur. In the future the SDK may create
889// sub-contexts for http.Requests. See https://golang.org/pkg/context/
890// for more information on using Contexts.
891func (c *DeviceFarm) DeleteRunWithContext(ctx aws.Context, input *DeleteRunInput, opts ...request.Option) (*DeleteRunOutput, error) {
892	req, out := c.DeleteRunRequest(input)
893	req.SetContext(ctx)
894	req.ApplyOptions(opts...)
895	return out, req.Send()
896}
897
898const opDeleteUpload = "DeleteUpload"
899
900// DeleteUploadRequest generates a "aws/request.Request" representing the
901// client's request for the DeleteUpload operation. The "output" return
902// value will be populated with the request's response once the request complets
903// successfuly.
904//
905// Use "Send" method on the returned Request to send the API call to the service.
906// the "output" return value is not valid until after Send returns without error.
907//
908// See DeleteUpload for more information on using the DeleteUpload
909// API call, and error handling.
910//
911// This method is useful when you want to inject custom logic or configuration
912// into the SDK's request lifecycle. Such as custom headers, or retry logic.
913//
914//
915//    // Example sending a request using the DeleteUploadRequest method.
916//    req, resp := client.DeleteUploadRequest(params)
917//
918//    err := req.Send()
919//    if err == nil { // resp is now filled
920//        fmt.Println(resp)
921//    }
922//
923// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteUpload
924func (c *DeviceFarm) DeleteUploadRequest(input *DeleteUploadInput) (req *request.Request, output *DeleteUploadOutput) {
925	op := &request.Operation{
926		Name:       opDeleteUpload,
927		HTTPMethod: "POST",
928		HTTPPath:   "/",
929	}
930
931	if input == nil {
932		input = &DeleteUploadInput{}
933	}
934
935	output = &DeleteUploadOutput{}
936	req = c.newRequest(op, input, output)
937	return
938}
939
940// DeleteUpload API operation for AWS Device Farm.
941//
942// Deletes an upload given the upload ARN.
943//
944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
945// with awserr.Error's Code and Message methods to get detailed information about
946// the error.
947//
948// See the AWS API reference guide for AWS Device Farm's
949// API operation DeleteUpload for usage and error information.
950//
951// Returned Error Codes:
952//   * ErrCodeArgumentException "ArgumentException"
953//   An invalid argument was specified.
954//
955//   * ErrCodeNotFoundException "NotFoundException"
956//   The specified entity was not found.
957//
958//   * ErrCodeLimitExceededException "LimitExceededException"
959//   A limit was exceeded.
960//
961//   * ErrCodeServiceAccountException "ServiceAccountException"
962//   There was a problem with the service account.
963//
964// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteUpload
965func (c *DeviceFarm) DeleteUpload(input *DeleteUploadInput) (*DeleteUploadOutput, error) {
966	req, out := c.DeleteUploadRequest(input)
967	return out, req.Send()
968}
969
970// DeleteUploadWithContext is the same as DeleteUpload with the addition of
971// the ability to pass a context and additional request options.
972//
973// See DeleteUpload for details on how to use this API operation.
974//
975// The context must be non-nil and will be used for request cancellation. If
976// the context is nil a panic will occur. In the future the SDK may create
977// sub-contexts for http.Requests. See https://golang.org/pkg/context/
978// for more information on using Contexts.
979func (c *DeviceFarm) DeleteUploadWithContext(ctx aws.Context, input *DeleteUploadInput, opts ...request.Option) (*DeleteUploadOutput, error) {
980	req, out := c.DeleteUploadRequest(input)
981	req.SetContext(ctx)
982	req.ApplyOptions(opts...)
983	return out, req.Send()
984}
985
986const opGetAccountSettings = "GetAccountSettings"
987
988// GetAccountSettingsRequest generates a "aws/request.Request" representing the
989// client's request for the GetAccountSettings operation. The "output" return
990// value will be populated with the request's response once the request complets
991// successfuly.
992//
993// Use "Send" method on the returned Request to send the API call to the service.
994// the "output" return value is not valid until after Send returns without error.
995//
996// See GetAccountSettings for more information on using the GetAccountSettings
997// API call, and error handling.
998//
999// This method is useful when you want to inject custom logic or configuration
1000// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1001//
1002//
1003//    // Example sending a request using the GetAccountSettingsRequest method.
1004//    req, resp := client.GetAccountSettingsRequest(params)
1005//
1006//    err := req.Send()
1007//    if err == nil { // resp is now filled
1008//        fmt.Println(resp)
1009//    }
1010//
1011// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetAccountSettings
1012func (c *DeviceFarm) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req *request.Request, output *GetAccountSettingsOutput) {
1013	op := &request.Operation{
1014		Name:       opGetAccountSettings,
1015		HTTPMethod: "POST",
1016		HTTPPath:   "/",
1017	}
1018
1019	if input == nil {
1020		input = &GetAccountSettingsInput{}
1021	}
1022
1023	output = &GetAccountSettingsOutput{}
1024	req = c.newRequest(op, input, output)
1025	return
1026}
1027
1028// GetAccountSettings API operation for AWS Device Farm.
1029//
1030// Returns the number of unmetered iOS and/or unmetered Android devices that
1031// have been purchased by the account.
1032//
1033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1034// with awserr.Error's Code and Message methods to get detailed information about
1035// the error.
1036//
1037// See the AWS API reference guide for AWS Device Farm's
1038// API operation GetAccountSettings for usage and error information.
1039//
1040// Returned Error Codes:
1041//   * ErrCodeArgumentException "ArgumentException"
1042//   An invalid argument was specified.
1043//
1044//   * ErrCodeNotFoundException "NotFoundException"
1045//   The specified entity was not found.
1046//
1047//   * ErrCodeLimitExceededException "LimitExceededException"
1048//   A limit was exceeded.
1049//
1050//   * ErrCodeServiceAccountException "ServiceAccountException"
1051//   There was a problem with the service account.
1052//
1053// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetAccountSettings
1054func (c *DeviceFarm) GetAccountSettings(input *GetAccountSettingsInput) (*GetAccountSettingsOutput, error) {
1055	req, out := c.GetAccountSettingsRequest(input)
1056	return out, req.Send()
1057}
1058
1059// GetAccountSettingsWithContext is the same as GetAccountSettings with the addition of
1060// the ability to pass a context and additional request options.
1061//
1062// See GetAccountSettings for details on how to use this API operation.
1063//
1064// The context must be non-nil and will be used for request cancellation. If
1065// the context is nil a panic will occur. In the future the SDK may create
1066// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1067// for more information on using Contexts.
1068func (c *DeviceFarm) GetAccountSettingsWithContext(ctx aws.Context, input *GetAccountSettingsInput, opts ...request.Option) (*GetAccountSettingsOutput, error) {
1069	req, out := c.GetAccountSettingsRequest(input)
1070	req.SetContext(ctx)
1071	req.ApplyOptions(opts...)
1072	return out, req.Send()
1073}
1074
1075const opGetDevice = "GetDevice"
1076
1077// GetDeviceRequest generates a "aws/request.Request" representing the
1078// client's request for the GetDevice operation. The "output" return
1079// value will be populated with the request's response once the request complets
1080// successfuly.
1081//
1082// Use "Send" method on the returned Request to send the API call to the service.
1083// the "output" return value is not valid until after Send returns without error.
1084//
1085// See GetDevice for more information on using the GetDevice
1086// API call, and error handling.
1087//
1088// This method is useful when you want to inject custom logic or configuration
1089// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1090//
1091//
1092//    // Example sending a request using the GetDeviceRequest method.
1093//    req, resp := client.GetDeviceRequest(params)
1094//
1095//    err := req.Send()
1096//    if err == nil { // resp is now filled
1097//        fmt.Println(resp)
1098//    }
1099//
1100// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevice
1101func (c *DeviceFarm) GetDeviceRequest(input *GetDeviceInput) (req *request.Request, output *GetDeviceOutput) {
1102	op := &request.Operation{
1103		Name:       opGetDevice,
1104		HTTPMethod: "POST",
1105		HTTPPath:   "/",
1106	}
1107
1108	if input == nil {
1109		input = &GetDeviceInput{}
1110	}
1111
1112	output = &GetDeviceOutput{}
1113	req = c.newRequest(op, input, output)
1114	return
1115}
1116
1117// GetDevice API operation for AWS Device Farm.
1118//
1119// Gets information about a unique device type.
1120//
1121// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1122// with awserr.Error's Code and Message methods to get detailed information about
1123// the error.
1124//
1125// See the AWS API reference guide for AWS Device Farm's
1126// API operation GetDevice for usage and error information.
1127//
1128// Returned Error Codes:
1129//   * ErrCodeArgumentException "ArgumentException"
1130//   An invalid argument was specified.
1131//
1132//   * ErrCodeNotFoundException "NotFoundException"
1133//   The specified entity was not found.
1134//
1135//   * ErrCodeLimitExceededException "LimitExceededException"
1136//   A limit was exceeded.
1137//
1138//   * ErrCodeServiceAccountException "ServiceAccountException"
1139//   There was a problem with the service account.
1140//
1141// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevice
1142func (c *DeviceFarm) GetDevice(input *GetDeviceInput) (*GetDeviceOutput, error) {
1143	req, out := c.GetDeviceRequest(input)
1144	return out, req.Send()
1145}
1146
1147// GetDeviceWithContext is the same as GetDevice with the addition of
1148// the ability to pass a context and additional request options.
1149//
1150// See GetDevice for details on how to use this API operation.
1151//
1152// The context must be non-nil and will be used for request cancellation. If
1153// the context is nil a panic will occur. In the future the SDK may create
1154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1155// for more information on using Contexts.
1156func (c *DeviceFarm) GetDeviceWithContext(ctx aws.Context, input *GetDeviceInput, opts ...request.Option) (*GetDeviceOutput, error) {
1157	req, out := c.GetDeviceRequest(input)
1158	req.SetContext(ctx)
1159	req.ApplyOptions(opts...)
1160	return out, req.Send()
1161}
1162
1163const opGetDevicePool = "GetDevicePool"
1164
1165// GetDevicePoolRequest generates a "aws/request.Request" representing the
1166// client's request for the GetDevicePool operation. The "output" return
1167// value will be populated with the request's response once the request complets
1168// successfuly.
1169//
1170// Use "Send" method on the returned Request to send the API call to the service.
1171// the "output" return value is not valid until after Send returns without error.
1172//
1173// See GetDevicePool for more information on using the GetDevicePool
1174// API call, and error handling.
1175//
1176// This method is useful when you want to inject custom logic or configuration
1177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1178//
1179//
1180//    // Example sending a request using the GetDevicePoolRequest method.
1181//    req, resp := client.GetDevicePoolRequest(params)
1182//
1183//    err := req.Send()
1184//    if err == nil { // resp is now filled
1185//        fmt.Println(resp)
1186//    }
1187//
1188// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePool
1189func (c *DeviceFarm) GetDevicePoolRequest(input *GetDevicePoolInput) (req *request.Request, output *GetDevicePoolOutput) {
1190	op := &request.Operation{
1191		Name:       opGetDevicePool,
1192		HTTPMethod: "POST",
1193		HTTPPath:   "/",
1194	}
1195
1196	if input == nil {
1197		input = &GetDevicePoolInput{}
1198	}
1199
1200	output = &GetDevicePoolOutput{}
1201	req = c.newRequest(op, input, output)
1202	return
1203}
1204
1205// GetDevicePool API operation for AWS Device Farm.
1206//
1207// Gets information about a device pool.
1208//
1209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1210// with awserr.Error's Code and Message methods to get detailed information about
1211// the error.
1212//
1213// See the AWS API reference guide for AWS Device Farm's
1214// API operation GetDevicePool for usage and error information.
1215//
1216// Returned Error Codes:
1217//   * ErrCodeArgumentException "ArgumentException"
1218//   An invalid argument was specified.
1219//
1220//   * ErrCodeNotFoundException "NotFoundException"
1221//   The specified entity was not found.
1222//
1223//   * ErrCodeLimitExceededException "LimitExceededException"
1224//   A limit was exceeded.
1225//
1226//   * ErrCodeServiceAccountException "ServiceAccountException"
1227//   There was a problem with the service account.
1228//
1229// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePool
1230func (c *DeviceFarm) GetDevicePool(input *GetDevicePoolInput) (*GetDevicePoolOutput, error) {
1231	req, out := c.GetDevicePoolRequest(input)
1232	return out, req.Send()
1233}
1234
1235// GetDevicePoolWithContext is the same as GetDevicePool with the addition of
1236// the ability to pass a context and additional request options.
1237//
1238// See GetDevicePool for details on how to use this API operation.
1239//
1240// The context must be non-nil and will be used for request cancellation. If
1241// the context is nil a panic will occur. In the future the SDK may create
1242// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1243// for more information on using Contexts.
1244func (c *DeviceFarm) GetDevicePoolWithContext(ctx aws.Context, input *GetDevicePoolInput, opts ...request.Option) (*GetDevicePoolOutput, error) {
1245	req, out := c.GetDevicePoolRequest(input)
1246	req.SetContext(ctx)
1247	req.ApplyOptions(opts...)
1248	return out, req.Send()
1249}
1250
1251const opGetDevicePoolCompatibility = "GetDevicePoolCompatibility"
1252
1253// GetDevicePoolCompatibilityRequest generates a "aws/request.Request" representing the
1254// client's request for the GetDevicePoolCompatibility operation. The "output" return
1255// value will be populated with the request's response once the request complets
1256// successfuly.
1257//
1258// Use "Send" method on the returned Request to send the API call to the service.
1259// the "output" return value is not valid until after Send returns without error.
1260//
1261// See GetDevicePoolCompatibility for more information on using the GetDevicePoolCompatibility
1262// API call, and error handling.
1263//
1264// This method is useful when you want to inject custom logic or configuration
1265// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1266//
1267//
1268//    // Example sending a request using the GetDevicePoolCompatibilityRequest method.
1269//    req, resp := client.GetDevicePoolCompatibilityRequest(params)
1270//
1271//    err := req.Send()
1272//    if err == nil { // resp is now filled
1273//        fmt.Println(resp)
1274//    }
1275//
1276// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolCompatibility
1277func (c *DeviceFarm) GetDevicePoolCompatibilityRequest(input *GetDevicePoolCompatibilityInput) (req *request.Request, output *GetDevicePoolCompatibilityOutput) {
1278	op := &request.Operation{
1279		Name:       opGetDevicePoolCompatibility,
1280		HTTPMethod: "POST",
1281		HTTPPath:   "/",
1282	}
1283
1284	if input == nil {
1285		input = &GetDevicePoolCompatibilityInput{}
1286	}
1287
1288	output = &GetDevicePoolCompatibilityOutput{}
1289	req = c.newRequest(op, input, output)
1290	return
1291}
1292
1293// GetDevicePoolCompatibility API operation for AWS Device Farm.
1294//
1295// Gets information about compatibility with a device pool.
1296//
1297// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1298// with awserr.Error's Code and Message methods to get detailed information about
1299// the error.
1300//
1301// See the AWS API reference guide for AWS Device Farm's
1302// API operation GetDevicePoolCompatibility for usage and error information.
1303//
1304// Returned Error Codes:
1305//   * ErrCodeArgumentException "ArgumentException"
1306//   An invalid argument was specified.
1307//
1308//   * ErrCodeNotFoundException "NotFoundException"
1309//   The specified entity was not found.
1310//
1311//   * ErrCodeLimitExceededException "LimitExceededException"
1312//   A limit was exceeded.
1313//
1314//   * ErrCodeServiceAccountException "ServiceAccountException"
1315//   There was a problem with the service account.
1316//
1317// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolCompatibility
1318func (c *DeviceFarm) GetDevicePoolCompatibility(input *GetDevicePoolCompatibilityInput) (*GetDevicePoolCompatibilityOutput, error) {
1319	req, out := c.GetDevicePoolCompatibilityRequest(input)
1320	return out, req.Send()
1321}
1322
1323// GetDevicePoolCompatibilityWithContext is the same as GetDevicePoolCompatibility with the addition of
1324// the ability to pass a context and additional request options.
1325//
1326// See GetDevicePoolCompatibility for details on how to use this API operation.
1327//
1328// The context must be non-nil and will be used for request cancellation. If
1329// the context is nil a panic will occur. In the future the SDK may create
1330// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1331// for more information on using Contexts.
1332func (c *DeviceFarm) GetDevicePoolCompatibilityWithContext(ctx aws.Context, input *GetDevicePoolCompatibilityInput, opts ...request.Option) (*GetDevicePoolCompatibilityOutput, error) {
1333	req, out := c.GetDevicePoolCompatibilityRequest(input)
1334	req.SetContext(ctx)
1335	req.ApplyOptions(opts...)
1336	return out, req.Send()
1337}
1338
1339const opGetJob = "GetJob"
1340
1341// GetJobRequest generates a "aws/request.Request" representing the
1342// client's request for the GetJob operation. The "output" return
1343// value will be populated with the request's response once the request complets
1344// successfuly.
1345//
1346// Use "Send" method on the returned Request to send the API call to the service.
1347// the "output" return value is not valid until after Send returns without error.
1348//
1349// See GetJob for more information on using the GetJob
1350// API call, and error handling.
1351//
1352// This method is useful when you want to inject custom logic or configuration
1353// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1354//
1355//
1356//    // Example sending a request using the GetJobRequest method.
1357//    req, resp := client.GetJobRequest(params)
1358//
1359//    err := req.Send()
1360//    if err == nil { // resp is now filled
1361//        fmt.Println(resp)
1362//    }
1363//
1364// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJob
1365func (c *DeviceFarm) GetJobRequest(input *GetJobInput) (req *request.Request, output *GetJobOutput) {
1366	op := &request.Operation{
1367		Name:       opGetJob,
1368		HTTPMethod: "POST",
1369		HTTPPath:   "/",
1370	}
1371
1372	if input == nil {
1373		input = &GetJobInput{}
1374	}
1375
1376	output = &GetJobOutput{}
1377	req = c.newRequest(op, input, output)
1378	return
1379}
1380
1381// GetJob API operation for AWS Device Farm.
1382//
1383// Gets information about a job.
1384//
1385// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1386// with awserr.Error's Code and Message methods to get detailed information about
1387// the error.
1388//
1389// See the AWS API reference guide for AWS Device Farm's
1390// API operation GetJob for usage and error information.
1391//
1392// Returned Error Codes:
1393//   * ErrCodeArgumentException "ArgumentException"
1394//   An invalid argument was specified.
1395//
1396//   * ErrCodeNotFoundException "NotFoundException"
1397//   The specified entity was not found.
1398//
1399//   * ErrCodeLimitExceededException "LimitExceededException"
1400//   A limit was exceeded.
1401//
1402//   * ErrCodeServiceAccountException "ServiceAccountException"
1403//   There was a problem with the service account.
1404//
1405// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJob
1406func (c *DeviceFarm) GetJob(input *GetJobInput) (*GetJobOutput, error) {
1407	req, out := c.GetJobRequest(input)
1408	return out, req.Send()
1409}
1410
1411// GetJobWithContext is the same as GetJob with the addition of
1412// the ability to pass a context and additional request options.
1413//
1414// See GetJob for details on how to use this API operation.
1415//
1416// The context must be non-nil and will be used for request cancellation. If
1417// the context is nil a panic will occur. In the future the SDK may create
1418// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1419// for more information on using Contexts.
1420func (c *DeviceFarm) GetJobWithContext(ctx aws.Context, input *GetJobInput, opts ...request.Option) (*GetJobOutput, error) {
1421	req, out := c.GetJobRequest(input)
1422	req.SetContext(ctx)
1423	req.ApplyOptions(opts...)
1424	return out, req.Send()
1425}
1426
1427const opGetNetworkProfile = "GetNetworkProfile"
1428
1429// GetNetworkProfileRequest generates a "aws/request.Request" representing the
1430// client's request for the GetNetworkProfile operation. The "output" return
1431// value will be populated with the request's response once the request complets
1432// successfuly.
1433//
1434// Use "Send" method on the returned Request to send the API call to the service.
1435// the "output" return value is not valid until after Send returns without error.
1436//
1437// See GetNetworkProfile for more information on using the GetNetworkProfile
1438// API call, and error handling.
1439//
1440// This method is useful when you want to inject custom logic or configuration
1441// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1442//
1443//
1444//    // Example sending a request using the GetNetworkProfileRequest method.
1445//    req, resp := client.GetNetworkProfileRequest(params)
1446//
1447//    err := req.Send()
1448//    if err == nil { // resp is now filled
1449//        fmt.Println(resp)
1450//    }
1451//
1452// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetNetworkProfile
1453func (c *DeviceFarm) GetNetworkProfileRequest(input *GetNetworkProfileInput) (req *request.Request, output *GetNetworkProfileOutput) {
1454	op := &request.Operation{
1455		Name:       opGetNetworkProfile,
1456		HTTPMethod: "POST",
1457		HTTPPath:   "/",
1458	}
1459
1460	if input == nil {
1461		input = &GetNetworkProfileInput{}
1462	}
1463
1464	output = &GetNetworkProfileOutput{}
1465	req = c.newRequest(op, input, output)
1466	return
1467}
1468
1469// GetNetworkProfile API operation for AWS Device Farm.
1470//
1471// Returns information about a network profile.
1472//
1473// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1474// with awserr.Error's Code and Message methods to get detailed information about
1475// the error.
1476//
1477// See the AWS API reference guide for AWS Device Farm's
1478// API operation GetNetworkProfile for usage and error information.
1479//
1480// Returned Error Codes:
1481//   * ErrCodeArgumentException "ArgumentException"
1482//   An invalid argument was specified.
1483//
1484//   * ErrCodeNotFoundException "NotFoundException"
1485//   The specified entity was not found.
1486//
1487//   * ErrCodeLimitExceededException "LimitExceededException"
1488//   A limit was exceeded.
1489//
1490//   * ErrCodeServiceAccountException "ServiceAccountException"
1491//   There was a problem with the service account.
1492//
1493// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetNetworkProfile
1494func (c *DeviceFarm) GetNetworkProfile(input *GetNetworkProfileInput) (*GetNetworkProfileOutput, error) {
1495	req, out := c.GetNetworkProfileRequest(input)
1496	return out, req.Send()
1497}
1498
1499// GetNetworkProfileWithContext is the same as GetNetworkProfile with the addition of
1500// the ability to pass a context and additional request options.
1501//
1502// See GetNetworkProfile for details on how to use this API operation.
1503//
1504// The context must be non-nil and will be used for request cancellation. If
1505// the context is nil a panic will occur. In the future the SDK may create
1506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1507// for more information on using Contexts.
1508func (c *DeviceFarm) GetNetworkProfileWithContext(ctx aws.Context, input *GetNetworkProfileInput, opts ...request.Option) (*GetNetworkProfileOutput, error) {
1509	req, out := c.GetNetworkProfileRequest(input)
1510	req.SetContext(ctx)
1511	req.ApplyOptions(opts...)
1512	return out, req.Send()
1513}
1514
1515const opGetOfferingStatus = "GetOfferingStatus"
1516
1517// GetOfferingStatusRequest generates a "aws/request.Request" representing the
1518// client's request for the GetOfferingStatus operation. The "output" return
1519// value will be populated with the request's response once the request complets
1520// successfuly.
1521//
1522// Use "Send" method on the returned Request to send the API call to the service.
1523// the "output" return value is not valid until after Send returns without error.
1524//
1525// See GetOfferingStatus for more information on using the GetOfferingStatus
1526// API call, and error handling.
1527//
1528// This method is useful when you want to inject custom logic or configuration
1529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1530//
1531//
1532//    // Example sending a request using the GetOfferingStatusRequest method.
1533//    req, resp := client.GetOfferingStatusRequest(params)
1534//
1535//    err := req.Send()
1536//    if err == nil { // resp is now filled
1537//        fmt.Println(resp)
1538//    }
1539//
1540// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetOfferingStatus
1541func (c *DeviceFarm) GetOfferingStatusRequest(input *GetOfferingStatusInput) (req *request.Request, output *GetOfferingStatusOutput) {
1542	op := &request.Operation{
1543		Name:       opGetOfferingStatus,
1544		HTTPMethod: "POST",
1545		HTTPPath:   "/",
1546		Paginator: &request.Paginator{
1547			InputTokens:     []string{"nextToken"},
1548			OutputTokens:    []string{"nextToken"},
1549			LimitToken:      "",
1550			TruncationToken: "",
1551		},
1552	}
1553
1554	if input == nil {
1555		input = &GetOfferingStatusInput{}
1556	}
1557
1558	output = &GetOfferingStatusOutput{}
1559	req = c.newRequest(op, input, output)
1560	return
1561}
1562
1563// GetOfferingStatus API operation for AWS Device Farm.
1564//
1565// Gets the current status and future status of all offerings purchased by an
1566// AWS account. The response indicates how many offerings are currently available
1567// and the offerings that will be available in the next period. The API returns
1568// a NotEligible error if the user is not permitted to invoke the operation.
1569// Please contact aws-devicefarm-support@amazon.com (mailto:aws-devicefarm-support@amazon.com)
1570// if you believe that you should be able to invoke this operation.
1571//
1572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1573// with awserr.Error's Code and Message methods to get detailed information about
1574// the error.
1575//
1576// See the AWS API reference guide for AWS Device Farm's
1577// API operation GetOfferingStatus for usage and error information.
1578//
1579// Returned Error Codes:
1580//   * ErrCodeArgumentException "ArgumentException"
1581//   An invalid argument was specified.
1582//
1583//   * ErrCodeNotFoundException "NotFoundException"
1584//   The specified entity was not found.
1585//
1586//   * ErrCodeNotEligibleException "NotEligibleException"
1587//   Exception gets thrown when a user is not eligible to perform the specified
1588//   transaction.
1589//
1590//   * ErrCodeLimitExceededException "LimitExceededException"
1591//   A limit was exceeded.
1592//
1593//   * ErrCodeServiceAccountException "ServiceAccountException"
1594//   There was a problem with the service account.
1595//
1596// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetOfferingStatus
1597func (c *DeviceFarm) GetOfferingStatus(input *GetOfferingStatusInput) (*GetOfferingStatusOutput, error) {
1598	req, out := c.GetOfferingStatusRequest(input)
1599	return out, req.Send()
1600}
1601
1602// GetOfferingStatusWithContext is the same as GetOfferingStatus with the addition of
1603// the ability to pass a context and additional request options.
1604//
1605// See GetOfferingStatus for details on how to use this API operation.
1606//
1607// The context must be non-nil and will be used for request cancellation. If
1608// the context is nil a panic will occur. In the future the SDK may create
1609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1610// for more information on using Contexts.
1611func (c *DeviceFarm) GetOfferingStatusWithContext(ctx aws.Context, input *GetOfferingStatusInput, opts ...request.Option) (*GetOfferingStatusOutput, error) {
1612	req, out := c.GetOfferingStatusRequest(input)
1613	req.SetContext(ctx)
1614	req.ApplyOptions(opts...)
1615	return out, req.Send()
1616}
1617
1618// GetOfferingStatusPages iterates over the pages of a GetOfferingStatus operation,
1619// calling the "fn" function with the response data for each page. To stop
1620// iterating, return false from the fn function.
1621//
1622// See GetOfferingStatus method for more information on how to use this operation.
1623//
1624// Note: This operation can generate multiple requests to a service.
1625//
1626//    // Example iterating over at most 3 pages of a GetOfferingStatus operation.
1627//    pageNum := 0
1628//    err := client.GetOfferingStatusPages(params,
1629//        func(page *GetOfferingStatusOutput, lastPage bool) bool {
1630//            pageNum++
1631//            fmt.Println(page)
1632//            return pageNum <= 3
1633//        })
1634//
1635func (c *DeviceFarm) GetOfferingStatusPages(input *GetOfferingStatusInput, fn func(*GetOfferingStatusOutput, bool) bool) error {
1636	return c.GetOfferingStatusPagesWithContext(aws.BackgroundContext(), input, fn)
1637}
1638
1639// GetOfferingStatusPagesWithContext same as GetOfferingStatusPages except
1640// it takes a Context and allows setting request options on the pages.
1641//
1642// The context must be non-nil and will be used for request cancellation. If
1643// the context is nil a panic will occur. In the future the SDK may create
1644// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1645// for more information on using Contexts.
1646func (c *DeviceFarm) GetOfferingStatusPagesWithContext(ctx aws.Context, input *GetOfferingStatusInput, fn func(*GetOfferingStatusOutput, bool) bool, opts ...request.Option) error {
1647	p := request.Pagination{
1648		NewRequest: func() (*request.Request, error) {
1649			var inCpy *GetOfferingStatusInput
1650			if input != nil {
1651				tmp := *input
1652				inCpy = &tmp
1653			}
1654			req, _ := c.GetOfferingStatusRequest(inCpy)
1655			req.SetContext(ctx)
1656			req.ApplyOptions(opts...)
1657			return req, nil
1658		},
1659	}
1660
1661	cont := true
1662	for p.Next() && cont {
1663		cont = fn(p.Page().(*GetOfferingStatusOutput), !p.HasNextPage())
1664	}
1665	return p.Err()
1666}
1667
1668const opGetProject = "GetProject"
1669
1670// GetProjectRequest generates a "aws/request.Request" representing the
1671// client's request for the GetProject operation. The "output" return
1672// value will be populated with the request's response once the request complets
1673// successfuly.
1674//
1675// Use "Send" method on the returned Request to send the API call to the service.
1676// the "output" return value is not valid until after Send returns without error.
1677//
1678// See GetProject for more information on using the GetProject
1679// API call, and error handling.
1680//
1681// This method is useful when you want to inject custom logic or configuration
1682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1683//
1684//
1685//    // Example sending a request using the GetProjectRequest method.
1686//    req, resp := client.GetProjectRequest(params)
1687//
1688//    err := req.Send()
1689//    if err == nil { // resp is now filled
1690//        fmt.Println(resp)
1691//    }
1692//
1693// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetProject
1694func (c *DeviceFarm) GetProjectRequest(input *GetProjectInput) (req *request.Request, output *GetProjectOutput) {
1695	op := &request.Operation{
1696		Name:       opGetProject,
1697		HTTPMethod: "POST",
1698		HTTPPath:   "/",
1699	}
1700
1701	if input == nil {
1702		input = &GetProjectInput{}
1703	}
1704
1705	output = &GetProjectOutput{}
1706	req = c.newRequest(op, input, output)
1707	return
1708}
1709
1710// GetProject API operation for AWS Device Farm.
1711//
1712// Gets information about a project.
1713//
1714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1715// with awserr.Error's Code and Message methods to get detailed information about
1716// the error.
1717//
1718// See the AWS API reference guide for AWS Device Farm's
1719// API operation GetProject for usage and error information.
1720//
1721// Returned Error Codes:
1722//   * ErrCodeArgumentException "ArgumentException"
1723//   An invalid argument was specified.
1724//
1725//   * ErrCodeNotFoundException "NotFoundException"
1726//   The specified entity was not found.
1727//
1728//   * ErrCodeLimitExceededException "LimitExceededException"
1729//   A limit was exceeded.
1730//
1731//   * ErrCodeServiceAccountException "ServiceAccountException"
1732//   There was a problem with the service account.
1733//
1734// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetProject
1735func (c *DeviceFarm) GetProject(input *GetProjectInput) (*GetProjectOutput, error) {
1736	req, out := c.GetProjectRequest(input)
1737	return out, req.Send()
1738}
1739
1740// GetProjectWithContext is the same as GetProject with the addition of
1741// the ability to pass a context and additional request options.
1742//
1743// See GetProject for details on how to use this API operation.
1744//
1745// The context must be non-nil and will be used for request cancellation. If
1746// the context is nil a panic will occur. In the future the SDK may create
1747// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1748// for more information on using Contexts.
1749func (c *DeviceFarm) GetProjectWithContext(ctx aws.Context, input *GetProjectInput, opts ...request.Option) (*GetProjectOutput, error) {
1750	req, out := c.GetProjectRequest(input)
1751	req.SetContext(ctx)
1752	req.ApplyOptions(opts...)
1753	return out, req.Send()
1754}
1755
1756const opGetRemoteAccessSession = "GetRemoteAccessSession"
1757
1758// GetRemoteAccessSessionRequest generates a "aws/request.Request" representing the
1759// client's request for the GetRemoteAccessSession operation. The "output" return
1760// value will be populated with the request's response once the request complets
1761// successfuly.
1762//
1763// Use "Send" method on the returned Request to send the API call to the service.
1764// the "output" return value is not valid until after Send returns without error.
1765//
1766// See GetRemoteAccessSession for more information on using the GetRemoteAccessSession
1767// API call, and error handling.
1768//
1769// This method is useful when you want to inject custom logic or configuration
1770// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1771//
1772//
1773//    // Example sending a request using the GetRemoteAccessSessionRequest method.
1774//    req, resp := client.GetRemoteAccessSessionRequest(params)
1775//
1776//    err := req.Send()
1777//    if err == nil { // resp is now filled
1778//        fmt.Println(resp)
1779//    }
1780//
1781// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRemoteAccessSession
1782func (c *DeviceFarm) GetRemoteAccessSessionRequest(input *GetRemoteAccessSessionInput) (req *request.Request, output *GetRemoteAccessSessionOutput) {
1783	op := &request.Operation{
1784		Name:       opGetRemoteAccessSession,
1785		HTTPMethod: "POST",
1786		HTTPPath:   "/",
1787	}
1788
1789	if input == nil {
1790		input = &GetRemoteAccessSessionInput{}
1791	}
1792
1793	output = &GetRemoteAccessSessionOutput{}
1794	req = c.newRequest(op, input, output)
1795	return
1796}
1797
1798// GetRemoteAccessSession API operation for AWS Device Farm.
1799//
1800// Returns a link to a currently running remote access session.
1801//
1802// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1803// with awserr.Error's Code and Message methods to get detailed information about
1804// the error.
1805//
1806// See the AWS API reference guide for AWS Device Farm's
1807// API operation GetRemoteAccessSession for usage and error information.
1808//
1809// Returned Error Codes:
1810//   * ErrCodeArgumentException "ArgumentException"
1811//   An invalid argument was specified.
1812//
1813//   * ErrCodeNotFoundException "NotFoundException"
1814//   The specified entity was not found.
1815//
1816//   * ErrCodeLimitExceededException "LimitExceededException"
1817//   A limit was exceeded.
1818//
1819//   * ErrCodeServiceAccountException "ServiceAccountException"
1820//   There was a problem with the service account.
1821//
1822// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRemoteAccessSession
1823func (c *DeviceFarm) GetRemoteAccessSession(input *GetRemoteAccessSessionInput) (*GetRemoteAccessSessionOutput, error) {
1824	req, out := c.GetRemoteAccessSessionRequest(input)
1825	return out, req.Send()
1826}
1827
1828// GetRemoteAccessSessionWithContext is the same as GetRemoteAccessSession with the addition of
1829// the ability to pass a context and additional request options.
1830//
1831// See GetRemoteAccessSession for details on how to use this API operation.
1832//
1833// The context must be non-nil and will be used for request cancellation. If
1834// the context is nil a panic will occur. In the future the SDK may create
1835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1836// for more information on using Contexts.
1837func (c *DeviceFarm) GetRemoteAccessSessionWithContext(ctx aws.Context, input *GetRemoteAccessSessionInput, opts ...request.Option) (*GetRemoteAccessSessionOutput, error) {
1838	req, out := c.GetRemoteAccessSessionRequest(input)
1839	req.SetContext(ctx)
1840	req.ApplyOptions(opts...)
1841	return out, req.Send()
1842}
1843
1844const opGetRun = "GetRun"
1845
1846// GetRunRequest generates a "aws/request.Request" representing the
1847// client's request for the GetRun operation. The "output" return
1848// value will be populated with the request's response once the request complets
1849// successfuly.
1850//
1851// Use "Send" method on the returned Request to send the API call to the service.
1852// the "output" return value is not valid until after Send returns without error.
1853//
1854// See GetRun for more information on using the GetRun
1855// API call, and error handling.
1856//
1857// This method is useful when you want to inject custom logic or configuration
1858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1859//
1860//
1861//    // Example sending a request using the GetRunRequest method.
1862//    req, resp := client.GetRunRequest(params)
1863//
1864//    err := req.Send()
1865//    if err == nil { // resp is now filled
1866//        fmt.Println(resp)
1867//    }
1868//
1869// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRun
1870func (c *DeviceFarm) GetRunRequest(input *GetRunInput) (req *request.Request, output *GetRunOutput) {
1871	op := &request.Operation{
1872		Name:       opGetRun,
1873		HTTPMethod: "POST",
1874		HTTPPath:   "/",
1875	}
1876
1877	if input == nil {
1878		input = &GetRunInput{}
1879	}
1880
1881	output = &GetRunOutput{}
1882	req = c.newRequest(op, input, output)
1883	return
1884}
1885
1886// GetRun API operation for AWS Device Farm.
1887//
1888// Gets information about a run.
1889//
1890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1891// with awserr.Error's Code and Message methods to get detailed information about
1892// the error.
1893//
1894// See the AWS API reference guide for AWS Device Farm's
1895// API operation GetRun for usage and error information.
1896//
1897// Returned Error Codes:
1898//   * ErrCodeArgumentException "ArgumentException"
1899//   An invalid argument was specified.
1900//
1901//   * ErrCodeNotFoundException "NotFoundException"
1902//   The specified entity was not found.
1903//
1904//   * ErrCodeLimitExceededException "LimitExceededException"
1905//   A limit was exceeded.
1906//
1907//   * ErrCodeServiceAccountException "ServiceAccountException"
1908//   There was a problem with the service account.
1909//
1910// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRun
1911func (c *DeviceFarm) GetRun(input *GetRunInput) (*GetRunOutput, error) {
1912	req, out := c.GetRunRequest(input)
1913	return out, req.Send()
1914}
1915
1916// GetRunWithContext is the same as GetRun with the addition of
1917// the ability to pass a context and additional request options.
1918//
1919// See GetRun for details on how to use this API operation.
1920//
1921// The context must be non-nil and will be used for request cancellation. If
1922// the context is nil a panic will occur. In the future the SDK may create
1923// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1924// for more information on using Contexts.
1925func (c *DeviceFarm) GetRunWithContext(ctx aws.Context, input *GetRunInput, opts ...request.Option) (*GetRunOutput, error) {
1926	req, out := c.GetRunRequest(input)
1927	req.SetContext(ctx)
1928	req.ApplyOptions(opts...)
1929	return out, req.Send()
1930}
1931
1932const opGetSuite = "GetSuite"
1933
1934// GetSuiteRequest generates a "aws/request.Request" representing the
1935// client's request for the GetSuite operation. The "output" return
1936// value will be populated with the request's response once the request complets
1937// successfuly.
1938//
1939// Use "Send" method on the returned Request to send the API call to the service.
1940// the "output" return value is not valid until after Send returns without error.
1941//
1942// See GetSuite for more information on using the GetSuite
1943// API call, and error handling.
1944//
1945// This method is useful when you want to inject custom logic or configuration
1946// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1947//
1948//
1949//    // Example sending a request using the GetSuiteRequest method.
1950//    req, resp := client.GetSuiteRequest(params)
1951//
1952//    err := req.Send()
1953//    if err == nil { // resp is now filled
1954//        fmt.Println(resp)
1955//    }
1956//
1957// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetSuite
1958func (c *DeviceFarm) GetSuiteRequest(input *GetSuiteInput) (req *request.Request, output *GetSuiteOutput) {
1959	op := &request.Operation{
1960		Name:       opGetSuite,
1961		HTTPMethod: "POST",
1962		HTTPPath:   "/",
1963	}
1964
1965	if input == nil {
1966		input = &GetSuiteInput{}
1967	}
1968
1969	output = &GetSuiteOutput{}
1970	req = c.newRequest(op, input, output)
1971	return
1972}
1973
1974// GetSuite API operation for AWS Device Farm.
1975//
1976// Gets information about a suite.
1977//
1978// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1979// with awserr.Error's Code and Message methods to get detailed information about
1980// the error.
1981//
1982// See the AWS API reference guide for AWS Device Farm's
1983// API operation GetSuite for usage and error information.
1984//
1985// Returned Error Codes:
1986//   * ErrCodeArgumentException "ArgumentException"
1987//   An invalid argument was specified.
1988//
1989//   * ErrCodeNotFoundException "NotFoundException"
1990//   The specified entity was not found.
1991//
1992//   * ErrCodeLimitExceededException "LimitExceededException"
1993//   A limit was exceeded.
1994//
1995//   * ErrCodeServiceAccountException "ServiceAccountException"
1996//   There was a problem with the service account.
1997//
1998// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetSuite
1999func (c *DeviceFarm) GetSuite(input *GetSuiteInput) (*GetSuiteOutput, error) {
2000	req, out := c.GetSuiteRequest(input)
2001	return out, req.Send()
2002}
2003
2004// GetSuiteWithContext is the same as GetSuite with the addition of
2005// the ability to pass a context and additional request options.
2006//
2007// See GetSuite for details on how to use this API operation.
2008//
2009// The context must be non-nil and will be used for request cancellation. If
2010// the context is nil a panic will occur. In the future the SDK may create
2011// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2012// for more information on using Contexts.
2013func (c *DeviceFarm) GetSuiteWithContext(ctx aws.Context, input *GetSuiteInput, opts ...request.Option) (*GetSuiteOutput, error) {
2014	req, out := c.GetSuiteRequest(input)
2015	req.SetContext(ctx)
2016	req.ApplyOptions(opts...)
2017	return out, req.Send()
2018}
2019
2020const opGetTest = "GetTest"
2021
2022// GetTestRequest generates a "aws/request.Request" representing the
2023// client's request for the GetTest operation. The "output" return
2024// value will be populated with the request's response once the request complets
2025// successfuly.
2026//
2027// Use "Send" method on the returned Request to send the API call to the service.
2028// the "output" return value is not valid until after Send returns without error.
2029//
2030// See GetTest for more information on using the GetTest
2031// API call, and error handling.
2032//
2033// This method is useful when you want to inject custom logic or configuration
2034// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2035//
2036//
2037//    // Example sending a request using the GetTestRequest method.
2038//    req, resp := client.GetTestRequest(params)
2039//
2040//    err := req.Send()
2041//    if err == nil { // resp is now filled
2042//        fmt.Println(resp)
2043//    }
2044//
2045// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTest
2046func (c *DeviceFarm) GetTestRequest(input *GetTestInput) (req *request.Request, output *GetTestOutput) {
2047	op := &request.Operation{
2048		Name:       opGetTest,
2049		HTTPMethod: "POST",
2050		HTTPPath:   "/",
2051	}
2052
2053	if input == nil {
2054		input = &GetTestInput{}
2055	}
2056
2057	output = &GetTestOutput{}
2058	req = c.newRequest(op, input, output)
2059	return
2060}
2061
2062// GetTest API operation for AWS Device Farm.
2063//
2064// Gets information about a test.
2065//
2066// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2067// with awserr.Error's Code and Message methods to get detailed information about
2068// the error.
2069//
2070// See the AWS API reference guide for AWS Device Farm's
2071// API operation GetTest for usage and error information.
2072//
2073// Returned Error Codes:
2074//   * ErrCodeArgumentException "ArgumentException"
2075//   An invalid argument was specified.
2076//
2077//   * ErrCodeNotFoundException "NotFoundException"
2078//   The specified entity was not found.
2079//
2080//   * ErrCodeLimitExceededException "LimitExceededException"
2081//   A limit was exceeded.
2082//
2083//   * ErrCodeServiceAccountException "ServiceAccountException"
2084//   There was a problem with the service account.
2085//
2086// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTest
2087func (c *DeviceFarm) GetTest(input *GetTestInput) (*GetTestOutput, error) {
2088	req, out := c.GetTestRequest(input)
2089	return out, req.Send()
2090}
2091
2092// GetTestWithContext is the same as GetTest with the addition of
2093// the ability to pass a context and additional request options.
2094//
2095// See GetTest for details on how to use this API operation.
2096//
2097// The context must be non-nil and will be used for request cancellation. If
2098// the context is nil a panic will occur. In the future the SDK may create
2099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2100// for more information on using Contexts.
2101func (c *DeviceFarm) GetTestWithContext(ctx aws.Context, input *GetTestInput, opts ...request.Option) (*GetTestOutput, error) {
2102	req, out := c.GetTestRequest(input)
2103	req.SetContext(ctx)
2104	req.ApplyOptions(opts...)
2105	return out, req.Send()
2106}
2107
2108const opGetUpload = "GetUpload"
2109
2110// GetUploadRequest generates a "aws/request.Request" representing the
2111// client's request for the GetUpload operation. The "output" return
2112// value will be populated with the request's response once the request complets
2113// successfuly.
2114//
2115// Use "Send" method on the returned Request to send the API call to the service.
2116// the "output" return value is not valid until after Send returns without error.
2117//
2118// See GetUpload for more information on using the GetUpload
2119// API call, and error handling.
2120//
2121// This method is useful when you want to inject custom logic or configuration
2122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2123//
2124//
2125//    // Example sending a request using the GetUploadRequest method.
2126//    req, resp := client.GetUploadRequest(params)
2127//
2128//    err := req.Send()
2129//    if err == nil { // resp is now filled
2130//        fmt.Println(resp)
2131//    }
2132//
2133// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetUpload
2134func (c *DeviceFarm) GetUploadRequest(input *GetUploadInput) (req *request.Request, output *GetUploadOutput) {
2135	op := &request.Operation{
2136		Name:       opGetUpload,
2137		HTTPMethod: "POST",
2138		HTTPPath:   "/",
2139	}
2140
2141	if input == nil {
2142		input = &GetUploadInput{}
2143	}
2144
2145	output = &GetUploadOutput{}
2146	req = c.newRequest(op, input, output)
2147	return
2148}
2149
2150// GetUpload API operation for AWS Device Farm.
2151//
2152// Gets information about an upload.
2153//
2154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2155// with awserr.Error's Code and Message methods to get detailed information about
2156// the error.
2157//
2158// See the AWS API reference guide for AWS Device Farm's
2159// API operation GetUpload for usage and error information.
2160//
2161// Returned Error Codes:
2162//   * ErrCodeArgumentException "ArgumentException"
2163//   An invalid argument was specified.
2164//
2165//   * ErrCodeNotFoundException "NotFoundException"
2166//   The specified entity was not found.
2167//
2168//   * ErrCodeLimitExceededException "LimitExceededException"
2169//   A limit was exceeded.
2170//
2171//   * ErrCodeServiceAccountException "ServiceAccountException"
2172//   There was a problem with the service account.
2173//
2174// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetUpload
2175func (c *DeviceFarm) GetUpload(input *GetUploadInput) (*GetUploadOutput, error) {
2176	req, out := c.GetUploadRequest(input)
2177	return out, req.Send()
2178}
2179
2180// GetUploadWithContext is the same as GetUpload with the addition of
2181// the ability to pass a context and additional request options.
2182//
2183// See GetUpload for details on how to use this API operation.
2184//
2185// The context must be non-nil and will be used for request cancellation. If
2186// the context is nil a panic will occur. In the future the SDK may create
2187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2188// for more information on using Contexts.
2189func (c *DeviceFarm) GetUploadWithContext(ctx aws.Context, input *GetUploadInput, opts ...request.Option) (*GetUploadOutput, error) {
2190	req, out := c.GetUploadRequest(input)
2191	req.SetContext(ctx)
2192	req.ApplyOptions(opts...)
2193	return out, req.Send()
2194}
2195
2196const opInstallToRemoteAccessSession = "InstallToRemoteAccessSession"
2197
2198// InstallToRemoteAccessSessionRequest generates a "aws/request.Request" representing the
2199// client's request for the InstallToRemoteAccessSession operation. The "output" return
2200// value will be populated with the request's response once the request complets
2201// successfuly.
2202//
2203// Use "Send" method on the returned Request to send the API call to the service.
2204// the "output" return value is not valid until after Send returns without error.
2205//
2206// See InstallToRemoteAccessSession for more information on using the InstallToRemoteAccessSession
2207// API call, and error handling.
2208//
2209// This method is useful when you want to inject custom logic or configuration
2210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2211//
2212//
2213//    // Example sending a request using the InstallToRemoteAccessSessionRequest method.
2214//    req, resp := client.InstallToRemoteAccessSessionRequest(params)
2215//
2216//    err := req.Send()
2217//    if err == nil { // resp is now filled
2218//        fmt.Println(resp)
2219//    }
2220//
2221// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/InstallToRemoteAccessSession
2222func (c *DeviceFarm) InstallToRemoteAccessSessionRequest(input *InstallToRemoteAccessSessionInput) (req *request.Request, output *InstallToRemoteAccessSessionOutput) {
2223	op := &request.Operation{
2224		Name:       opInstallToRemoteAccessSession,
2225		HTTPMethod: "POST",
2226		HTTPPath:   "/",
2227	}
2228
2229	if input == nil {
2230		input = &InstallToRemoteAccessSessionInput{}
2231	}
2232
2233	output = &InstallToRemoteAccessSessionOutput{}
2234	req = c.newRequest(op, input, output)
2235	return
2236}
2237
2238// InstallToRemoteAccessSession API operation for AWS Device Farm.
2239//
2240// Installs an application to the device in a remote access session. For Android
2241// applications, the file must be in .apk format. For iOS applications, the
2242// file must be in .ipa format.
2243//
2244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2245// with awserr.Error's Code and Message methods to get detailed information about
2246// the error.
2247//
2248// See the AWS API reference guide for AWS Device Farm's
2249// API operation InstallToRemoteAccessSession for usage and error information.
2250//
2251// Returned Error Codes:
2252//   * ErrCodeArgumentException "ArgumentException"
2253//   An invalid argument was specified.
2254//
2255//   * ErrCodeNotFoundException "NotFoundException"
2256//   The specified entity was not found.
2257//
2258//   * ErrCodeLimitExceededException "LimitExceededException"
2259//   A limit was exceeded.
2260//
2261//   * ErrCodeServiceAccountException "ServiceAccountException"
2262//   There was a problem with the service account.
2263//
2264// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/InstallToRemoteAccessSession
2265func (c *DeviceFarm) InstallToRemoteAccessSession(input *InstallToRemoteAccessSessionInput) (*InstallToRemoteAccessSessionOutput, error) {
2266	req, out := c.InstallToRemoteAccessSessionRequest(input)
2267	return out, req.Send()
2268}
2269
2270// InstallToRemoteAccessSessionWithContext is the same as InstallToRemoteAccessSession with the addition of
2271// the ability to pass a context and additional request options.
2272//
2273// See InstallToRemoteAccessSession for details on how to use this API operation.
2274//
2275// The context must be non-nil and will be used for request cancellation. If
2276// the context is nil a panic will occur. In the future the SDK may create
2277// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2278// for more information on using Contexts.
2279func (c *DeviceFarm) InstallToRemoteAccessSessionWithContext(ctx aws.Context, input *InstallToRemoteAccessSessionInput, opts ...request.Option) (*InstallToRemoteAccessSessionOutput, error) {
2280	req, out := c.InstallToRemoteAccessSessionRequest(input)
2281	req.SetContext(ctx)
2282	req.ApplyOptions(opts...)
2283	return out, req.Send()
2284}
2285
2286const opListArtifacts = "ListArtifacts"
2287
2288// ListArtifactsRequest generates a "aws/request.Request" representing the
2289// client's request for the ListArtifacts operation. The "output" return
2290// value will be populated with the request's response once the request complets
2291// successfuly.
2292//
2293// Use "Send" method on the returned Request to send the API call to the service.
2294// the "output" return value is not valid until after Send returns without error.
2295//
2296// See ListArtifacts for more information on using the ListArtifacts
2297// API call, and error handling.
2298//
2299// This method is useful when you want to inject custom logic or configuration
2300// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2301//
2302//
2303//    // Example sending a request using the ListArtifactsRequest method.
2304//    req, resp := client.ListArtifactsRequest(params)
2305//
2306//    err := req.Send()
2307//    if err == nil { // resp is now filled
2308//        fmt.Println(resp)
2309//    }
2310//
2311// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListArtifacts
2312func (c *DeviceFarm) ListArtifactsRequest(input *ListArtifactsInput) (req *request.Request, output *ListArtifactsOutput) {
2313	op := &request.Operation{
2314		Name:       opListArtifacts,
2315		HTTPMethod: "POST",
2316		HTTPPath:   "/",
2317		Paginator: &request.Paginator{
2318			InputTokens:     []string{"nextToken"},
2319			OutputTokens:    []string{"nextToken"},
2320			LimitToken:      "",
2321			TruncationToken: "",
2322		},
2323	}
2324
2325	if input == nil {
2326		input = &ListArtifactsInput{}
2327	}
2328
2329	output = &ListArtifactsOutput{}
2330	req = c.newRequest(op, input, output)
2331	return
2332}
2333
2334// ListArtifacts API operation for AWS Device Farm.
2335//
2336// Gets information about artifacts.
2337//
2338// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2339// with awserr.Error's Code and Message methods to get detailed information about
2340// the error.
2341//
2342// See the AWS API reference guide for AWS Device Farm's
2343// API operation ListArtifacts for usage and error information.
2344//
2345// Returned Error Codes:
2346//   * ErrCodeArgumentException "ArgumentException"
2347//   An invalid argument was specified.
2348//
2349//   * ErrCodeNotFoundException "NotFoundException"
2350//   The specified entity was not found.
2351//
2352//   * ErrCodeLimitExceededException "LimitExceededException"
2353//   A limit was exceeded.
2354//
2355//   * ErrCodeServiceAccountException "ServiceAccountException"
2356//   There was a problem with the service account.
2357//
2358// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListArtifacts
2359func (c *DeviceFarm) ListArtifacts(input *ListArtifactsInput) (*ListArtifactsOutput, error) {
2360	req, out := c.ListArtifactsRequest(input)
2361	return out, req.Send()
2362}
2363
2364// ListArtifactsWithContext is the same as ListArtifacts with the addition of
2365// the ability to pass a context and additional request options.
2366//
2367// See ListArtifacts for details on how to use this API operation.
2368//
2369// The context must be non-nil and will be used for request cancellation. If
2370// the context is nil a panic will occur. In the future the SDK may create
2371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2372// for more information on using Contexts.
2373func (c *DeviceFarm) ListArtifactsWithContext(ctx aws.Context, input *ListArtifactsInput, opts ...request.Option) (*ListArtifactsOutput, error) {
2374	req, out := c.ListArtifactsRequest(input)
2375	req.SetContext(ctx)
2376	req.ApplyOptions(opts...)
2377	return out, req.Send()
2378}
2379
2380// ListArtifactsPages iterates over the pages of a ListArtifacts operation,
2381// calling the "fn" function with the response data for each page. To stop
2382// iterating, return false from the fn function.
2383//
2384// See ListArtifacts method for more information on how to use this operation.
2385//
2386// Note: This operation can generate multiple requests to a service.
2387//
2388//    // Example iterating over at most 3 pages of a ListArtifacts operation.
2389//    pageNum := 0
2390//    err := client.ListArtifactsPages(params,
2391//        func(page *ListArtifactsOutput, lastPage bool) bool {
2392//            pageNum++
2393//            fmt.Println(page)
2394//            return pageNum <= 3
2395//        })
2396//
2397func (c *DeviceFarm) ListArtifactsPages(input *ListArtifactsInput, fn func(*ListArtifactsOutput, bool) bool) error {
2398	return c.ListArtifactsPagesWithContext(aws.BackgroundContext(), input, fn)
2399}
2400
2401// ListArtifactsPagesWithContext same as ListArtifactsPages except
2402// it takes a Context and allows setting request options on the pages.
2403//
2404// The context must be non-nil and will be used for request cancellation. If
2405// the context is nil a panic will occur. In the future the SDK may create
2406// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2407// for more information on using Contexts.
2408func (c *DeviceFarm) ListArtifactsPagesWithContext(ctx aws.Context, input *ListArtifactsInput, fn func(*ListArtifactsOutput, bool) bool, opts ...request.Option) error {
2409	p := request.Pagination{
2410		NewRequest: func() (*request.Request, error) {
2411			var inCpy *ListArtifactsInput
2412			if input != nil {
2413				tmp := *input
2414				inCpy = &tmp
2415			}
2416			req, _ := c.ListArtifactsRequest(inCpy)
2417			req.SetContext(ctx)
2418			req.ApplyOptions(opts...)
2419			return req, nil
2420		},
2421	}
2422
2423	cont := true
2424	for p.Next() && cont {
2425		cont = fn(p.Page().(*ListArtifactsOutput), !p.HasNextPage())
2426	}
2427	return p.Err()
2428}
2429
2430const opListDevicePools = "ListDevicePools"
2431
2432// ListDevicePoolsRequest generates a "aws/request.Request" representing the
2433// client's request for the ListDevicePools operation. The "output" return
2434// value will be populated with the request's response once the request complets
2435// successfuly.
2436//
2437// Use "Send" method on the returned Request to send the API call to the service.
2438// the "output" return value is not valid until after Send returns without error.
2439//
2440// See ListDevicePools for more information on using the ListDevicePools
2441// API call, and error handling.
2442//
2443// This method is useful when you want to inject custom logic or configuration
2444// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2445//
2446//
2447//    // Example sending a request using the ListDevicePoolsRequest method.
2448//    req, resp := client.ListDevicePoolsRequest(params)
2449//
2450//    err := req.Send()
2451//    if err == nil { // resp is now filled
2452//        fmt.Println(resp)
2453//    }
2454//
2455// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicePools
2456func (c *DeviceFarm) ListDevicePoolsRequest(input *ListDevicePoolsInput) (req *request.Request, output *ListDevicePoolsOutput) {
2457	op := &request.Operation{
2458		Name:       opListDevicePools,
2459		HTTPMethod: "POST",
2460		HTTPPath:   "/",
2461		Paginator: &request.Paginator{
2462			InputTokens:     []string{"nextToken"},
2463			OutputTokens:    []string{"nextToken"},
2464			LimitToken:      "",
2465			TruncationToken: "",
2466		},
2467	}
2468
2469	if input == nil {
2470		input = &ListDevicePoolsInput{}
2471	}
2472
2473	output = &ListDevicePoolsOutput{}
2474	req = c.newRequest(op, input, output)
2475	return
2476}
2477
2478// ListDevicePools API operation for AWS Device Farm.
2479//
2480// Gets information about device pools.
2481//
2482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2483// with awserr.Error's Code and Message methods to get detailed information about
2484// the error.
2485//
2486// See the AWS API reference guide for AWS Device Farm's
2487// API operation ListDevicePools for usage and error information.
2488//
2489// Returned Error Codes:
2490//   * ErrCodeArgumentException "ArgumentException"
2491//   An invalid argument was specified.
2492//
2493//   * ErrCodeNotFoundException "NotFoundException"
2494//   The specified entity was not found.
2495//
2496//   * ErrCodeLimitExceededException "LimitExceededException"
2497//   A limit was exceeded.
2498//
2499//   * ErrCodeServiceAccountException "ServiceAccountException"
2500//   There was a problem with the service account.
2501//
2502// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicePools
2503func (c *DeviceFarm) ListDevicePools(input *ListDevicePoolsInput) (*ListDevicePoolsOutput, error) {
2504	req, out := c.ListDevicePoolsRequest(input)
2505	return out, req.Send()
2506}
2507
2508// ListDevicePoolsWithContext is the same as ListDevicePools with the addition of
2509// the ability to pass a context and additional request options.
2510//
2511// See ListDevicePools for details on how to use this API operation.
2512//
2513// The context must be non-nil and will be used for request cancellation. If
2514// the context is nil a panic will occur. In the future the SDK may create
2515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2516// for more information on using Contexts.
2517func (c *DeviceFarm) ListDevicePoolsWithContext(ctx aws.Context, input *ListDevicePoolsInput, opts ...request.Option) (*ListDevicePoolsOutput, error) {
2518	req, out := c.ListDevicePoolsRequest(input)
2519	req.SetContext(ctx)
2520	req.ApplyOptions(opts...)
2521	return out, req.Send()
2522}
2523
2524// ListDevicePoolsPages iterates over the pages of a ListDevicePools operation,
2525// calling the "fn" function with the response data for each page. To stop
2526// iterating, return false from the fn function.
2527//
2528// See ListDevicePools method for more information on how to use this operation.
2529//
2530// Note: This operation can generate multiple requests to a service.
2531//
2532//    // Example iterating over at most 3 pages of a ListDevicePools operation.
2533//    pageNum := 0
2534//    err := client.ListDevicePoolsPages(params,
2535//        func(page *ListDevicePoolsOutput, lastPage bool) bool {
2536//            pageNum++
2537//            fmt.Println(page)
2538//            return pageNum <= 3
2539//        })
2540//
2541func (c *DeviceFarm) ListDevicePoolsPages(input *ListDevicePoolsInput, fn func(*ListDevicePoolsOutput, bool) bool) error {
2542	return c.ListDevicePoolsPagesWithContext(aws.BackgroundContext(), input, fn)
2543}
2544
2545// ListDevicePoolsPagesWithContext same as ListDevicePoolsPages except
2546// it takes a Context and allows setting request options on the pages.
2547//
2548// The context must be non-nil and will be used for request cancellation. If
2549// the context is nil a panic will occur. In the future the SDK may create
2550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2551// for more information on using Contexts.
2552func (c *DeviceFarm) ListDevicePoolsPagesWithContext(ctx aws.Context, input *ListDevicePoolsInput, fn func(*ListDevicePoolsOutput, bool) bool, opts ...request.Option) error {
2553	p := request.Pagination{
2554		NewRequest: func() (*request.Request, error) {
2555			var inCpy *ListDevicePoolsInput
2556			if input != nil {
2557				tmp := *input
2558				inCpy = &tmp
2559			}
2560			req, _ := c.ListDevicePoolsRequest(inCpy)
2561			req.SetContext(ctx)
2562			req.ApplyOptions(opts...)
2563			return req, nil
2564		},
2565	}
2566
2567	cont := true
2568	for p.Next() && cont {
2569		cont = fn(p.Page().(*ListDevicePoolsOutput), !p.HasNextPage())
2570	}
2571	return p.Err()
2572}
2573
2574const opListDevices = "ListDevices"
2575
2576// ListDevicesRequest generates a "aws/request.Request" representing the
2577// client's request for the ListDevices operation. The "output" return
2578// value will be populated with the request's response once the request complets
2579// successfuly.
2580//
2581// Use "Send" method on the returned Request to send the API call to the service.
2582// the "output" return value is not valid until after Send returns without error.
2583//
2584// See ListDevices for more information on using the ListDevices
2585// API call, and error handling.
2586//
2587// This method is useful when you want to inject custom logic or configuration
2588// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2589//
2590//
2591//    // Example sending a request using the ListDevicesRequest method.
2592//    req, resp := client.ListDevicesRequest(params)
2593//
2594//    err := req.Send()
2595//    if err == nil { // resp is now filled
2596//        fmt.Println(resp)
2597//    }
2598//
2599// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevices
2600func (c *DeviceFarm) ListDevicesRequest(input *ListDevicesInput) (req *request.Request, output *ListDevicesOutput) {
2601	op := &request.Operation{
2602		Name:       opListDevices,
2603		HTTPMethod: "POST",
2604		HTTPPath:   "/",
2605		Paginator: &request.Paginator{
2606			InputTokens:     []string{"nextToken"},
2607			OutputTokens:    []string{"nextToken"},
2608			LimitToken:      "",
2609			TruncationToken: "",
2610		},
2611	}
2612
2613	if input == nil {
2614		input = &ListDevicesInput{}
2615	}
2616
2617	output = &ListDevicesOutput{}
2618	req = c.newRequest(op, input, output)
2619	return
2620}
2621
2622// ListDevices API operation for AWS Device Farm.
2623//
2624// Gets information about unique device types.
2625//
2626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2627// with awserr.Error's Code and Message methods to get detailed information about
2628// the error.
2629//
2630// See the AWS API reference guide for AWS Device Farm's
2631// API operation ListDevices for usage and error information.
2632//
2633// Returned Error Codes:
2634//   * ErrCodeArgumentException "ArgumentException"
2635//   An invalid argument was specified.
2636//
2637//   * ErrCodeNotFoundException "NotFoundException"
2638//   The specified entity was not found.
2639//
2640//   * ErrCodeLimitExceededException "LimitExceededException"
2641//   A limit was exceeded.
2642//
2643//   * ErrCodeServiceAccountException "ServiceAccountException"
2644//   There was a problem with the service account.
2645//
2646// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevices
2647func (c *DeviceFarm) ListDevices(input *ListDevicesInput) (*ListDevicesOutput, error) {
2648	req, out := c.ListDevicesRequest(input)
2649	return out, req.Send()
2650}
2651
2652// ListDevicesWithContext is the same as ListDevices with the addition of
2653// the ability to pass a context and additional request options.
2654//
2655// See ListDevices for details on how to use this API operation.
2656//
2657// The context must be non-nil and will be used for request cancellation. If
2658// the context is nil a panic will occur. In the future the SDK may create
2659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2660// for more information on using Contexts.
2661func (c *DeviceFarm) ListDevicesWithContext(ctx aws.Context, input *ListDevicesInput, opts ...request.Option) (*ListDevicesOutput, error) {
2662	req, out := c.ListDevicesRequest(input)
2663	req.SetContext(ctx)
2664	req.ApplyOptions(opts...)
2665	return out, req.Send()
2666}
2667
2668// ListDevicesPages iterates over the pages of a ListDevices operation,
2669// calling the "fn" function with the response data for each page. To stop
2670// iterating, return false from the fn function.
2671//
2672// See ListDevices method for more information on how to use this operation.
2673//
2674// Note: This operation can generate multiple requests to a service.
2675//
2676//    // Example iterating over at most 3 pages of a ListDevices operation.
2677//    pageNum := 0
2678//    err := client.ListDevicesPages(params,
2679//        func(page *ListDevicesOutput, lastPage bool) bool {
2680//            pageNum++
2681//            fmt.Println(page)
2682//            return pageNum <= 3
2683//        })
2684//
2685func (c *DeviceFarm) ListDevicesPages(input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool) error {
2686	return c.ListDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
2687}
2688
2689// ListDevicesPagesWithContext same as ListDevicesPages except
2690// it takes a Context and allows setting request options on the pages.
2691//
2692// The context must be non-nil and will be used for request cancellation. If
2693// the context is nil a panic will occur. In the future the SDK may create
2694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2695// for more information on using Contexts.
2696func (c *DeviceFarm) ListDevicesPagesWithContext(ctx aws.Context, input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool, opts ...request.Option) error {
2697	p := request.Pagination{
2698		NewRequest: func() (*request.Request, error) {
2699			var inCpy *ListDevicesInput
2700			if input != nil {
2701				tmp := *input
2702				inCpy = &tmp
2703			}
2704			req, _ := c.ListDevicesRequest(inCpy)
2705			req.SetContext(ctx)
2706			req.ApplyOptions(opts...)
2707			return req, nil
2708		},
2709	}
2710
2711	cont := true
2712	for p.Next() && cont {
2713		cont = fn(p.Page().(*ListDevicesOutput), !p.HasNextPage())
2714	}
2715	return p.Err()
2716}
2717
2718const opListJobs = "ListJobs"
2719
2720// ListJobsRequest generates a "aws/request.Request" representing the
2721// client's request for the ListJobs operation. The "output" return
2722// value will be populated with the request's response once the request complets
2723// successfuly.
2724//
2725// Use "Send" method on the returned Request to send the API call to the service.
2726// the "output" return value is not valid until after Send returns without error.
2727//
2728// See ListJobs for more information on using the ListJobs
2729// API call, and error handling.
2730//
2731// This method is useful when you want to inject custom logic or configuration
2732// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2733//
2734//
2735//    // Example sending a request using the ListJobsRequest method.
2736//    req, resp := client.ListJobsRequest(params)
2737//
2738//    err := req.Send()
2739//    if err == nil { // resp is now filled
2740//        fmt.Println(resp)
2741//    }
2742//
2743// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListJobs
2744func (c *DeviceFarm) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
2745	op := &request.Operation{
2746		Name:       opListJobs,
2747		HTTPMethod: "POST",
2748		HTTPPath:   "/",
2749		Paginator: &request.Paginator{
2750			InputTokens:     []string{"nextToken"},
2751			OutputTokens:    []string{"nextToken"},
2752			LimitToken:      "",
2753			TruncationToken: "",
2754		},
2755	}
2756
2757	if input == nil {
2758		input = &ListJobsInput{}
2759	}
2760
2761	output = &ListJobsOutput{}
2762	req = c.newRequest(op, input, output)
2763	return
2764}
2765
2766// ListJobs API operation for AWS Device Farm.
2767//
2768// Gets information about jobs.
2769//
2770// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2771// with awserr.Error's Code and Message methods to get detailed information about
2772// the error.
2773//
2774// See the AWS API reference guide for AWS Device Farm's
2775// API operation ListJobs for usage and error information.
2776//
2777// Returned Error Codes:
2778//   * ErrCodeArgumentException "ArgumentException"
2779//   An invalid argument was specified.
2780//
2781//   * ErrCodeNotFoundException "NotFoundException"
2782//   The specified entity was not found.
2783//
2784//   * ErrCodeLimitExceededException "LimitExceededException"
2785//   A limit was exceeded.
2786//
2787//   * ErrCodeServiceAccountException "ServiceAccountException"
2788//   There was a problem with the service account.
2789//
2790// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListJobs
2791func (c *DeviceFarm) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
2792	req, out := c.ListJobsRequest(input)
2793	return out, req.Send()
2794}
2795
2796// ListJobsWithContext is the same as ListJobs with the addition of
2797// the ability to pass a context and additional request options.
2798//
2799// See ListJobs for details on how to use this API operation.
2800//
2801// The context must be non-nil and will be used for request cancellation. If
2802// the context is nil a panic will occur. In the future the SDK may create
2803// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2804// for more information on using Contexts.
2805func (c *DeviceFarm) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) {
2806	req, out := c.ListJobsRequest(input)
2807	req.SetContext(ctx)
2808	req.ApplyOptions(opts...)
2809	return out, req.Send()
2810}
2811
2812// ListJobsPages iterates over the pages of a ListJobs operation,
2813// calling the "fn" function with the response data for each page. To stop
2814// iterating, return false from the fn function.
2815//
2816// See ListJobs method for more information on how to use this operation.
2817//
2818// Note: This operation can generate multiple requests to a service.
2819//
2820//    // Example iterating over at most 3 pages of a ListJobs operation.
2821//    pageNum := 0
2822//    err := client.ListJobsPages(params,
2823//        func(page *ListJobsOutput, lastPage bool) bool {
2824//            pageNum++
2825//            fmt.Println(page)
2826//            return pageNum <= 3
2827//        })
2828//
2829func (c *DeviceFarm) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error {
2830	return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn)
2831}
2832
2833// ListJobsPagesWithContext same as ListJobsPages except
2834// it takes a Context and allows setting request options on the pages.
2835//
2836// The context must be non-nil and will be used for request cancellation. If
2837// the context is nil a panic will occur. In the future the SDK may create
2838// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2839// for more information on using Contexts.
2840func (c *DeviceFarm) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error {
2841	p := request.Pagination{
2842		NewRequest: func() (*request.Request, error) {
2843			var inCpy *ListJobsInput
2844			if input != nil {
2845				tmp := *input
2846				inCpy = &tmp
2847			}
2848			req, _ := c.ListJobsRequest(inCpy)
2849			req.SetContext(ctx)
2850			req.ApplyOptions(opts...)
2851			return req, nil
2852		},
2853	}
2854
2855	cont := true
2856	for p.Next() && cont {
2857		cont = fn(p.Page().(*ListJobsOutput), !p.HasNextPage())
2858	}
2859	return p.Err()
2860}
2861
2862const opListNetworkProfiles = "ListNetworkProfiles"
2863
2864// ListNetworkProfilesRequest generates a "aws/request.Request" representing the
2865// client's request for the ListNetworkProfiles operation. The "output" return
2866// value will be populated with the request's response once the request complets
2867// successfuly.
2868//
2869// Use "Send" method on the returned Request to send the API call to the service.
2870// the "output" return value is not valid until after Send returns without error.
2871//
2872// See ListNetworkProfiles for more information on using the ListNetworkProfiles
2873// API call, and error handling.
2874//
2875// This method is useful when you want to inject custom logic or configuration
2876// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2877//
2878//
2879//    // Example sending a request using the ListNetworkProfilesRequest method.
2880//    req, resp := client.ListNetworkProfilesRequest(params)
2881//
2882//    err := req.Send()
2883//    if err == nil { // resp is now filled
2884//        fmt.Println(resp)
2885//    }
2886//
2887// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListNetworkProfiles
2888func (c *DeviceFarm) ListNetworkProfilesRequest(input *ListNetworkProfilesInput) (req *request.Request, output *ListNetworkProfilesOutput) {
2889	op := &request.Operation{
2890		Name:       opListNetworkProfiles,
2891		HTTPMethod: "POST",
2892		HTTPPath:   "/",
2893	}
2894
2895	if input == nil {
2896		input = &ListNetworkProfilesInput{}
2897	}
2898
2899	output = &ListNetworkProfilesOutput{}
2900	req = c.newRequest(op, input, output)
2901	return
2902}
2903
2904// ListNetworkProfiles API operation for AWS Device Farm.
2905//
2906// Returns the list of available network profiles.
2907//
2908// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2909// with awserr.Error's Code and Message methods to get detailed information about
2910// the error.
2911//
2912// See the AWS API reference guide for AWS Device Farm's
2913// API operation ListNetworkProfiles for usage and error information.
2914//
2915// Returned Error Codes:
2916//   * ErrCodeArgumentException "ArgumentException"
2917//   An invalid argument was specified.
2918//
2919//   * ErrCodeNotFoundException "NotFoundException"
2920//   The specified entity was not found.
2921//
2922//   * ErrCodeLimitExceededException "LimitExceededException"
2923//   A limit was exceeded.
2924//
2925//   * ErrCodeServiceAccountException "ServiceAccountException"
2926//   There was a problem with the service account.
2927//
2928// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListNetworkProfiles
2929func (c *DeviceFarm) ListNetworkProfiles(input *ListNetworkProfilesInput) (*ListNetworkProfilesOutput, error) {
2930	req, out := c.ListNetworkProfilesRequest(input)
2931	return out, req.Send()
2932}
2933
2934// ListNetworkProfilesWithContext is the same as ListNetworkProfiles with the addition of
2935// the ability to pass a context and additional request options.
2936//
2937// See ListNetworkProfiles for details on how to use this API operation.
2938//
2939// The context must be non-nil and will be used for request cancellation. If
2940// the context is nil a panic will occur. In the future the SDK may create
2941// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2942// for more information on using Contexts.
2943func (c *DeviceFarm) ListNetworkProfilesWithContext(ctx aws.Context, input *ListNetworkProfilesInput, opts ...request.Option) (*ListNetworkProfilesOutput, error) {
2944	req, out := c.ListNetworkProfilesRequest(input)
2945	req.SetContext(ctx)
2946	req.ApplyOptions(opts...)
2947	return out, req.Send()
2948}
2949
2950const opListOfferingPromotions = "ListOfferingPromotions"
2951
2952// ListOfferingPromotionsRequest generates a "aws/request.Request" representing the
2953// client's request for the ListOfferingPromotions operation. The "output" return
2954// value will be populated with the request's response once the request complets
2955// successfuly.
2956//
2957// Use "Send" method on the returned Request to send the API call to the service.
2958// the "output" return value is not valid until after Send returns without error.
2959//
2960// See ListOfferingPromotions for more information on using the ListOfferingPromotions
2961// API call, and error handling.
2962//
2963// This method is useful when you want to inject custom logic or configuration
2964// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2965//
2966//
2967//    // Example sending a request using the ListOfferingPromotionsRequest method.
2968//    req, resp := client.ListOfferingPromotionsRequest(params)
2969//
2970//    err := req.Send()
2971//    if err == nil { // resp is now filled
2972//        fmt.Println(resp)
2973//    }
2974//
2975// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingPromotions
2976func (c *DeviceFarm) ListOfferingPromotionsRequest(input *ListOfferingPromotionsInput) (req *request.Request, output *ListOfferingPromotionsOutput) {
2977	op := &request.Operation{
2978		Name:       opListOfferingPromotions,
2979		HTTPMethod: "POST",
2980		HTTPPath:   "/",
2981	}
2982
2983	if input == nil {
2984		input = &ListOfferingPromotionsInput{}
2985	}
2986
2987	output = &ListOfferingPromotionsOutput{}
2988	req = c.newRequest(op, input, output)
2989	return
2990}
2991
2992// ListOfferingPromotions API operation for AWS Device Farm.
2993//
2994// Returns a list of offering promotions. Each offering promotion record contains
2995// the ID and description of the promotion. The API returns a NotEligible error
2996// if the caller is not permitted to invoke the operation. Contact aws-devicefarm-support@amazon.com
2997// (mailto:aws-devicefarm-support@amazon.com) if you believe that you should
2998// be able to invoke this operation.
2999//
3000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3001// with awserr.Error's Code and Message methods to get detailed information about
3002// the error.
3003//
3004// See the AWS API reference guide for AWS Device Farm's
3005// API operation ListOfferingPromotions for usage and error information.
3006//
3007// Returned Error Codes:
3008//   * ErrCodeArgumentException "ArgumentException"
3009//   An invalid argument was specified.
3010//
3011//   * ErrCodeNotFoundException "NotFoundException"
3012//   The specified entity was not found.
3013//
3014//   * ErrCodeNotEligibleException "NotEligibleException"
3015//   Exception gets thrown when a user is not eligible to perform the specified
3016//   transaction.
3017//
3018//   * ErrCodeLimitExceededException "LimitExceededException"
3019//   A limit was exceeded.
3020//
3021//   * ErrCodeServiceAccountException "ServiceAccountException"
3022//   There was a problem with the service account.
3023//
3024// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingPromotions
3025func (c *DeviceFarm) ListOfferingPromotions(input *ListOfferingPromotionsInput) (*ListOfferingPromotionsOutput, error) {
3026	req, out := c.ListOfferingPromotionsRequest(input)
3027	return out, req.Send()
3028}
3029
3030// ListOfferingPromotionsWithContext is the same as ListOfferingPromotions with the addition of
3031// the ability to pass a context and additional request options.
3032//
3033// See ListOfferingPromotions for details on how to use this API operation.
3034//
3035// The context must be non-nil and will be used for request cancellation. If
3036// the context is nil a panic will occur. In the future the SDK may create
3037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3038// for more information on using Contexts.
3039func (c *DeviceFarm) ListOfferingPromotionsWithContext(ctx aws.Context, input *ListOfferingPromotionsInput, opts ...request.Option) (*ListOfferingPromotionsOutput, error) {
3040	req, out := c.ListOfferingPromotionsRequest(input)
3041	req.SetContext(ctx)
3042	req.ApplyOptions(opts...)
3043	return out, req.Send()
3044}
3045
3046const opListOfferingTransactions = "ListOfferingTransactions"
3047
3048// ListOfferingTransactionsRequest generates a "aws/request.Request" representing the
3049// client's request for the ListOfferingTransactions operation. The "output" return
3050// value will be populated with the request's response once the request complets
3051// successfuly.
3052//
3053// Use "Send" method on the returned Request to send the API call to the service.
3054// the "output" return value is not valid until after Send returns without error.
3055//
3056// See ListOfferingTransactions for more information on using the ListOfferingTransactions
3057// API call, and error handling.
3058//
3059// This method is useful when you want to inject custom logic or configuration
3060// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3061//
3062//
3063//    // Example sending a request using the ListOfferingTransactionsRequest method.
3064//    req, resp := client.ListOfferingTransactionsRequest(params)
3065//
3066//    err := req.Send()
3067//    if err == nil { // resp is now filled
3068//        fmt.Println(resp)
3069//    }
3070//
3071// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingTransactions
3072func (c *DeviceFarm) ListOfferingTransactionsRequest(input *ListOfferingTransactionsInput) (req *request.Request, output *ListOfferingTransactionsOutput) {
3073	op := &request.Operation{
3074		Name:       opListOfferingTransactions,
3075		HTTPMethod: "POST",
3076		HTTPPath:   "/",
3077		Paginator: &request.Paginator{
3078			InputTokens:     []string{"nextToken"},
3079			OutputTokens:    []string{"nextToken"},
3080			LimitToken:      "",
3081			TruncationToken: "",
3082		},
3083	}
3084
3085	if input == nil {
3086		input = &ListOfferingTransactionsInput{}
3087	}
3088
3089	output = &ListOfferingTransactionsOutput{}
3090	req = c.newRequest(op, input, output)
3091	return
3092}
3093
3094// ListOfferingTransactions API operation for AWS Device Farm.
3095//
3096// Returns a list of all historical purchases, renewals, and system renewal
3097// transactions for an AWS account. The list is paginated and ordered by a descending
3098// timestamp (most recent transactions are first). The API returns a NotEligible
3099// error if the user is not permitted to invoke the operation. Please contact
3100// aws-devicefarm-support@amazon.com (mailto:aws-devicefarm-support@amazon.com)
3101// if you believe that you should be able to invoke this operation.
3102//
3103// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3104// with awserr.Error's Code and Message methods to get detailed information about
3105// the error.
3106//
3107// See the AWS API reference guide for AWS Device Farm's
3108// API operation ListOfferingTransactions for usage and error information.
3109//
3110// Returned Error Codes:
3111//   * ErrCodeArgumentException "ArgumentException"
3112//   An invalid argument was specified.
3113//
3114//   * ErrCodeNotFoundException "NotFoundException"
3115//   The specified entity was not found.
3116//
3117//   * ErrCodeNotEligibleException "NotEligibleException"
3118//   Exception gets thrown when a user is not eligible to perform the specified
3119//   transaction.
3120//
3121//   * ErrCodeLimitExceededException "LimitExceededException"
3122//   A limit was exceeded.
3123//
3124//   * ErrCodeServiceAccountException "ServiceAccountException"
3125//   There was a problem with the service account.
3126//
3127// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingTransactions
3128func (c *DeviceFarm) ListOfferingTransactions(input *ListOfferingTransactionsInput) (*ListOfferingTransactionsOutput, error) {
3129	req, out := c.ListOfferingTransactionsRequest(input)
3130	return out, req.Send()
3131}
3132
3133// ListOfferingTransactionsWithContext is the same as ListOfferingTransactions with the addition of
3134// the ability to pass a context and additional request options.
3135//
3136// See ListOfferingTransactions for details on how to use this API operation.
3137//
3138// The context must be non-nil and will be used for request cancellation. If
3139// the context is nil a panic will occur. In the future the SDK may create
3140// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3141// for more information on using Contexts.
3142func (c *DeviceFarm) ListOfferingTransactionsWithContext(ctx aws.Context, input *ListOfferingTransactionsInput, opts ...request.Option) (*ListOfferingTransactionsOutput, error) {
3143	req, out := c.ListOfferingTransactionsRequest(input)
3144	req.SetContext(ctx)
3145	req.ApplyOptions(opts...)
3146	return out, req.Send()
3147}
3148
3149// ListOfferingTransactionsPages iterates over the pages of a ListOfferingTransactions operation,
3150// calling the "fn" function with the response data for each page. To stop
3151// iterating, return false from the fn function.
3152//
3153// See ListOfferingTransactions method for more information on how to use this operation.
3154//
3155// Note: This operation can generate multiple requests to a service.
3156//
3157//    // Example iterating over at most 3 pages of a ListOfferingTransactions operation.
3158//    pageNum := 0
3159//    err := client.ListOfferingTransactionsPages(params,
3160//        func(page *ListOfferingTransactionsOutput, lastPage bool) bool {
3161//            pageNum++
3162//            fmt.Println(page)
3163//            return pageNum <= 3
3164//        })
3165//
3166func (c *DeviceFarm) ListOfferingTransactionsPages(input *ListOfferingTransactionsInput, fn func(*ListOfferingTransactionsOutput, bool) bool) error {
3167	return c.ListOfferingTransactionsPagesWithContext(aws.BackgroundContext(), input, fn)
3168}
3169
3170// ListOfferingTransactionsPagesWithContext same as ListOfferingTransactionsPages except
3171// it takes a Context and allows setting request options on the pages.
3172//
3173// The context must be non-nil and will be used for request cancellation. If
3174// the context is nil a panic will occur. In the future the SDK may create
3175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3176// for more information on using Contexts.
3177func (c *DeviceFarm) ListOfferingTransactionsPagesWithContext(ctx aws.Context, input *ListOfferingTransactionsInput, fn func(*ListOfferingTransactionsOutput, bool) bool, opts ...request.Option) error {
3178	p := request.Pagination{
3179		NewRequest: func() (*request.Request, error) {
3180			var inCpy *ListOfferingTransactionsInput
3181			if input != nil {
3182				tmp := *input
3183				inCpy = &tmp
3184			}
3185			req, _ := c.ListOfferingTransactionsRequest(inCpy)
3186			req.SetContext(ctx)
3187			req.ApplyOptions(opts...)
3188			return req, nil
3189		},
3190	}
3191
3192	cont := true
3193	for p.Next() && cont {
3194		cont = fn(p.Page().(*ListOfferingTransactionsOutput), !p.HasNextPage())
3195	}
3196	return p.Err()
3197}
3198
3199const opListOfferings = "ListOfferings"
3200
3201// ListOfferingsRequest generates a "aws/request.Request" representing the
3202// client's request for the ListOfferings operation. The "output" return
3203// value will be populated with the request's response once the request complets
3204// successfuly.
3205//
3206// Use "Send" method on the returned Request to send the API call to the service.
3207// the "output" return value is not valid until after Send returns without error.
3208//
3209// See ListOfferings for more information on using the ListOfferings
3210// API call, and error handling.
3211//
3212// This method is useful when you want to inject custom logic or configuration
3213// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3214//
3215//
3216//    // Example sending a request using the ListOfferingsRequest method.
3217//    req, resp := client.ListOfferingsRequest(params)
3218//
3219//    err := req.Send()
3220//    if err == nil { // resp is now filled
3221//        fmt.Println(resp)
3222//    }
3223//
3224// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferings
3225func (c *DeviceFarm) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) {
3226	op := &request.Operation{
3227		Name:       opListOfferings,
3228		HTTPMethod: "POST",
3229		HTTPPath:   "/",
3230		Paginator: &request.Paginator{
3231			InputTokens:     []string{"nextToken"},
3232			OutputTokens:    []string{"nextToken"},
3233			LimitToken:      "",
3234			TruncationToken: "",
3235		},
3236	}
3237
3238	if input == nil {
3239		input = &ListOfferingsInput{}
3240	}
3241
3242	output = &ListOfferingsOutput{}
3243	req = c.newRequest(op, input, output)
3244	return
3245}
3246
3247// ListOfferings API operation for AWS Device Farm.
3248//
3249// Returns a list of products or offerings that the user can manage through
3250// the API. Each offering record indicates the recurring price per unit and
3251// the frequency for that offering. The API returns a NotEligible error if the
3252// user is not permitted to invoke the operation. Please contact aws-devicefarm-support@amazon.com
3253// (mailto:aws-devicefarm-support@amazon.com) if you believe that you should
3254// be able to invoke this operation.
3255//
3256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3257// with awserr.Error's Code and Message methods to get detailed information about
3258// the error.
3259//
3260// See the AWS API reference guide for AWS Device Farm's
3261// API operation ListOfferings for usage and error information.
3262//
3263// Returned Error Codes:
3264//   * ErrCodeArgumentException "ArgumentException"
3265//   An invalid argument was specified.
3266//
3267//   * ErrCodeNotFoundException "NotFoundException"
3268//   The specified entity was not found.
3269//
3270//   * ErrCodeNotEligibleException "NotEligibleException"
3271//   Exception gets thrown when a user is not eligible to perform the specified
3272//   transaction.
3273//
3274//   * ErrCodeLimitExceededException "LimitExceededException"
3275//   A limit was exceeded.
3276//
3277//   * ErrCodeServiceAccountException "ServiceAccountException"
3278//   There was a problem with the service account.
3279//
3280// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferings
3281func (c *DeviceFarm) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) {
3282	req, out := c.ListOfferingsRequest(input)
3283	return out, req.Send()
3284}
3285
3286// ListOfferingsWithContext is the same as ListOfferings with the addition of
3287// the ability to pass a context and additional request options.
3288//
3289// See ListOfferings for details on how to use this API operation.
3290//
3291// The context must be non-nil and will be used for request cancellation. If
3292// the context is nil a panic will occur. In the future the SDK may create
3293// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3294// for more information on using Contexts.
3295func (c *DeviceFarm) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) {
3296	req, out := c.ListOfferingsRequest(input)
3297	req.SetContext(ctx)
3298	req.ApplyOptions(opts...)
3299	return out, req.Send()
3300}
3301
3302// ListOfferingsPages iterates over the pages of a ListOfferings operation,
3303// calling the "fn" function with the response data for each page. To stop
3304// iterating, return false from the fn function.
3305//
3306// See ListOfferings method for more information on how to use this operation.
3307//
3308// Note: This operation can generate multiple requests to a service.
3309//
3310//    // Example iterating over at most 3 pages of a ListOfferings operation.
3311//    pageNum := 0
3312//    err := client.ListOfferingsPages(params,
3313//        func(page *ListOfferingsOutput, lastPage bool) bool {
3314//            pageNum++
3315//            fmt.Println(page)
3316//            return pageNum <= 3
3317//        })
3318//
3319func (c *DeviceFarm) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error {
3320	return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
3321}
3322
3323// ListOfferingsPagesWithContext same as ListOfferingsPages except
3324// it takes a Context and allows setting request options on the pages.
3325//
3326// The context must be non-nil and will be used for request cancellation. If
3327// the context is nil a panic will occur. In the future the SDK may create
3328// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3329// for more information on using Contexts.
3330func (c *DeviceFarm) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error {
3331	p := request.Pagination{
3332		NewRequest: func() (*request.Request, error) {
3333			var inCpy *ListOfferingsInput
3334			if input != nil {
3335				tmp := *input
3336				inCpy = &tmp
3337			}
3338			req, _ := c.ListOfferingsRequest(inCpy)
3339			req.SetContext(ctx)
3340			req.ApplyOptions(opts...)
3341			return req, nil
3342		},
3343	}
3344
3345	cont := true
3346	for p.Next() && cont {
3347		cont = fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage())
3348	}
3349	return p.Err()
3350}
3351
3352const opListProjects = "ListProjects"
3353
3354// ListProjectsRequest generates a "aws/request.Request" representing the
3355// client's request for the ListProjects operation. The "output" return
3356// value will be populated with the request's response once the request complets
3357// successfuly.
3358//
3359// Use "Send" method on the returned Request to send the API call to the service.
3360// the "output" return value is not valid until after Send returns without error.
3361//
3362// See ListProjects for more information on using the ListProjects
3363// API call, and error handling.
3364//
3365// This method is useful when you want to inject custom logic or configuration
3366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3367//
3368//
3369//    // Example sending a request using the ListProjectsRequest method.
3370//    req, resp := client.ListProjectsRequest(params)
3371//
3372//    err := req.Send()
3373//    if err == nil { // resp is now filled
3374//        fmt.Println(resp)
3375//    }
3376//
3377// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListProjects
3378func (c *DeviceFarm) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
3379	op := &request.Operation{
3380		Name:       opListProjects,
3381		HTTPMethod: "POST",
3382		HTTPPath:   "/",
3383		Paginator: &request.Paginator{
3384			InputTokens:     []string{"nextToken"},
3385			OutputTokens:    []string{"nextToken"},
3386			LimitToken:      "",
3387			TruncationToken: "",
3388		},
3389	}
3390
3391	if input == nil {
3392		input = &ListProjectsInput{}
3393	}
3394
3395	output = &ListProjectsOutput{}
3396	req = c.newRequest(op, input, output)
3397	return
3398}
3399
3400// ListProjects API operation for AWS Device Farm.
3401//
3402// Gets information about projects.
3403//
3404// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3405// with awserr.Error's Code and Message methods to get detailed information about
3406// the error.
3407//
3408// See the AWS API reference guide for AWS Device Farm's
3409// API operation ListProjects for usage and error information.
3410//
3411// Returned Error Codes:
3412//   * ErrCodeArgumentException "ArgumentException"
3413//   An invalid argument was specified.
3414//
3415//   * ErrCodeNotFoundException "NotFoundException"
3416//   The specified entity was not found.
3417//
3418//   * ErrCodeLimitExceededException "LimitExceededException"
3419//   A limit was exceeded.
3420//
3421//   * ErrCodeServiceAccountException "ServiceAccountException"
3422//   There was a problem with the service account.
3423//
3424// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListProjects
3425func (c *DeviceFarm) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
3426	req, out := c.ListProjectsRequest(input)
3427	return out, req.Send()
3428}
3429
3430// ListProjectsWithContext is the same as ListProjects with the addition of
3431// the ability to pass a context and additional request options.
3432//
3433// See ListProjects for details on how to use this API operation.
3434//
3435// The context must be non-nil and will be used for request cancellation. If
3436// the context is nil a panic will occur. In the future the SDK may create
3437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3438// for more information on using Contexts.
3439func (c *DeviceFarm) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
3440	req, out := c.ListProjectsRequest(input)
3441	req.SetContext(ctx)
3442	req.ApplyOptions(opts...)
3443	return out, req.Send()
3444}
3445
3446// ListProjectsPages iterates over the pages of a ListProjects operation,
3447// calling the "fn" function with the response data for each page. To stop
3448// iterating, return false from the fn function.
3449//
3450// See ListProjects method for more information on how to use this operation.
3451//
3452// Note: This operation can generate multiple requests to a service.
3453//
3454//    // Example iterating over at most 3 pages of a ListProjects operation.
3455//    pageNum := 0
3456//    err := client.ListProjectsPages(params,
3457//        func(page *ListProjectsOutput, lastPage bool) bool {
3458//            pageNum++
3459//            fmt.Println(page)
3460//            return pageNum <= 3
3461//        })
3462//
3463func (c *DeviceFarm) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error {
3464	return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
3465}
3466
3467// ListProjectsPagesWithContext same as ListProjectsPages except
3468// it takes a Context and allows setting request options on the pages.
3469//
3470// The context must be non-nil and will be used for request cancellation. If
3471// the context is nil a panic will occur. In the future the SDK may create
3472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3473// for more information on using Contexts.
3474func (c *DeviceFarm) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error {
3475	p := request.Pagination{
3476		NewRequest: func() (*request.Request, error) {
3477			var inCpy *ListProjectsInput
3478			if input != nil {
3479				tmp := *input
3480				inCpy = &tmp
3481			}
3482			req, _ := c.ListProjectsRequest(inCpy)
3483			req.SetContext(ctx)
3484			req.ApplyOptions(opts...)
3485			return req, nil
3486		},
3487	}
3488
3489	cont := true
3490	for p.Next() && cont {
3491		cont = fn(p.Page().(*ListProjectsOutput), !p.HasNextPage())
3492	}
3493	return p.Err()
3494}
3495
3496const opListRemoteAccessSessions = "ListRemoteAccessSessions"
3497
3498// ListRemoteAccessSessionsRequest generates a "aws/request.Request" representing the
3499// client's request for the ListRemoteAccessSessions operation. The "output" return
3500// value will be populated with the request's response once the request complets
3501// successfuly.
3502//
3503// Use "Send" method on the returned Request to send the API call to the service.
3504// the "output" return value is not valid until after Send returns without error.
3505//
3506// See ListRemoteAccessSessions for more information on using the ListRemoteAccessSessions
3507// API call, and error handling.
3508//
3509// This method is useful when you want to inject custom logic or configuration
3510// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3511//
3512//
3513//    // Example sending a request using the ListRemoteAccessSessionsRequest method.
3514//    req, resp := client.ListRemoteAccessSessionsRequest(params)
3515//
3516//    err := req.Send()
3517//    if err == nil { // resp is now filled
3518//        fmt.Println(resp)
3519//    }
3520//
3521// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRemoteAccessSessions
3522func (c *DeviceFarm) ListRemoteAccessSessionsRequest(input *ListRemoteAccessSessionsInput) (req *request.Request, output *ListRemoteAccessSessionsOutput) {
3523	op := &request.Operation{
3524		Name:       opListRemoteAccessSessions,
3525		HTTPMethod: "POST",
3526		HTTPPath:   "/",
3527	}
3528
3529	if input == nil {
3530		input = &ListRemoteAccessSessionsInput{}
3531	}
3532
3533	output = &ListRemoteAccessSessionsOutput{}
3534	req = c.newRequest(op, input, output)
3535	return
3536}
3537
3538// ListRemoteAccessSessions API operation for AWS Device Farm.
3539//
3540// Returns a list of all currently running remote access sessions.
3541//
3542// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3543// with awserr.Error's Code and Message methods to get detailed information about
3544// the error.
3545//
3546// See the AWS API reference guide for AWS Device Farm's
3547// API operation ListRemoteAccessSessions for usage and error information.
3548//
3549// Returned Error Codes:
3550//   * ErrCodeArgumentException "ArgumentException"
3551//   An invalid argument was specified.
3552//
3553//   * ErrCodeNotFoundException "NotFoundException"
3554//   The specified entity was not found.
3555//
3556//   * ErrCodeLimitExceededException "LimitExceededException"
3557//   A limit was exceeded.
3558//
3559//   * ErrCodeServiceAccountException "ServiceAccountException"
3560//   There was a problem with the service account.
3561//
3562// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRemoteAccessSessions
3563func (c *DeviceFarm) ListRemoteAccessSessions(input *ListRemoteAccessSessionsInput) (*ListRemoteAccessSessionsOutput, error) {
3564	req, out := c.ListRemoteAccessSessionsRequest(input)
3565	return out, req.Send()
3566}
3567
3568// ListRemoteAccessSessionsWithContext is the same as ListRemoteAccessSessions with the addition of
3569// the ability to pass a context and additional request options.
3570//
3571// See ListRemoteAccessSessions for details on how to use this API operation.
3572//
3573// The context must be non-nil and will be used for request cancellation. If
3574// the context is nil a panic will occur. In the future the SDK may create
3575// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3576// for more information on using Contexts.
3577func (c *DeviceFarm) ListRemoteAccessSessionsWithContext(ctx aws.Context, input *ListRemoteAccessSessionsInput, opts ...request.Option) (*ListRemoteAccessSessionsOutput, error) {
3578	req, out := c.ListRemoteAccessSessionsRequest(input)
3579	req.SetContext(ctx)
3580	req.ApplyOptions(opts...)
3581	return out, req.Send()
3582}
3583
3584const opListRuns = "ListRuns"
3585
3586// ListRunsRequest generates a "aws/request.Request" representing the
3587// client's request for the ListRuns operation. The "output" return
3588// value will be populated with the request's response once the request complets
3589// successfuly.
3590//
3591// Use "Send" method on the returned Request to send the API call to the service.
3592// the "output" return value is not valid until after Send returns without error.
3593//
3594// See ListRuns for more information on using the ListRuns
3595// API call, and error handling.
3596//
3597// This method is useful when you want to inject custom logic or configuration
3598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3599//
3600//
3601//    // Example sending a request using the ListRunsRequest method.
3602//    req, resp := client.ListRunsRequest(params)
3603//
3604//    err := req.Send()
3605//    if err == nil { // resp is now filled
3606//        fmt.Println(resp)
3607//    }
3608//
3609// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRuns
3610func (c *DeviceFarm) ListRunsRequest(input *ListRunsInput) (req *request.Request, output *ListRunsOutput) {
3611	op := &request.Operation{
3612		Name:       opListRuns,
3613		HTTPMethod: "POST",
3614		HTTPPath:   "/",
3615		Paginator: &request.Paginator{
3616			InputTokens:     []string{"nextToken"},
3617			OutputTokens:    []string{"nextToken"},
3618			LimitToken:      "",
3619			TruncationToken: "",
3620		},
3621	}
3622
3623	if input == nil {
3624		input = &ListRunsInput{}
3625	}
3626
3627	output = &ListRunsOutput{}
3628	req = c.newRequest(op, input, output)
3629	return
3630}
3631
3632// ListRuns API operation for AWS Device Farm.
3633//
3634// Gets information about runs, given an AWS Device Farm project ARN.
3635//
3636// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3637// with awserr.Error's Code and Message methods to get detailed information about
3638// the error.
3639//
3640// See the AWS API reference guide for AWS Device Farm's
3641// API operation ListRuns for usage and error information.
3642//
3643// Returned Error Codes:
3644//   * ErrCodeArgumentException "ArgumentException"
3645//   An invalid argument was specified.
3646//
3647//   * ErrCodeNotFoundException "NotFoundException"
3648//   The specified entity was not found.
3649//
3650//   * ErrCodeLimitExceededException "LimitExceededException"
3651//   A limit was exceeded.
3652//
3653//   * ErrCodeServiceAccountException "ServiceAccountException"
3654//   There was a problem with the service account.
3655//
3656// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRuns
3657func (c *DeviceFarm) ListRuns(input *ListRunsInput) (*ListRunsOutput, error) {
3658	req, out := c.ListRunsRequest(input)
3659	return out, req.Send()
3660}
3661
3662// ListRunsWithContext is the same as ListRuns with the addition of
3663// the ability to pass a context and additional request options.
3664//
3665// See ListRuns for details on how to use this API operation.
3666//
3667// The context must be non-nil and will be used for request cancellation. If
3668// the context is nil a panic will occur. In the future the SDK may create
3669// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3670// for more information on using Contexts.
3671func (c *DeviceFarm) ListRunsWithContext(ctx aws.Context, input *ListRunsInput, opts ...request.Option) (*ListRunsOutput, error) {
3672	req, out := c.ListRunsRequest(input)
3673	req.SetContext(ctx)
3674	req.ApplyOptions(opts...)
3675	return out, req.Send()
3676}
3677
3678// ListRunsPages iterates over the pages of a ListRuns operation,
3679// calling the "fn" function with the response data for each page. To stop
3680// iterating, return false from the fn function.
3681//
3682// See ListRuns method for more information on how to use this operation.
3683//
3684// Note: This operation can generate multiple requests to a service.
3685//
3686//    // Example iterating over at most 3 pages of a ListRuns operation.
3687//    pageNum := 0
3688//    err := client.ListRunsPages(params,
3689//        func(page *ListRunsOutput, lastPage bool) bool {
3690//            pageNum++
3691//            fmt.Println(page)
3692//            return pageNum <= 3
3693//        })
3694//
3695func (c *DeviceFarm) ListRunsPages(input *ListRunsInput, fn func(*ListRunsOutput, bool) bool) error {
3696	return c.ListRunsPagesWithContext(aws.BackgroundContext(), input, fn)
3697}
3698
3699// ListRunsPagesWithContext same as ListRunsPages except
3700// it takes a Context and allows setting request options on the pages.
3701//
3702// The context must be non-nil and will be used for request cancellation. If
3703// the context is nil a panic will occur. In the future the SDK may create
3704// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3705// for more information on using Contexts.
3706func (c *DeviceFarm) ListRunsPagesWithContext(ctx aws.Context, input *ListRunsInput, fn func(*ListRunsOutput, bool) bool, opts ...request.Option) error {
3707	p := request.Pagination{
3708		NewRequest: func() (*request.Request, error) {
3709			var inCpy *ListRunsInput
3710			if input != nil {
3711				tmp := *input
3712				inCpy = &tmp
3713			}
3714			req, _ := c.ListRunsRequest(inCpy)
3715			req.SetContext(ctx)
3716			req.ApplyOptions(opts...)
3717			return req, nil
3718		},
3719	}
3720
3721	cont := true
3722	for p.Next() && cont {
3723		cont = fn(p.Page().(*ListRunsOutput), !p.HasNextPage())
3724	}
3725	return p.Err()
3726}
3727
3728const opListSamples = "ListSamples"
3729
3730// ListSamplesRequest generates a "aws/request.Request" representing the
3731// client's request for the ListSamples operation. The "output" return
3732// value will be populated with the request's response once the request complets
3733// successfuly.
3734//
3735// Use "Send" method on the returned Request to send the API call to the service.
3736// the "output" return value is not valid until after Send returns without error.
3737//
3738// See ListSamples for more information on using the ListSamples
3739// API call, and error handling.
3740//
3741// This method is useful when you want to inject custom logic or configuration
3742// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3743//
3744//
3745//    // Example sending a request using the ListSamplesRequest method.
3746//    req, resp := client.ListSamplesRequest(params)
3747//
3748//    err := req.Send()
3749//    if err == nil { // resp is now filled
3750//        fmt.Println(resp)
3751//    }
3752//
3753// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSamples
3754func (c *DeviceFarm) ListSamplesRequest(input *ListSamplesInput) (req *request.Request, output *ListSamplesOutput) {
3755	op := &request.Operation{
3756		Name:       opListSamples,
3757		HTTPMethod: "POST",
3758		HTTPPath:   "/",
3759		Paginator: &request.Paginator{
3760			InputTokens:     []string{"nextToken"},
3761			OutputTokens:    []string{"nextToken"},
3762			LimitToken:      "",
3763			TruncationToken: "",
3764		},
3765	}
3766
3767	if input == nil {
3768		input = &ListSamplesInput{}
3769	}
3770
3771	output = &ListSamplesOutput{}
3772	req = c.newRequest(op, input, output)
3773	return
3774}
3775
3776// ListSamples API operation for AWS Device Farm.
3777//
3778// Gets information about samples, given an AWS Device Farm project ARN
3779//
3780// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3781// with awserr.Error's Code and Message methods to get detailed information about
3782// the error.
3783//
3784// See the AWS API reference guide for AWS Device Farm's
3785// API operation ListSamples for usage and error information.
3786//
3787// Returned Error Codes:
3788//   * ErrCodeArgumentException "ArgumentException"
3789//   An invalid argument was specified.
3790//
3791//   * ErrCodeNotFoundException "NotFoundException"
3792//   The specified entity was not found.
3793//
3794//   * ErrCodeLimitExceededException "LimitExceededException"
3795//   A limit was exceeded.
3796//
3797//   * ErrCodeServiceAccountException "ServiceAccountException"
3798//   There was a problem with the service account.
3799//
3800// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSamples
3801func (c *DeviceFarm) ListSamples(input *ListSamplesInput) (*ListSamplesOutput, error) {
3802	req, out := c.ListSamplesRequest(input)
3803	return out, req.Send()
3804}
3805
3806// ListSamplesWithContext is the same as ListSamples with the addition of
3807// the ability to pass a context and additional request options.
3808//
3809// See ListSamples for details on how to use this API operation.
3810//
3811// The context must be non-nil and will be used for request cancellation. If
3812// the context is nil a panic will occur. In the future the SDK may create
3813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3814// for more information on using Contexts.
3815func (c *DeviceFarm) ListSamplesWithContext(ctx aws.Context, input *ListSamplesInput, opts ...request.Option) (*ListSamplesOutput, error) {
3816	req, out := c.ListSamplesRequest(input)
3817	req.SetContext(ctx)
3818	req.ApplyOptions(opts...)
3819	return out, req.Send()
3820}
3821
3822// ListSamplesPages iterates over the pages of a ListSamples operation,
3823// calling the "fn" function with the response data for each page. To stop
3824// iterating, return false from the fn function.
3825//
3826// See ListSamples method for more information on how to use this operation.
3827//
3828// Note: This operation can generate multiple requests to a service.
3829//
3830//    // Example iterating over at most 3 pages of a ListSamples operation.
3831//    pageNum := 0
3832//    err := client.ListSamplesPages(params,
3833//        func(page *ListSamplesOutput, lastPage bool) bool {
3834//            pageNum++
3835//            fmt.Println(page)
3836//            return pageNum <= 3
3837//        })
3838//
3839func (c *DeviceFarm) ListSamplesPages(input *ListSamplesInput, fn func(*ListSamplesOutput, bool) bool) error {
3840	return c.ListSamplesPagesWithContext(aws.BackgroundContext(), input, fn)
3841}
3842
3843// ListSamplesPagesWithContext same as ListSamplesPages except
3844// it takes a Context and allows setting request options on the pages.
3845//
3846// The context must be non-nil and will be used for request cancellation. If
3847// the context is nil a panic will occur. In the future the SDK may create
3848// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3849// for more information on using Contexts.
3850func (c *DeviceFarm) ListSamplesPagesWithContext(ctx aws.Context, input *ListSamplesInput, fn func(*ListSamplesOutput, bool) bool, opts ...request.Option) error {
3851	p := request.Pagination{
3852		NewRequest: func() (*request.Request, error) {
3853			var inCpy *ListSamplesInput
3854			if input != nil {
3855				tmp := *input
3856				inCpy = &tmp
3857			}
3858			req, _ := c.ListSamplesRequest(inCpy)
3859			req.SetContext(ctx)
3860			req.ApplyOptions(opts...)
3861			return req, nil
3862		},
3863	}
3864
3865	cont := true
3866	for p.Next() && cont {
3867		cont = fn(p.Page().(*ListSamplesOutput), !p.HasNextPage())
3868	}
3869	return p.Err()
3870}
3871
3872const opListSuites = "ListSuites"
3873
3874// ListSuitesRequest generates a "aws/request.Request" representing the
3875// client's request for the ListSuites operation. The "output" return
3876// value will be populated with the request's response once the request complets
3877// successfuly.
3878//
3879// Use "Send" method on the returned Request to send the API call to the service.
3880// the "output" return value is not valid until after Send returns without error.
3881//
3882// See ListSuites for more information on using the ListSuites
3883// API call, and error handling.
3884//
3885// This method is useful when you want to inject custom logic or configuration
3886// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3887//
3888//
3889//    // Example sending a request using the ListSuitesRequest method.
3890//    req, resp := client.ListSuitesRequest(params)
3891//
3892//    err := req.Send()
3893//    if err == nil { // resp is now filled
3894//        fmt.Println(resp)
3895//    }
3896//
3897// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSuites
3898func (c *DeviceFarm) ListSuitesRequest(input *ListSuitesInput) (req *request.Request, output *ListSuitesOutput) {
3899	op := &request.Operation{
3900		Name:       opListSuites,
3901		HTTPMethod: "POST",
3902		HTTPPath:   "/",
3903		Paginator: &request.Paginator{
3904			InputTokens:     []string{"nextToken"},
3905			OutputTokens:    []string{"nextToken"},
3906			LimitToken:      "",
3907			TruncationToken: "",
3908		},
3909	}
3910
3911	if input == nil {
3912		input = &ListSuitesInput{}
3913	}
3914
3915	output = &ListSuitesOutput{}
3916	req = c.newRequest(op, input, output)
3917	return
3918}
3919
3920// ListSuites API operation for AWS Device Farm.
3921//
3922// Gets information about suites.
3923//
3924// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3925// with awserr.Error's Code and Message methods to get detailed information about
3926// the error.
3927//
3928// See the AWS API reference guide for AWS Device Farm's
3929// API operation ListSuites for usage and error information.
3930//
3931// Returned Error Codes:
3932//   * ErrCodeArgumentException "ArgumentException"
3933//   An invalid argument was specified.
3934//
3935//   * ErrCodeNotFoundException "NotFoundException"
3936//   The specified entity was not found.
3937//
3938//   * ErrCodeLimitExceededException "LimitExceededException"
3939//   A limit was exceeded.
3940//
3941//   * ErrCodeServiceAccountException "ServiceAccountException"
3942//   There was a problem with the service account.
3943//
3944// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSuites
3945func (c *DeviceFarm) ListSuites(input *ListSuitesInput) (*ListSuitesOutput, error) {
3946	req, out := c.ListSuitesRequest(input)
3947	return out, req.Send()
3948}
3949
3950// ListSuitesWithContext is the same as ListSuites with the addition of
3951// the ability to pass a context and additional request options.
3952//
3953// See ListSuites for details on how to use this API operation.
3954//
3955// The context must be non-nil and will be used for request cancellation. If
3956// the context is nil a panic will occur. In the future the SDK may create
3957// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3958// for more information on using Contexts.
3959func (c *DeviceFarm) ListSuitesWithContext(ctx aws.Context, input *ListSuitesInput, opts ...request.Option) (*ListSuitesOutput, error) {
3960	req, out := c.ListSuitesRequest(input)
3961	req.SetContext(ctx)
3962	req.ApplyOptions(opts...)
3963	return out, req.Send()
3964}
3965
3966// ListSuitesPages iterates over the pages of a ListSuites operation,
3967// calling the "fn" function with the response data for each page. To stop
3968// iterating, return false from the fn function.
3969//
3970// See ListSuites method for more information on how to use this operation.
3971//
3972// Note: This operation can generate multiple requests to a service.
3973//
3974//    // Example iterating over at most 3 pages of a ListSuites operation.
3975//    pageNum := 0
3976//    err := client.ListSuitesPages(params,
3977//        func(page *ListSuitesOutput, lastPage bool) bool {
3978//            pageNum++
3979//            fmt.Println(page)
3980//            return pageNum <= 3
3981//        })
3982//
3983func (c *DeviceFarm) ListSuitesPages(input *ListSuitesInput, fn func(*ListSuitesOutput, bool) bool) error {
3984	return c.ListSuitesPagesWithContext(aws.BackgroundContext(), input, fn)
3985}
3986
3987// ListSuitesPagesWithContext same as ListSuitesPages except
3988// it takes a Context and allows setting request options on the pages.
3989//
3990// The context must be non-nil and will be used for request cancellation. If
3991// the context is nil a panic will occur. In the future the SDK may create
3992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3993// for more information on using Contexts.
3994func (c *DeviceFarm) ListSuitesPagesWithContext(ctx aws.Context, input *ListSuitesInput, fn func(*ListSuitesOutput, bool) bool, opts ...request.Option) error {
3995	p := request.Pagination{
3996		NewRequest: func() (*request.Request, error) {
3997			var inCpy *ListSuitesInput
3998			if input != nil {
3999				tmp := *input
4000				inCpy = &tmp
4001			}
4002			req, _ := c.ListSuitesRequest(inCpy)
4003			req.SetContext(ctx)
4004			req.ApplyOptions(opts...)
4005			return req, nil
4006		},
4007	}
4008
4009	cont := true
4010	for p.Next() && cont {
4011		cont = fn(p.Page().(*ListSuitesOutput), !p.HasNextPage())
4012	}
4013	return p.Err()
4014}
4015
4016const opListTests = "ListTests"
4017
4018// ListTestsRequest generates a "aws/request.Request" representing the
4019// client's request for the ListTests operation. The "output" return
4020// value will be populated with the request's response once the request complets
4021// successfuly.
4022//
4023// Use "Send" method on the returned Request to send the API call to the service.
4024// the "output" return value is not valid until after Send returns without error.
4025//
4026// See ListTests for more information on using the ListTests
4027// API call, and error handling.
4028//
4029// This method is useful when you want to inject custom logic or configuration
4030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4031//
4032//
4033//    // Example sending a request using the ListTestsRequest method.
4034//    req, resp := client.ListTestsRequest(params)
4035//
4036//    err := req.Send()
4037//    if err == nil { // resp is now filled
4038//        fmt.Println(resp)
4039//    }
4040//
4041// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTests
4042func (c *DeviceFarm) ListTestsRequest(input *ListTestsInput) (req *request.Request, output *ListTestsOutput) {
4043	op := &request.Operation{
4044		Name:       opListTests,
4045		HTTPMethod: "POST",
4046		HTTPPath:   "/",
4047		Paginator: &request.Paginator{
4048			InputTokens:     []string{"nextToken"},
4049			OutputTokens:    []string{"nextToken"},
4050			LimitToken:      "",
4051			TruncationToken: "",
4052		},
4053	}
4054
4055	if input == nil {
4056		input = &ListTestsInput{}
4057	}
4058
4059	output = &ListTestsOutput{}
4060	req = c.newRequest(op, input, output)
4061	return
4062}
4063
4064// ListTests API operation for AWS Device Farm.
4065//
4066// Gets information about tests.
4067//
4068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4069// with awserr.Error's Code and Message methods to get detailed information about
4070// the error.
4071//
4072// See the AWS API reference guide for AWS Device Farm's
4073// API operation ListTests for usage and error information.
4074//
4075// Returned Error Codes:
4076//   * ErrCodeArgumentException "ArgumentException"
4077//   An invalid argument was specified.
4078//
4079//   * ErrCodeNotFoundException "NotFoundException"
4080//   The specified entity was not found.
4081//
4082//   * ErrCodeLimitExceededException "LimitExceededException"
4083//   A limit was exceeded.
4084//
4085//   * ErrCodeServiceAccountException "ServiceAccountException"
4086//   There was a problem with the service account.
4087//
4088// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTests
4089func (c *DeviceFarm) ListTests(input *ListTestsInput) (*ListTestsOutput, error) {
4090	req, out := c.ListTestsRequest(input)
4091	return out, req.Send()
4092}
4093
4094// ListTestsWithContext is the same as ListTests with the addition of
4095// the ability to pass a context and additional request options.
4096//
4097// See ListTests for details on how to use this API operation.
4098//
4099// The context must be non-nil and will be used for request cancellation. If
4100// the context is nil a panic will occur. In the future the SDK may create
4101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4102// for more information on using Contexts.
4103func (c *DeviceFarm) ListTestsWithContext(ctx aws.Context, input *ListTestsInput, opts ...request.Option) (*ListTestsOutput, error) {
4104	req, out := c.ListTestsRequest(input)
4105	req.SetContext(ctx)
4106	req.ApplyOptions(opts...)
4107	return out, req.Send()
4108}
4109
4110// ListTestsPages iterates over the pages of a ListTests operation,
4111// calling the "fn" function with the response data for each page. To stop
4112// iterating, return false from the fn function.
4113//
4114// See ListTests method for more information on how to use this operation.
4115//
4116// Note: This operation can generate multiple requests to a service.
4117//
4118//    // Example iterating over at most 3 pages of a ListTests operation.
4119//    pageNum := 0
4120//    err := client.ListTestsPages(params,
4121//        func(page *ListTestsOutput, lastPage bool) bool {
4122//            pageNum++
4123//            fmt.Println(page)
4124//            return pageNum <= 3
4125//        })
4126//
4127func (c *DeviceFarm) ListTestsPages(input *ListTestsInput, fn func(*ListTestsOutput, bool) bool) error {
4128	return c.ListTestsPagesWithContext(aws.BackgroundContext(), input, fn)
4129}
4130
4131// ListTestsPagesWithContext same as ListTestsPages except
4132// it takes a Context and allows setting request options on the pages.
4133//
4134// The context must be non-nil and will be used for request cancellation. If
4135// the context is nil a panic will occur. In the future the SDK may create
4136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4137// for more information on using Contexts.
4138func (c *DeviceFarm) ListTestsPagesWithContext(ctx aws.Context, input *ListTestsInput, fn func(*ListTestsOutput, bool) bool, opts ...request.Option) error {
4139	p := request.Pagination{
4140		NewRequest: func() (*request.Request, error) {
4141			var inCpy *ListTestsInput
4142			if input != nil {
4143				tmp := *input
4144				inCpy = &tmp
4145			}
4146			req, _ := c.ListTestsRequest(inCpy)
4147			req.SetContext(ctx)
4148			req.ApplyOptions(opts...)
4149			return req, nil
4150		},
4151	}
4152
4153	cont := true
4154	for p.Next() && cont {
4155		cont = fn(p.Page().(*ListTestsOutput), !p.HasNextPage())
4156	}
4157	return p.Err()
4158}
4159
4160const opListUniqueProblems = "ListUniqueProblems"
4161
4162// ListUniqueProblemsRequest generates a "aws/request.Request" representing the
4163// client's request for the ListUniqueProblems operation. The "output" return
4164// value will be populated with the request's response once the request complets
4165// successfuly.
4166//
4167// Use "Send" method on the returned Request to send the API call to the service.
4168// the "output" return value is not valid until after Send returns without error.
4169//
4170// See ListUniqueProblems for more information on using the ListUniqueProblems
4171// API call, and error handling.
4172//
4173// This method is useful when you want to inject custom logic or configuration
4174// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4175//
4176//
4177//    // Example sending a request using the ListUniqueProblemsRequest method.
4178//    req, resp := client.ListUniqueProblemsRequest(params)
4179//
4180//    err := req.Send()
4181//    if err == nil { // resp is now filled
4182//        fmt.Println(resp)
4183//    }
4184//
4185// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUniqueProblems
4186func (c *DeviceFarm) ListUniqueProblemsRequest(input *ListUniqueProblemsInput) (req *request.Request, output *ListUniqueProblemsOutput) {
4187	op := &request.Operation{
4188		Name:       opListUniqueProblems,
4189		HTTPMethod: "POST",
4190		HTTPPath:   "/",
4191		Paginator: &request.Paginator{
4192			InputTokens:     []string{"nextToken"},
4193			OutputTokens:    []string{"nextToken"},
4194			LimitToken:      "",
4195			TruncationToken: "",
4196		},
4197	}
4198
4199	if input == nil {
4200		input = &ListUniqueProblemsInput{}
4201	}
4202
4203	output = &ListUniqueProblemsOutput{}
4204	req = c.newRequest(op, input, output)
4205	return
4206}
4207
4208// ListUniqueProblems API operation for AWS Device Farm.
4209//
4210// Gets information about unique problems.
4211//
4212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4213// with awserr.Error's Code and Message methods to get detailed information about
4214// the error.
4215//
4216// See the AWS API reference guide for AWS Device Farm's
4217// API operation ListUniqueProblems for usage and error information.
4218//
4219// Returned Error Codes:
4220//   * ErrCodeArgumentException "ArgumentException"
4221//   An invalid argument was specified.
4222//
4223//   * ErrCodeNotFoundException "NotFoundException"
4224//   The specified entity was not found.
4225//
4226//   * ErrCodeLimitExceededException "LimitExceededException"
4227//   A limit was exceeded.
4228//
4229//   * ErrCodeServiceAccountException "ServiceAccountException"
4230//   There was a problem with the service account.
4231//
4232// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUniqueProblems
4233func (c *DeviceFarm) ListUniqueProblems(input *ListUniqueProblemsInput) (*ListUniqueProblemsOutput, error) {
4234	req, out := c.ListUniqueProblemsRequest(input)
4235	return out, req.Send()
4236}
4237
4238// ListUniqueProblemsWithContext is the same as ListUniqueProblems with the addition of
4239// the ability to pass a context and additional request options.
4240//
4241// See ListUniqueProblems for details on how to use this API operation.
4242//
4243// The context must be non-nil and will be used for request cancellation. If
4244// the context is nil a panic will occur. In the future the SDK may create
4245// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4246// for more information on using Contexts.
4247func (c *DeviceFarm) ListUniqueProblemsWithContext(ctx aws.Context, input *ListUniqueProblemsInput, opts ...request.Option) (*ListUniqueProblemsOutput, error) {
4248	req, out := c.ListUniqueProblemsRequest(input)
4249	req.SetContext(ctx)
4250	req.ApplyOptions(opts...)
4251	return out, req.Send()
4252}
4253
4254// ListUniqueProblemsPages iterates over the pages of a ListUniqueProblems operation,
4255// calling the "fn" function with the response data for each page. To stop
4256// iterating, return false from the fn function.
4257//
4258// See ListUniqueProblems method for more information on how to use this operation.
4259//
4260// Note: This operation can generate multiple requests to a service.
4261//
4262//    // Example iterating over at most 3 pages of a ListUniqueProblems operation.
4263//    pageNum := 0
4264//    err := client.ListUniqueProblemsPages(params,
4265//        func(page *ListUniqueProblemsOutput, lastPage bool) bool {
4266//            pageNum++
4267//            fmt.Println(page)
4268//            return pageNum <= 3
4269//        })
4270//
4271func (c *DeviceFarm) ListUniqueProblemsPages(input *ListUniqueProblemsInput, fn func(*ListUniqueProblemsOutput, bool) bool) error {
4272	return c.ListUniqueProblemsPagesWithContext(aws.BackgroundContext(), input, fn)
4273}
4274
4275// ListUniqueProblemsPagesWithContext same as ListUniqueProblemsPages except
4276// it takes a Context and allows setting request options on the pages.
4277//
4278// The context must be non-nil and will be used for request cancellation. If
4279// the context is nil a panic will occur. In the future the SDK may create
4280// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4281// for more information on using Contexts.
4282func (c *DeviceFarm) ListUniqueProblemsPagesWithContext(ctx aws.Context, input *ListUniqueProblemsInput, fn func(*ListUniqueProblemsOutput, bool) bool, opts ...request.Option) error {
4283	p := request.Pagination{
4284		NewRequest: func() (*request.Request, error) {
4285			var inCpy *ListUniqueProblemsInput
4286			if input != nil {
4287				tmp := *input
4288				inCpy = &tmp
4289			}
4290			req, _ := c.ListUniqueProblemsRequest(inCpy)
4291			req.SetContext(ctx)
4292			req.ApplyOptions(opts...)
4293			return req, nil
4294		},
4295	}
4296
4297	cont := true
4298	for p.Next() && cont {
4299		cont = fn(p.Page().(*ListUniqueProblemsOutput), !p.HasNextPage())
4300	}
4301	return p.Err()
4302}
4303
4304const opListUploads = "ListUploads"
4305
4306// ListUploadsRequest generates a "aws/request.Request" representing the
4307// client's request for the ListUploads operation. The "output" return
4308// value will be populated with the request's response once the request complets
4309// successfuly.
4310//
4311// Use "Send" method on the returned Request to send the API call to the service.
4312// the "output" return value is not valid until after Send returns without error.
4313//
4314// See ListUploads for more information on using the ListUploads
4315// API call, and error handling.
4316//
4317// This method is useful when you want to inject custom logic or configuration
4318// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4319//
4320//
4321//    // Example sending a request using the ListUploadsRequest method.
4322//    req, resp := client.ListUploadsRequest(params)
4323//
4324//    err := req.Send()
4325//    if err == nil { // resp is now filled
4326//        fmt.Println(resp)
4327//    }
4328//
4329// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUploads
4330func (c *DeviceFarm) ListUploadsRequest(input *ListUploadsInput) (req *request.Request, output *ListUploadsOutput) {
4331	op := &request.Operation{
4332		Name:       opListUploads,
4333		HTTPMethod: "POST",
4334		HTTPPath:   "/",
4335		Paginator: &request.Paginator{
4336			InputTokens:     []string{"nextToken"},
4337			OutputTokens:    []string{"nextToken"},
4338			LimitToken:      "",
4339			TruncationToken: "",
4340		},
4341	}
4342
4343	if input == nil {
4344		input = &ListUploadsInput{}
4345	}
4346
4347	output = &ListUploadsOutput{}
4348	req = c.newRequest(op, input, output)
4349	return
4350}
4351
4352// ListUploads API operation for AWS Device Farm.
4353//
4354// Gets information about uploads, given an AWS Device Farm project ARN.
4355//
4356// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4357// with awserr.Error's Code and Message methods to get detailed information about
4358// the error.
4359//
4360// See the AWS API reference guide for AWS Device Farm's
4361// API operation ListUploads for usage and error information.
4362//
4363// Returned Error Codes:
4364//   * ErrCodeArgumentException "ArgumentException"
4365//   An invalid argument was specified.
4366//
4367//   * ErrCodeNotFoundException "NotFoundException"
4368//   The specified entity was not found.
4369//
4370//   * ErrCodeLimitExceededException "LimitExceededException"
4371//   A limit was exceeded.
4372//
4373//   * ErrCodeServiceAccountException "ServiceAccountException"
4374//   There was a problem with the service account.
4375//
4376// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUploads
4377func (c *DeviceFarm) ListUploads(input *ListUploadsInput) (*ListUploadsOutput, error) {
4378	req, out := c.ListUploadsRequest(input)
4379	return out, req.Send()
4380}
4381
4382// ListUploadsWithContext is the same as ListUploads with the addition of
4383// the ability to pass a context and additional request options.
4384//
4385// See ListUploads for details on how to use this API operation.
4386//
4387// The context must be non-nil and will be used for request cancellation. If
4388// the context is nil a panic will occur. In the future the SDK may create
4389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4390// for more information on using Contexts.
4391func (c *DeviceFarm) ListUploadsWithContext(ctx aws.Context, input *ListUploadsInput, opts ...request.Option) (*ListUploadsOutput, error) {
4392	req, out := c.ListUploadsRequest(input)
4393	req.SetContext(ctx)
4394	req.ApplyOptions(opts...)
4395	return out, req.Send()
4396}
4397
4398// ListUploadsPages iterates over the pages of a ListUploads operation,
4399// calling the "fn" function with the response data for each page. To stop
4400// iterating, return false from the fn function.
4401//
4402// See ListUploads method for more information on how to use this operation.
4403//
4404// Note: This operation can generate multiple requests to a service.
4405//
4406//    // Example iterating over at most 3 pages of a ListUploads operation.
4407//    pageNum := 0
4408//    err := client.ListUploadsPages(params,
4409//        func(page *ListUploadsOutput, lastPage bool) bool {
4410//            pageNum++
4411//            fmt.Println(page)
4412//            return pageNum <= 3
4413//        })
4414//
4415func (c *DeviceFarm) ListUploadsPages(input *ListUploadsInput, fn func(*ListUploadsOutput, bool) bool) error {
4416	return c.ListUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
4417}
4418
4419// ListUploadsPagesWithContext same as ListUploadsPages except
4420// it takes a Context and allows setting request options on the pages.
4421//
4422// The context must be non-nil and will be used for request cancellation. If
4423// the context is nil a panic will occur. In the future the SDK may create
4424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4425// for more information on using Contexts.
4426func (c *DeviceFarm) ListUploadsPagesWithContext(ctx aws.Context, input *ListUploadsInput, fn func(*ListUploadsOutput, bool) bool, opts ...request.Option) error {
4427	p := request.Pagination{
4428		NewRequest: func() (*request.Request, error) {
4429			var inCpy *ListUploadsInput
4430			if input != nil {
4431				tmp := *input
4432				inCpy = &tmp
4433			}
4434			req, _ := c.ListUploadsRequest(inCpy)
4435			req.SetContext(ctx)
4436			req.ApplyOptions(opts...)
4437			return req, nil
4438		},
4439	}
4440
4441	cont := true
4442	for p.Next() && cont {
4443		cont = fn(p.Page().(*ListUploadsOutput), !p.HasNextPage())
4444	}
4445	return p.Err()
4446}
4447
4448const opPurchaseOffering = "PurchaseOffering"
4449
4450// PurchaseOfferingRequest generates a "aws/request.Request" representing the
4451// client's request for the PurchaseOffering operation. The "output" return
4452// value will be populated with the request's response once the request complets
4453// successfuly.
4454//
4455// Use "Send" method on the returned Request to send the API call to the service.
4456// the "output" return value is not valid until after Send returns without error.
4457//
4458// See PurchaseOffering for more information on using the PurchaseOffering
4459// API call, and error handling.
4460//
4461// This method is useful when you want to inject custom logic or configuration
4462// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4463//
4464//
4465//    // Example sending a request using the PurchaseOfferingRequest method.
4466//    req, resp := client.PurchaseOfferingRequest(params)
4467//
4468//    err := req.Send()
4469//    if err == nil { // resp is now filled
4470//        fmt.Println(resp)
4471//    }
4472//
4473// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/PurchaseOffering
4474func (c *DeviceFarm) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) {
4475	op := &request.Operation{
4476		Name:       opPurchaseOffering,
4477		HTTPMethod: "POST",
4478		HTTPPath:   "/",
4479	}
4480
4481	if input == nil {
4482		input = &PurchaseOfferingInput{}
4483	}
4484
4485	output = &PurchaseOfferingOutput{}
4486	req = c.newRequest(op, input, output)
4487	return
4488}
4489
4490// PurchaseOffering API operation for AWS Device Farm.
4491//
4492// Immediately purchases offerings for an AWS account. Offerings renew with
4493// the latest total purchased quantity for an offering, unless the renewal was
4494// overridden. The API returns a NotEligible error if the user is not permitted
4495// to invoke the operation. Please contact aws-devicefarm-support@amazon.com
4496// (mailto:aws-devicefarm-support@amazon.com) if you believe that you should
4497// be able to invoke this operation.
4498//
4499// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4500// with awserr.Error's Code and Message methods to get detailed information about
4501// the error.
4502//
4503// See the AWS API reference guide for AWS Device Farm's
4504// API operation PurchaseOffering for usage and error information.
4505//
4506// Returned Error Codes:
4507//   * ErrCodeArgumentException "ArgumentException"
4508//   An invalid argument was specified.
4509//
4510//   * ErrCodeNotFoundException "NotFoundException"
4511//   The specified entity was not found.
4512//
4513//   * ErrCodeNotEligibleException "NotEligibleException"
4514//   Exception gets thrown when a user is not eligible to perform the specified
4515//   transaction.
4516//
4517//   * ErrCodeLimitExceededException "LimitExceededException"
4518//   A limit was exceeded.
4519//
4520//   * ErrCodeServiceAccountException "ServiceAccountException"
4521//   There was a problem with the service account.
4522//
4523// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/PurchaseOffering
4524func (c *DeviceFarm) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) {
4525	req, out := c.PurchaseOfferingRequest(input)
4526	return out, req.Send()
4527}
4528
4529// PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of
4530// the ability to pass a context and additional request options.
4531//
4532// See PurchaseOffering for details on how to use this API operation.
4533//
4534// The context must be non-nil and will be used for request cancellation. If
4535// the context is nil a panic will occur. In the future the SDK may create
4536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4537// for more information on using Contexts.
4538func (c *DeviceFarm) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) {
4539	req, out := c.PurchaseOfferingRequest(input)
4540	req.SetContext(ctx)
4541	req.ApplyOptions(opts...)
4542	return out, req.Send()
4543}
4544
4545const opRenewOffering = "RenewOffering"
4546
4547// RenewOfferingRequest generates a "aws/request.Request" representing the
4548// client's request for the RenewOffering operation. The "output" return
4549// value will be populated with the request's response once the request complets
4550// successfuly.
4551//
4552// Use "Send" method on the returned Request to send the API call to the service.
4553// the "output" return value is not valid until after Send returns without error.
4554//
4555// See RenewOffering for more information on using the RenewOffering
4556// API call, and error handling.
4557//
4558// This method is useful when you want to inject custom logic or configuration
4559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4560//
4561//
4562//    // Example sending a request using the RenewOfferingRequest method.
4563//    req, resp := client.RenewOfferingRequest(params)
4564//
4565//    err := req.Send()
4566//    if err == nil { // resp is now filled
4567//        fmt.Println(resp)
4568//    }
4569//
4570// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RenewOffering
4571func (c *DeviceFarm) RenewOfferingRequest(input *RenewOfferingInput) (req *request.Request, output *RenewOfferingOutput) {
4572	op := &request.Operation{
4573		Name:       opRenewOffering,
4574		HTTPMethod: "POST",
4575		HTTPPath:   "/",
4576	}
4577
4578	if input == nil {
4579		input = &RenewOfferingInput{}
4580	}
4581
4582	output = &RenewOfferingOutput{}
4583	req = c.newRequest(op, input, output)
4584	return
4585}
4586
4587// RenewOffering API operation for AWS Device Farm.
4588//
4589// Explicitly sets the quantity of devices to renew for an offering, starting
4590// from the effectiveDate of the next period. The API returns a NotEligible
4591// error if the user is not permitted to invoke the operation. Please contact
4592// aws-devicefarm-support@amazon.com (mailto:aws-devicefarm-support@amazon.com)
4593// if you believe that you should be able to invoke this operation.
4594//
4595// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4596// with awserr.Error's Code and Message methods to get detailed information about
4597// the error.
4598//
4599// See the AWS API reference guide for AWS Device Farm's
4600// API operation RenewOffering for usage and error information.
4601//
4602// Returned Error Codes:
4603//   * ErrCodeArgumentException "ArgumentException"
4604//   An invalid argument was specified.
4605//
4606//   * ErrCodeNotFoundException "NotFoundException"
4607//   The specified entity was not found.
4608//
4609//   * ErrCodeNotEligibleException "NotEligibleException"
4610//   Exception gets thrown when a user is not eligible to perform the specified
4611//   transaction.
4612//
4613//   * ErrCodeLimitExceededException "LimitExceededException"
4614//   A limit was exceeded.
4615//
4616//   * ErrCodeServiceAccountException "ServiceAccountException"
4617//   There was a problem with the service account.
4618//
4619// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RenewOffering
4620func (c *DeviceFarm) RenewOffering(input *RenewOfferingInput) (*RenewOfferingOutput, error) {
4621	req, out := c.RenewOfferingRequest(input)
4622	return out, req.Send()
4623}
4624
4625// RenewOfferingWithContext is the same as RenewOffering with the addition of
4626// the ability to pass a context and additional request options.
4627//
4628// See RenewOffering for details on how to use this API operation.
4629//
4630// The context must be non-nil and will be used for request cancellation. If
4631// the context is nil a panic will occur. In the future the SDK may create
4632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4633// for more information on using Contexts.
4634func (c *DeviceFarm) RenewOfferingWithContext(ctx aws.Context, input *RenewOfferingInput, opts ...request.Option) (*RenewOfferingOutput, error) {
4635	req, out := c.RenewOfferingRequest(input)
4636	req.SetContext(ctx)
4637	req.ApplyOptions(opts...)
4638	return out, req.Send()
4639}
4640
4641const opScheduleRun = "ScheduleRun"
4642
4643// ScheduleRunRequest generates a "aws/request.Request" representing the
4644// client's request for the ScheduleRun operation. The "output" return
4645// value will be populated with the request's response once the request complets
4646// successfuly.
4647//
4648// Use "Send" method on the returned Request to send the API call to the service.
4649// the "output" return value is not valid until after Send returns without error.
4650//
4651// See ScheduleRun for more information on using the ScheduleRun
4652// API call, and error handling.
4653//
4654// This method is useful when you want to inject custom logic or configuration
4655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4656//
4657//
4658//    // Example sending a request using the ScheduleRunRequest method.
4659//    req, resp := client.ScheduleRunRequest(params)
4660//
4661//    err := req.Send()
4662//    if err == nil { // resp is now filled
4663//        fmt.Println(resp)
4664//    }
4665//
4666// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRun
4667func (c *DeviceFarm) ScheduleRunRequest(input *ScheduleRunInput) (req *request.Request, output *ScheduleRunOutput) {
4668	op := &request.Operation{
4669		Name:       opScheduleRun,
4670		HTTPMethod: "POST",
4671		HTTPPath:   "/",
4672	}
4673
4674	if input == nil {
4675		input = &ScheduleRunInput{}
4676	}
4677
4678	output = &ScheduleRunOutput{}
4679	req = c.newRequest(op, input, output)
4680	return
4681}
4682
4683// ScheduleRun API operation for AWS Device Farm.
4684//
4685// Schedules a run.
4686//
4687// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4688// with awserr.Error's Code and Message methods to get detailed information about
4689// the error.
4690//
4691// See the AWS API reference guide for AWS Device Farm's
4692// API operation ScheduleRun for usage and error information.
4693//
4694// Returned Error Codes:
4695//   * ErrCodeArgumentException "ArgumentException"
4696//   An invalid argument was specified.
4697//
4698//   * ErrCodeNotFoundException "NotFoundException"
4699//   The specified entity was not found.
4700//
4701//   * ErrCodeLimitExceededException "LimitExceededException"
4702//   A limit was exceeded.
4703//
4704//   * ErrCodeIdempotencyException "IdempotencyException"
4705//   An entity with the same name already exists.
4706//
4707//   * ErrCodeServiceAccountException "ServiceAccountException"
4708//   There was a problem with the service account.
4709//
4710// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRun
4711func (c *DeviceFarm) ScheduleRun(input *ScheduleRunInput) (*ScheduleRunOutput, error) {
4712	req, out := c.ScheduleRunRequest(input)
4713	return out, req.Send()
4714}
4715
4716// ScheduleRunWithContext is the same as ScheduleRun with the addition of
4717// the ability to pass a context and additional request options.
4718//
4719// See ScheduleRun for details on how to use this API operation.
4720//
4721// The context must be non-nil and will be used for request cancellation. If
4722// the context is nil a panic will occur. In the future the SDK may create
4723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4724// for more information on using Contexts.
4725func (c *DeviceFarm) ScheduleRunWithContext(ctx aws.Context, input *ScheduleRunInput, opts ...request.Option) (*ScheduleRunOutput, error) {
4726	req, out := c.ScheduleRunRequest(input)
4727	req.SetContext(ctx)
4728	req.ApplyOptions(opts...)
4729	return out, req.Send()
4730}
4731
4732const opStopRemoteAccessSession = "StopRemoteAccessSession"
4733
4734// StopRemoteAccessSessionRequest generates a "aws/request.Request" representing the
4735// client's request for the StopRemoteAccessSession operation. The "output" return
4736// value will be populated with the request's response once the request complets
4737// successfuly.
4738//
4739// Use "Send" method on the returned Request to send the API call to the service.
4740// the "output" return value is not valid until after Send returns without error.
4741//
4742// See StopRemoteAccessSession for more information on using the StopRemoteAccessSession
4743// API call, and error handling.
4744//
4745// This method is useful when you want to inject custom logic or configuration
4746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4747//
4748//
4749//    // Example sending a request using the StopRemoteAccessSessionRequest method.
4750//    req, resp := client.StopRemoteAccessSessionRequest(params)
4751//
4752//    err := req.Send()
4753//    if err == nil { // resp is now filled
4754//        fmt.Println(resp)
4755//    }
4756//
4757// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRemoteAccessSession
4758func (c *DeviceFarm) StopRemoteAccessSessionRequest(input *StopRemoteAccessSessionInput) (req *request.Request, output *StopRemoteAccessSessionOutput) {
4759	op := &request.Operation{
4760		Name:       opStopRemoteAccessSession,
4761		HTTPMethod: "POST",
4762		HTTPPath:   "/",
4763	}
4764
4765	if input == nil {
4766		input = &StopRemoteAccessSessionInput{}
4767	}
4768
4769	output = &StopRemoteAccessSessionOutput{}
4770	req = c.newRequest(op, input, output)
4771	return
4772}
4773
4774// StopRemoteAccessSession API operation for AWS Device Farm.
4775//
4776// Ends a specified remote access session.
4777//
4778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4779// with awserr.Error's Code and Message methods to get detailed information about
4780// the error.
4781//
4782// See the AWS API reference guide for AWS Device Farm's
4783// API operation StopRemoteAccessSession for usage and error information.
4784//
4785// Returned Error Codes:
4786//   * ErrCodeArgumentException "ArgumentException"
4787//   An invalid argument was specified.
4788//
4789//   * ErrCodeNotFoundException "NotFoundException"
4790//   The specified entity was not found.
4791//
4792//   * ErrCodeLimitExceededException "LimitExceededException"
4793//   A limit was exceeded.
4794//
4795//   * ErrCodeServiceAccountException "ServiceAccountException"
4796//   There was a problem with the service account.
4797//
4798// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRemoteAccessSession
4799func (c *DeviceFarm) StopRemoteAccessSession(input *StopRemoteAccessSessionInput) (*StopRemoteAccessSessionOutput, error) {
4800	req, out := c.StopRemoteAccessSessionRequest(input)
4801	return out, req.Send()
4802}
4803
4804// StopRemoteAccessSessionWithContext is the same as StopRemoteAccessSession with the addition of
4805// the ability to pass a context and additional request options.
4806//
4807// See StopRemoteAccessSession for details on how to use this API operation.
4808//
4809// The context must be non-nil and will be used for request cancellation. If
4810// the context is nil a panic will occur. In the future the SDK may create
4811// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4812// for more information on using Contexts.
4813func (c *DeviceFarm) StopRemoteAccessSessionWithContext(ctx aws.Context, input *StopRemoteAccessSessionInput, opts ...request.Option) (*StopRemoteAccessSessionOutput, error) {
4814	req, out := c.StopRemoteAccessSessionRequest(input)
4815	req.SetContext(ctx)
4816	req.ApplyOptions(opts...)
4817	return out, req.Send()
4818}
4819
4820const opStopRun = "StopRun"
4821
4822// StopRunRequest generates a "aws/request.Request" representing the
4823// client's request for the StopRun operation. The "output" return
4824// value will be populated with the request's response once the request complets
4825// successfuly.
4826//
4827// Use "Send" method on the returned Request to send the API call to the service.
4828// the "output" return value is not valid until after Send returns without error.
4829//
4830// See StopRun for more information on using the StopRun
4831// API call, and error handling.
4832//
4833// This method is useful when you want to inject custom logic or configuration
4834// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4835//
4836//
4837//    // Example sending a request using the StopRunRequest method.
4838//    req, resp := client.StopRunRequest(params)
4839//
4840//    err := req.Send()
4841//    if err == nil { // resp is now filled
4842//        fmt.Println(resp)
4843//    }
4844//
4845// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRun
4846func (c *DeviceFarm) StopRunRequest(input *StopRunInput) (req *request.Request, output *StopRunOutput) {
4847	op := &request.Operation{
4848		Name:       opStopRun,
4849		HTTPMethod: "POST",
4850		HTTPPath:   "/",
4851	}
4852
4853	if input == nil {
4854		input = &StopRunInput{}
4855	}
4856
4857	output = &StopRunOutput{}
4858	req = c.newRequest(op, input, output)
4859	return
4860}
4861
4862// StopRun API operation for AWS Device Farm.
4863//
4864// Initiates a stop request for the current test run. AWS Device Farm will immediately
4865// stop the run on devices where tests have not started executing, and you will
4866// not be billed for these devices. On devices where tests have started executing,
4867// Setup Suite and Teardown Suite tests will run to completion before stopping
4868// execution on those devices. You will be billed for Setup, Teardown, and any
4869// tests that were in progress or already completed.
4870//
4871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4872// with awserr.Error's Code and Message methods to get detailed information about
4873// the error.
4874//
4875// See the AWS API reference guide for AWS Device Farm's
4876// API operation StopRun for usage and error information.
4877//
4878// Returned Error Codes:
4879//   * ErrCodeArgumentException "ArgumentException"
4880//   An invalid argument was specified.
4881//
4882//   * ErrCodeNotFoundException "NotFoundException"
4883//   The specified entity was not found.
4884//
4885//   * ErrCodeLimitExceededException "LimitExceededException"
4886//   A limit was exceeded.
4887//
4888//   * ErrCodeServiceAccountException "ServiceAccountException"
4889//   There was a problem with the service account.
4890//
4891// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRun
4892func (c *DeviceFarm) StopRun(input *StopRunInput) (*StopRunOutput, error) {
4893	req, out := c.StopRunRequest(input)
4894	return out, req.Send()
4895}
4896
4897// StopRunWithContext is the same as StopRun with the addition of
4898// the ability to pass a context and additional request options.
4899//
4900// See StopRun for details on how to use this API operation.
4901//
4902// The context must be non-nil and will be used for request cancellation. If
4903// the context is nil a panic will occur. In the future the SDK may create
4904// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4905// for more information on using Contexts.
4906func (c *DeviceFarm) StopRunWithContext(ctx aws.Context, input *StopRunInput, opts ...request.Option) (*StopRunOutput, error) {
4907	req, out := c.StopRunRequest(input)
4908	req.SetContext(ctx)
4909	req.ApplyOptions(opts...)
4910	return out, req.Send()
4911}
4912
4913const opUpdateDevicePool = "UpdateDevicePool"
4914
4915// UpdateDevicePoolRequest generates a "aws/request.Request" representing the
4916// client's request for the UpdateDevicePool operation. The "output" return
4917// value will be populated with the request's response once the request complets
4918// successfuly.
4919//
4920// Use "Send" method on the returned Request to send the API call to the service.
4921// the "output" return value is not valid until after Send returns without error.
4922//
4923// See UpdateDevicePool for more information on using the UpdateDevicePool
4924// API call, and error handling.
4925//
4926// This method is useful when you want to inject custom logic or configuration
4927// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4928//
4929//
4930//    // Example sending a request using the UpdateDevicePoolRequest method.
4931//    req, resp := client.UpdateDevicePoolRequest(params)
4932//
4933//    err := req.Send()
4934//    if err == nil { // resp is now filled
4935//        fmt.Println(resp)
4936//    }
4937//
4938// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDevicePool
4939func (c *DeviceFarm) UpdateDevicePoolRequest(input *UpdateDevicePoolInput) (req *request.Request, output *UpdateDevicePoolOutput) {
4940	op := &request.Operation{
4941		Name:       opUpdateDevicePool,
4942		HTTPMethod: "POST",
4943		HTTPPath:   "/",
4944	}
4945
4946	if input == nil {
4947		input = &UpdateDevicePoolInput{}
4948	}
4949
4950	output = &UpdateDevicePoolOutput{}
4951	req = c.newRequest(op, input, output)
4952	return
4953}
4954
4955// UpdateDevicePool API operation for AWS Device Farm.
4956//
4957// Modifies the name, description, and rules in a device pool given the attributes
4958// and the pool ARN. Rule updates are all-or-nothing, meaning they can only
4959// be updated as a whole (or not at all).
4960//
4961// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4962// with awserr.Error's Code and Message methods to get detailed information about
4963// the error.
4964//
4965// See the AWS API reference guide for AWS Device Farm's
4966// API operation UpdateDevicePool for usage and error information.
4967//
4968// Returned Error Codes:
4969//   * ErrCodeArgumentException "ArgumentException"
4970//   An invalid argument was specified.
4971//
4972//   * ErrCodeNotFoundException "NotFoundException"
4973//   The specified entity was not found.
4974//
4975//   * ErrCodeLimitExceededException "LimitExceededException"
4976//   A limit was exceeded.
4977//
4978//   * ErrCodeServiceAccountException "ServiceAccountException"
4979//   There was a problem with the service account.
4980//
4981// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDevicePool
4982func (c *DeviceFarm) UpdateDevicePool(input *UpdateDevicePoolInput) (*UpdateDevicePoolOutput, error) {
4983	req, out := c.UpdateDevicePoolRequest(input)
4984	return out, req.Send()
4985}
4986
4987// UpdateDevicePoolWithContext is the same as UpdateDevicePool with the addition of
4988// the ability to pass a context and additional request options.
4989//
4990// See UpdateDevicePool for details on how to use this API operation.
4991//
4992// The context must be non-nil and will be used for request cancellation. If
4993// the context is nil a panic will occur. In the future the SDK may create
4994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4995// for more information on using Contexts.
4996func (c *DeviceFarm) UpdateDevicePoolWithContext(ctx aws.Context, input *UpdateDevicePoolInput, opts ...request.Option) (*UpdateDevicePoolOutput, error) {
4997	req, out := c.UpdateDevicePoolRequest(input)
4998	req.SetContext(ctx)
4999	req.ApplyOptions(opts...)
5000	return out, req.Send()
5001}
5002
5003const opUpdateNetworkProfile = "UpdateNetworkProfile"
5004
5005// UpdateNetworkProfileRequest generates a "aws/request.Request" representing the
5006// client's request for the UpdateNetworkProfile operation. The "output" return
5007// value will be populated with the request's response once the request complets
5008// successfuly.
5009//
5010// Use "Send" method on the returned Request to send the API call to the service.
5011// the "output" return value is not valid until after Send returns without error.
5012//
5013// See UpdateNetworkProfile for more information on using the UpdateNetworkProfile
5014// API call, and error handling.
5015//
5016// This method is useful when you want to inject custom logic or configuration
5017// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5018//
5019//
5020//    // Example sending a request using the UpdateNetworkProfileRequest method.
5021//    req, resp := client.UpdateNetworkProfileRequest(params)
5022//
5023//    err := req.Send()
5024//    if err == nil { // resp is now filled
5025//        fmt.Println(resp)
5026//    }
5027//
5028// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateNetworkProfile
5029func (c *DeviceFarm) UpdateNetworkProfileRequest(input *UpdateNetworkProfileInput) (req *request.Request, output *UpdateNetworkProfileOutput) {
5030	op := &request.Operation{
5031		Name:       opUpdateNetworkProfile,
5032		HTTPMethod: "POST",
5033		HTTPPath:   "/",
5034	}
5035
5036	if input == nil {
5037		input = &UpdateNetworkProfileInput{}
5038	}
5039
5040	output = &UpdateNetworkProfileOutput{}
5041	req = c.newRequest(op, input, output)
5042	return
5043}
5044
5045// UpdateNetworkProfile API operation for AWS Device Farm.
5046//
5047// Updates the network profile with specific settings.
5048//
5049// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5050// with awserr.Error's Code and Message methods to get detailed information about
5051// the error.
5052//
5053// See the AWS API reference guide for AWS Device Farm's
5054// API operation UpdateNetworkProfile for usage and error information.
5055//
5056// Returned Error Codes:
5057//   * ErrCodeArgumentException "ArgumentException"
5058//   An invalid argument was specified.
5059//
5060//   * ErrCodeNotFoundException "NotFoundException"
5061//   The specified entity was not found.
5062//
5063//   * ErrCodeLimitExceededException "LimitExceededException"
5064//   A limit was exceeded.
5065//
5066//   * ErrCodeServiceAccountException "ServiceAccountException"
5067//   There was a problem with the service account.
5068//
5069// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateNetworkProfile
5070func (c *DeviceFarm) UpdateNetworkProfile(input *UpdateNetworkProfileInput) (*UpdateNetworkProfileOutput, error) {
5071	req, out := c.UpdateNetworkProfileRequest(input)
5072	return out, req.Send()
5073}
5074
5075// UpdateNetworkProfileWithContext is the same as UpdateNetworkProfile with the addition of
5076// the ability to pass a context and additional request options.
5077//
5078// See UpdateNetworkProfile for details on how to use this API operation.
5079//
5080// The context must be non-nil and will be used for request cancellation. If
5081// the context is nil a panic will occur. In the future the SDK may create
5082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5083// for more information on using Contexts.
5084func (c *DeviceFarm) UpdateNetworkProfileWithContext(ctx aws.Context, input *UpdateNetworkProfileInput, opts ...request.Option) (*UpdateNetworkProfileOutput, error) {
5085	req, out := c.UpdateNetworkProfileRequest(input)
5086	req.SetContext(ctx)
5087	req.ApplyOptions(opts...)
5088	return out, req.Send()
5089}
5090
5091const opUpdateProject = "UpdateProject"
5092
5093// UpdateProjectRequest generates a "aws/request.Request" representing the
5094// client's request for the UpdateProject operation. The "output" return
5095// value will be populated with the request's response once the request complets
5096// successfuly.
5097//
5098// Use "Send" method on the returned Request to send the API call to the service.
5099// the "output" return value is not valid until after Send returns without error.
5100//
5101// See UpdateProject for more information on using the UpdateProject
5102// API call, and error handling.
5103//
5104// This method is useful when you want to inject custom logic or configuration
5105// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5106//
5107//
5108//    // Example sending a request using the UpdateProjectRequest method.
5109//    req, resp := client.UpdateProjectRequest(params)
5110//
5111//    err := req.Send()
5112//    if err == nil { // resp is now filled
5113//        fmt.Println(resp)
5114//    }
5115//
5116// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateProject
5117func (c *DeviceFarm) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
5118	op := &request.Operation{
5119		Name:       opUpdateProject,
5120		HTTPMethod: "POST",
5121		HTTPPath:   "/",
5122	}
5123
5124	if input == nil {
5125		input = &UpdateProjectInput{}
5126	}
5127
5128	output = &UpdateProjectOutput{}
5129	req = c.newRequest(op, input, output)
5130	return
5131}
5132
5133// UpdateProject API operation for AWS Device Farm.
5134//
5135// Modifies the specified project name, given the project ARN and a new name.
5136//
5137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5138// with awserr.Error's Code and Message methods to get detailed information about
5139// the error.
5140//
5141// See the AWS API reference guide for AWS Device Farm's
5142// API operation UpdateProject for usage and error information.
5143//
5144// Returned Error Codes:
5145//   * ErrCodeArgumentException "ArgumentException"
5146//   An invalid argument was specified.
5147//
5148//   * ErrCodeNotFoundException "NotFoundException"
5149//   The specified entity was not found.
5150//
5151//   * ErrCodeLimitExceededException "LimitExceededException"
5152//   A limit was exceeded.
5153//
5154//   * ErrCodeServiceAccountException "ServiceAccountException"
5155//   There was a problem with the service account.
5156//
5157// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateProject
5158func (c *DeviceFarm) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
5159	req, out := c.UpdateProjectRequest(input)
5160	return out, req.Send()
5161}
5162
5163// UpdateProjectWithContext is the same as UpdateProject with the addition of
5164// the ability to pass a context and additional request options.
5165//
5166// See UpdateProject for details on how to use this API operation.
5167//
5168// The context must be non-nil and will be used for request cancellation. If
5169// the context is nil a panic will occur. In the future the SDK may create
5170// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5171// for more information on using Contexts.
5172func (c *DeviceFarm) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
5173	req, out := c.UpdateProjectRequest(input)
5174	req.SetContext(ctx)
5175	req.ApplyOptions(opts...)
5176	return out, req.Send()
5177}
5178
5179// A container for account-level settings within AWS Device Farm.
5180// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/AccountSettings
5181type AccountSettings struct {
5182	_ struct{} `type:"structure"`
5183
5184	// The AWS account number specified in the AccountSettings container.
5185	AwsAccountNumber *string `locationName:"awsAccountNumber" min:"2" type:"string"`
5186
5187	// The default number of minutes (at the account level) a test run will execute
5188	// before it times out. Default value is 60 minutes.
5189	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
5190
5191	// The maximum number of minutes a test run will execute before it times out.
5192	MaxJobTimeoutMinutes *int64 `locationName:"maxJobTimeoutMinutes" type:"integer"`
5193
5194	// The maximum number of device slots that the AWS account can purchase. Each
5195	// maximum is expressed as an offering-id:number pair, where the offering-id
5196	// represents one of the IDs returned by the ListOfferings command.
5197	MaxSlots map[string]*int64 `locationName:"maxSlots" type:"map"`
5198
5199	// Information about an AWS account's usage of free trial device minutes.
5200	TrialMinutes *TrialMinutes `locationName:"trialMinutes" type:"structure"`
5201
5202	// Returns the unmetered devices you have purchased or want to purchase.
5203	UnmeteredDevices map[string]*int64 `locationName:"unmeteredDevices" type:"map"`
5204
5205	// Returns the unmetered remote access devices you have purchased or want to
5206	// purchase.
5207	UnmeteredRemoteAccessDevices map[string]*int64 `locationName:"unmeteredRemoteAccessDevices" type:"map"`
5208}
5209
5210// String returns the string representation
5211func (s AccountSettings) String() string {
5212	return awsutil.Prettify(s)
5213}
5214
5215// GoString returns the string representation
5216func (s AccountSettings) GoString() string {
5217	return s.String()
5218}
5219
5220// SetAwsAccountNumber sets the AwsAccountNumber field's value.
5221func (s *AccountSettings) SetAwsAccountNumber(v string) *AccountSettings {
5222	s.AwsAccountNumber = &v
5223	return s
5224}
5225
5226// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
5227func (s *AccountSettings) SetDefaultJobTimeoutMinutes(v int64) *AccountSettings {
5228	s.DefaultJobTimeoutMinutes = &v
5229	return s
5230}
5231
5232// SetMaxJobTimeoutMinutes sets the MaxJobTimeoutMinutes field's value.
5233func (s *AccountSettings) SetMaxJobTimeoutMinutes(v int64) *AccountSettings {
5234	s.MaxJobTimeoutMinutes = &v
5235	return s
5236}
5237
5238// SetMaxSlots sets the MaxSlots field's value.
5239func (s *AccountSettings) SetMaxSlots(v map[string]*int64) *AccountSettings {
5240	s.MaxSlots = v
5241	return s
5242}
5243
5244// SetTrialMinutes sets the TrialMinutes field's value.
5245func (s *AccountSettings) SetTrialMinutes(v *TrialMinutes) *AccountSettings {
5246	s.TrialMinutes = v
5247	return s
5248}
5249
5250// SetUnmeteredDevices sets the UnmeteredDevices field's value.
5251func (s *AccountSettings) SetUnmeteredDevices(v map[string]*int64) *AccountSettings {
5252	s.UnmeteredDevices = v
5253	return s
5254}
5255
5256// SetUnmeteredRemoteAccessDevices sets the UnmeteredRemoteAccessDevices field's value.
5257func (s *AccountSettings) SetUnmeteredRemoteAccessDevices(v map[string]*int64) *AccountSettings {
5258	s.UnmeteredRemoteAccessDevices = v
5259	return s
5260}
5261
5262// Represents the output of a test. Examples of artifacts include logs and screenshots.
5263// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Artifact
5264type Artifact struct {
5265	_ struct{} `type:"structure"`
5266
5267	// The artifact's ARN.
5268	Arn *string `locationName:"arn" min:"32" type:"string"`
5269
5270	// The artifact's file extension.
5271	Extension *string `locationName:"extension" type:"string"`
5272
5273	// The artifact's name.
5274	Name *string `locationName:"name" type:"string"`
5275
5276	// The artifact's type.
5277	//
5278	// Allowed values include the following:
5279	//
5280	//    * UNKNOWN: An unknown type.
5281	//
5282	//    * SCREENSHOT: The screenshot type.
5283	//
5284	//    * DEVICE_LOG: The device log type.
5285	//
5286	//    * MESSAGE_LOG: The message log type.
5287	//
5288	//    * RESULT_LOG: The result log type.
5289	//
5290	//    * SERVICE_LOG: The service log type.
5291	//
5292	//    * WEBKIT_LOG: The web kit log type.
5293	//
5294	//    * INSTRUMENTATION_OUTPUT: The instrumentation type.
5295	//
5296	//    * EXERCISER_MONKEY_OUTPUT: For Android, the artifact (log) generated by
5297	//    an Android fuzz test.
5298	//
5299	//    * CALABASH_JSON_OUTPUT: The Calabash JSON output type.
5300	//
5301	//    * CALABASH_PRETTY_OUTPUT: The Calabash pretty output type.
5302	//
5303	//    * CALABASH_STANDARD_OUTPUT: The Calabash standard output type.
5304	//
5305	//    * CALABASH_JAVA_XML_OUTPUT: The Calabash Java XML output type.
5306	//
5307	//    * AUTOMATION_OUTPUT: The automation output type.
5308	//
5309	//    * APPIUM_SERVER_OUTPUT: The Appium server output type.
5310	//
5311	//    * APPIUM_JAVA_OUTPUT: The Appium Java output type.
5312	//
5313	//    * APPIUM_JAVA_XML_OUTPUT: The Appium Java XML output type.
5314	//
5315	//    * APPIUM_PYTHON_OUTPUT: The Appium Python output type.
5316	//
5317	//    * APPIUM_PYTHON_XML_OUTPUT: The Appium Python XML output type.
5318	//
5319	//    * EXPLORER_EVENT_LOG: The Explorer event log output type.
5320	//
5321	//    * EXPLORER_SUMMARY_LOG: The Explorer summary log output type.
5322	//
5323	//    * APPLICATION_CRASH_REPORT: The application crash report output type.
5324	//
5325	//    * XCTEST_LOG: The XCode test output type.
5326	Type *string `locationName:"type" type:"string" enum:"ArtifactType"`
5327
5328	// The pre-signed Amazon S3 URL that can be used with a corresponding GET request
5329	// to download the artifact's file.
5330	Url *string `locationName:"url" type:"string"`
5331}
5332
5333// String returns the string representation
5334func (s Artifact) String() string {
5335	return awsutil.Prettify(s)
5336}
5337
5338// GoString returns the string representation
5339func (s Artifact) GoString() string {
5340	return s.String()
5341}
5342
5343// SetArn sets the Arn field's value.
5344func (s *Artifact) SetArn(v string) *Artifact {
5345	s.Arn = &v
5346	return s
5347}
5348
5349// SetExtension sets the Extension field's value.
5350func (s *Artifact) SetExtension(v string) *Artifact {
5351	s.Extension = &v
5352	return s
5353}
5354
5355// SetName sets the Name field's value.
5356func (s *Artifact) SetName(v string) *Artifact {
5357	s.Name = &v
5358	return s
5359}
5360
5361// SetType sets the Type field's value.
5362func (s *Artifact) SetType(v string) *Artifact {
5363	s.Type = &v
5364	return s
5365}
5366
5367// SetUrl sets the Url field's value.
5368func (s *Artifact) SetUrl(v string) *Artifact {
5369	s.Url = &v
5370	return s
5371}
5372
5373// Represents the amount of CPU that an app is using on a physical device.
5374//
5375// Note that this does not represent system-wide CPU usage.
5376// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CPU
5377type CPU struct {
5378	_ struct{} `type:"structure"`
5379
5380	// The CPU's architecture, for example x86 or ARM.
5381	Architecture *string `locationName:"architecture" type:"string"`
5382
5383	// The clock speed of the device's CPU, expressed in hertz (Hz). For example,
5384	// a 1.2 GHz CPU is expressed as 1200000000.
5385	Clock *float64 `locationName:"clock" type:"double"`
5386
5387	// The CPU's frequency.
5388	Frequency *string `locationName:"frequency" type:"string"`
5389}
5390
5391// String returns the string representation
5392func (s CPU) String() string {
5393	return awsutil.Prettify(s)
5394}
5395
5396// GoString returns the string representation
5397func (s CPU) GoString() string {
5398	return s.String()
5399}
5400
5401// SetArchitecture sets the Architecture field's value.
5402func (s *CPU) SetArchitecture(v string) *CPU {
5403	s.Architecture = &v
5404	return s
5405}
5406
5407// SetClock sets the Clock field's value.
5408func (s *CPU) SetClock(v float64) *CPU {
5409	s.Clock = &v
5410	return s
5411}
5412
5413// SetFrequency sets the Frequency field's value.
5414func (s *CPU) SetFrequency(v string) *CPU {
5415	s.Frequency = &v
5416	return s
5417}
5418
5419// Represents entity counters.
5420// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Counters
5421type Counters struct {
5422	_ struct{} `type:"structure"`
5423
5424	// The number of errored entities.
5425	Errored *int64 `locationName:"errored" type:"integer"`
5426
5427	// The number of failed entities.
5428	Failed *int64 `locationName:"failed" type:"integer"`
5429
5430	// The number of passed entities.
5431	Passed *int64 `locationName:"passed" type:"integer"`
5432
5433	// The number of skipped entities.
5434	Skipped *int64 `locationName:"skipped" type:"integer"`
5435
5436	// The number of stopped entities.
5437	Stopped *int64 `locationName:"stopped" type:"integer"`
5438
5439	// The total number of entities.
5440	Total *int64 `locationName:"total" type:"integer"`
5441
5442	// The number of warned entities.
5443	Warned *int64 `locationName:"warned" type:"integer"`
5444}
5445
5446// String returns the string representation
5447func (s Counters) String() string {
5448	return awsutil.Prettify(s)
5449}
5450
5451// GoString returns the string representation
5452func (s Counters) GoString() string {
5453	return s.String()
5454}
5455
5456// SetErrored sets the Errored field's value.
5457func (s *Counters) SetErrored(v int64) *Counters {
5458	s.Errored = &v
5459	return s
5460}
5461
5462// SetFailed sets the Failed field's value.
5463func (s *Counters) SetFailed(v int64) *Counters {
5464	s.Failed = &v
5465	return s
5466}
5467
5468// SetPassed sets the Passed field's value.
5469func (s *Counters) SetPassed(v int64) *Counters {
5470	s.Passed = &v
5471	return s
5472}
5473
5474// SetSkipped sets the Skipped field's value.
5475func (s *Counters) SetSkipped(v int64) *Counters {
5476	s.Skipped = &v
5477	return s
5478}
5479
5480// SetStopped sets the Stopped field's value.
5481func (s *Counters) SetStopped(v int64) *Counters {
5482	s.Stopped = &v
5483	return s
5484}
5485
5486// SetTotal sets the Total field's value.
5487func (s *Counters) SetTotal(v int64) *Counters {
5488	s.Total = &v
5489	return s
5490}
5491
5492// SetWarned sets the Warned field's value.
5493func (s *Counters) SetWarned(v int64) *Counters {
5494	s.Warned = &v
5495	return s
5496}
5497
5498// Represents a request to the create device pool operation.
5499// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateDevicePoolRequest
5500type CreateDevicePoolInput struct {
5501	_ struct{} `type:"structure"`
5502
5503	// The device pool's description.
5504	Description *string `locationName:"description" type:"string"`
5505
5506	// The device pool's name.
5507	//
5508	// Name is a required field
5509	Name *string `locationName:"name" type:"string" required:"true"`
5510
5511	// The ARN of the project for the device pool.
5512	//
5513	// ProjectArn is a required field
5514	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
5515
5516	// The device pool's rules.
5517	//
5518	// Rules is a required field
5519	Rules []*Rule `locationName:"rules" type:"list" required:"true"`
5520}
5521
5522// String returns the string representation
5523func (s CreateDevicePoolInput) String() string {
5524	return awsutil.Prettify(s)
5525}
5526
5527// GoString returns the string representation
5528func (s CreateDevicePoolInput) GoString() string {
5529	return s.String()
5530}
5531
5532// Validate inspects the fields of the type to determine if they are valid.
5533func (s *CreateDevicePoolInput) Validate() error {
5534	invalidParams := request.ErrInvalidParams{Context: "CreateDevicePoolInput"}
5535	if s.Name == nil {
5536		invalidParams.Add(request.NewErrParamRequired("Name"))
5537	}
5538	if s.ProjectArn == nil {
5539		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
5540	}
5541	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
5542		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
5543	}
5544	if s.Rules == nil {
5545		invalidParams.Add(request.NewErrParamRequired("Rules"))
5546	}
5547
5548	if invalidParams.Len() > 0 {
5549		return invalidParams
5550	}
5551	return nil
5552}
5553
5554// SetDescription sets the Description field's value.
5555func (s *CreateDevicePoolInput) SetDescription(v string) *CreateDevicePoolInput {
5556	s.Description = &v
5557	return s
5558}
5559
5560// SetName sets the Name field's value.
5561func (s *CreateDevicePoolInput) SetName(v string) *CreateDevicePoolInput {
5562	s.Name = &v
5563	return s
5564}
5565
5566// SetProjectArn sets the ProjectArn field's value.
5567func (s *CreateDevicePoolInput) SetProjectArn(v string) *CreateDevicePoolInput {
5568	s.ProjectArn = &v
5569	return s
5570}
5571
5572// SetRules sets the Rules field's value.
5573func (s *CreateDevicePoolInput) SetRules(v []*Rule) *CreateDevicePoolInput {
5574	s.Rules = v
5575	return s
5576}
5577
5578// Represents the result of a create device pool request.
5579// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateDevicePoolResult
5580type CreateDevicePoolOutput struct {
5581	_ struct{} `type:"structure"`
5582
5583	// The newly created device pool.
5584	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
5585}
5586
5587// String returns the string representation
5588func (s CreateDevicePoolOutput) String() string {
5589	return awsutil.Prettify(s)
5590}
5591
5592// GoString returns the string representation
5593func (s CreateDevicePoolOutput) GoString() string {
5594	return s.String()
5595}
5596
5597// SetDevicePool sets the DevicePool field's value.
5598func (s *CreateDevicePoolOutput) SetDevicePool(v *DevicePool) *CreateDevicePoolOutput {
5599	s.DevicePool = v
5600	return s
5601}
5602
5603// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateNetworkProfileRequest
5604type CreateNetworkProfileInput struct {
5605	_ struct{} `type:"structure"`
5606
5607	// The description of the network profile.
5608	Description *string `locationName:"description" type:"string"`
5609
5610	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
5611	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
5612
5613	// Delay time for all packets to destination in milliseconds as an integer from
5614	// 0 to 2000.
5615	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
5616
5617	// Time variation in the delay of received packets in milliseconds as an integer
5618	// from 0 to 2000.
5619	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
5620
5621	// Proportion of received packets that fail to arrive from 0 to 100 percent.
5622	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
5623
5624	// The name you wish to specify for the new network profile.
5625	//
5626	// Name is a required field
5627	Name *string `locationName:"name" type:"string" required:"true"`
5628
5629	// The Amazon Resource Name (ARN) of the project for which you want to create
5630	// a network profile.
5631	//
5632	// ProjectArn is a required field
5633	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
5634
5635	// The type of network profile you wish to create. Valid values are listed below.
5636	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
5637
5638	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
5639	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
5640
5641	// Delay time for all packets to destination in milliseconds as an integer from
5642	// 0 to 2000.
5643	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
5644
5645	// Time variation in the delay of received packets in milliseconds as an integer
5646	// from 0 to 2000.
5647	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
5648
5649	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
5650	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
5651}
5652
5653// String returns the string representation
5654func (s CreateNetworkProfileInput) String() string {
5655	return awsutil.Prettify(s)
5656}
5657
5658// GoString returns the string representation
5659func (s CreateNetworkProfileInput) GoString() string {
5660	return s.String()
5661}
5662
5663// Validate inspects the fields of the type to determine if they are valid.
5664func (s *CreateNetworkProfileInput) Validate() error {
5665	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkProfileInput"}
5666	if s.Name == nil {
5667		invalidParams.Add(request.NewErrParamRequired("Name"))
5668	}
5669	if s.ProjectArn == nil {
5670		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
5671	}
5672	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
5673		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
5674	}
5675
5676	if invalidParams.Len() > 0 {
5677		return invalidParams
5678	}
5679	return nil
5680}
5681
5682// SetDescription sets the Description field's value.
5683func (s *CreateNetworkProfileInput) SetDescription(v string) *CreateNetworkProfileInput {
5684	s.Description = &v
5685	return s
5686}
5687
5688// SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
5689func (s *CreateNetworkProfileInput) SetDownlinkBandwidthBits(v int64) *CreateNetworkProfileInput {
5690	s.DownlinkBandwidthBits = &v
5691	return s
5692}
5693
5694// SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
5695func (s *CreateNetworkProfileInput) SetDownlinkDelayMs(v int64) *CreateNetworkProfileInput {
5696	s.DownlinkDelayMs = &v
5697	return s
5698}
5699
5700// SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
5701func (s *CreateNetworkProfileInput) SetDownlinkJitterMs(v int64) *CreateNetworkProfileInput {
5702	s.DownlinkJitterMs = &v
5703	return s
5704}
5705
5706// SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
5707func (s *CreateNetworkProfileInput) SetDownlinkLossPercent(v int64) *CreateNetworkProfileInput {
5708	s.DownlinkLossPercent = &v
5709	return s
5710}
5711
5712// SetName sets the Name field's value.
5713func (s *CreateNetworkProfileInput) SetName(v string) *CreateNetworkProfileInput {
5714	s.Name = &v
5715	return s
5716}
5717
5718// SetProjectArn sets the ProjectArn field's value.
5719func (s *CreateNetworkProfileInput) SetProjectArn(v string) *CreateNetworkProfileInput {
5720	s.ProjectArn = &v
5721	return s
5722}
5723
5724// SetType sets the Type field's value.
5725func (s *CreateNetworkProfileInput) SetType(v string) *CreateNetworkProfileInput {
5726	s.Type = &v
5727	return s
5728}
5729
5730// SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
5731func (s *CreateNetworkProfileInput) SetUplinkBandwidthBits(v int64) *CreateNetworkProfileInput {
5732	s.UplinkBandwidthBits = &v
5733	return s
5734}
5735
5736// SetUplinkDelayMs sets the UplinkDelayMs field's value.
5737func (s *CreateNetworkProfileInput) SetUplinkDelayMs(v int64) *CreateNetworkProfileInput {
5738	s.UplinkDelayMs = &v
5739	return s
5740}
5741
5742// SetUplinkJitterMs sets the UplinkJitterMs field's value.
5743func (s *CreateNetworkProfileInput) SetUplinkJitterMs(v int64) *CreateNetworkProfileInput {
5744	s.UplinkJitterMs = &v
5745	return s
5746}
5747
5748// SetUplinkLossPercent sets the UplinkLossPercent field's value.
5749func (s *CreateNetworkProfileInput) SetUplinkLossPercent(v int64) *CreateNetworkProfileInput {
5750	s.UplinkLossPercent = &v
5751	return s
5752}
5753
5754// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateNetworkProfileResult
5755type CreateNetworkProfileOutput struct {
5756	_ struct{} `type:"structure"`
5757
5758	// The network profile that is returned by the create network profile request.
5759	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
5760}
5761
5762// String returns the string representation
5763func (s CreateNetworkProfileOutput) String() string {
5764	return awsutil.Prettify(s)
5765}
5766
5767// GoString returns the string representation
5768func (s CreateNetworkProfileOutput) GoString() string {
5769	return s.String()
5770}
5771
5772// SetNetworkProfile sets the NetworkProfile field's value.
5773func (s *CreateNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *CreateNetworkProfileOutput {
5774	s.NetworkProfile = v
5775	return s
5776}
5777
5778// Represents a request to the create project operation.
5779// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateProjectRequest
5780type CreateProjectInput struct {
5781	_ struct{} `type:"structure"`
5782
5783	// Sets the execution timeout value (in minutes) for a project. All test runs
5784	// in this project will use the specified execution timeout value unless overridden
5785	// when scheduling a run.
5786	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
5787
5788	// The project's name.
5789	//
5790	// Name is a required field
5791	Name *string `locationName:"name" type:"string" required:"true"`
5792}
5793
5794// String returns the string representation
5795func (s CreateProjectInput) String() string {
5796	return awsutil.Prettify(s)
5797}
5798
5799// GoString returns the string representation
5800func (s CreateProjectInput) GoString() string {
5801	return s.String()
5802}
5803
5804// Validate inspects the fields of the type to determine if they are valid.
5805func (s *CreateProjectInput) Validate() error {
5806	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
5807	if s.Name == nil {
5808		invalidParams.Add(request.NewErrParamRequired("Name"))
5809	}
5810
5811	if invalidParams.Len() > 0 {
5812		return invalidParams
5813	}
5814	return nil
5815}
5816
5817// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
5818func (s *CreateProjectInput) SetDefaultJobTimeoutMinutes(v int64) *CreateProjectInput {
5819	s.DefaultJobTimeoutMinutes = &v
5820	return s
5821}
5822
5823// SetName sets the Name field's value.
5824func (s *CreateProjectInput) SetName(v string) *CreateProjectInput {
5825	s.Name = &v
5826	return s
5827}
5828
5829// Represents the result of a create project request.
5830// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateProjectResult
5831type CreateProjectOutput struct {
5832	_ struct{} `type:"structure"`
5833
5834	// The newly created project.
5835	Project *Project `locationName:"project" type:"structure"`
5836}
5837
5838// String returns the string representation
5839func (s CreateProjectOutput) String() string {
5840	return awsutil.Prettify(s)
5841}
5842
5843// GoString returns the string representation
5844func (s CreateProjectOutput) GoString() string {
5845	return s.String()
5846}
5847
5848// SetProject sets the Project field's value.
5849func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput {
5850	s.Project = v
5851	return s
5852}
5853
5854// Creates the configuration settings for a remote access session, including
5855// the device model and type.
5856// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSessionConfiguration
5857type CreateRemoteAccessSessionConfiguration struct {
5858	_ struct{} `type:"structure"`
5859
5860	// Returns the billing method for purposes of configuring a remote access session.
5861	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
5862}
5863
5864// String returns the string representation
5865func (s CreateRemoteAccessSessionConfiguration) String() string {
5866	return awsutil.Prettify(s)
5867}
5868
5869// GoString returns the string representation
5870func (s CreateRemoteAccessSessionConfiguration) GoString() string {
5871	return s.String()
5872}
5873
5874// SetBillingMethod sets the BillingMethod field's value.
5875func (s *CreateRemoteAccessSessionConfiguration) SetBillingMethod(v string) *CreateRemoteAccessSessionConfiguration {
5876	s.BillingMethod = &v
5877	return s
5878}
5879
5880// Creates and submits a request to start a remote access session.
5881// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSessionRequest
5882type CreateRemoteAccessSessionInput struct {
5883	_ struct{} `type:"structure"`
5884
5885	// Unique identifier for the client. If you want access to multiple devices
5886	// on the same client, you should pass the same clientId value in each call
5887	// to CreateRemoteAccessSession. This is required only if remoteDebugEnabled
5888	// is set to true true.
5889	ClientId *string `locationName:"clientId" type:"string"`
5890
5891	// The configuration information for the remote access session request.
5892	Configuration *CreateRemoteAccessSessionConfiguration `locationName:"configuration" type:"structure"`
5893
5894	// The Amazon Resource Name (ARN) of the device for which you want to create
5895	// a remote access session.
5896	//
5897	// DeviceArn is a required field
5898	DeviceArn *string `locationName:"deviceArn" min:"32" type:"string" required:"true"`
5899
5900	// The name of the remote access session that you wish to create.
5901	Name *string `locationName:"name" type:"string"`
5902
5903	// The Amazon Resource Name (ARN) of the project for which you want to create
5904	// a remote access session.
5905	//
5906	// ProjectArn is a required field
5907	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
5908
5909	// Set to true if you want to access devices remotely for debugging in your
5910	// remote access session.
5911	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
5912
5913	// The public key of the ssh key pair you want to use for connecting to remote
5914	// devices in your remote debugging session. This is only required if remoteDebugEnabled
5915	// is set to true.
5916	SshPublicKey *string `locationName:"sshPublicKey" type:"string"`
5917}
5918
5919// String returns the string representation
5920func (s CreateRemoteAccessSessionInput) String() string {
5921	return awsutil.Prettify(s)
5922}
5923
5924// GoString returns the string representation
5925func (s CreateRemoteAccessSessionInput) GoString() string {
5926	return s.String()
5927}
5928
5929// Validate inspects the fields of the type to determine if they are valid.
5930func (s *CreateRemoteAccessSessionInput) Validate() error {
5931	invalidParams := request.ErrInvalidParams{Context: "CreateRemoteAccessSessionInput"}
5932	if s.DeviceArn == nil {
5933		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
5934	}
5935	if s.DeviceArn != nil && len(*s.DeviceArn) < 32 {
5936		invalidParams.Add(request.NewErrParamMinLen("DeviceArn", 32))
5937	}
5938	if s.ProjectArn == nil {
5939		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
5940	}
5941	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
5942		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
5943	}
5944
5945	if invalidParams.Len() > 0 {
5946		return invalidParams
5947	}
5948	return nil
5949}
5950
5951// SetClientId sets the ClientId field's value.
5952func (s *CreateRemoteAccessSessionInput) SetClientId(v string) *CreateRemoteAccessSessionInput {
5953	s.ClientId = &v
5954	return s
5955}
5956
5957// SetConfiguration sets the Configuration field's value.
5958func (s *CreateRemoteAccessSessionInput) SetConfiguration(v *CreateRemoteAccessSessionConfiguration) *CreateRemoteAccessSessionInput {
5959	s.Configuration = v
5960	return s
5961}
5962
5963// SetDeviceArn sets the DeviceArn field's value.
5964func (s *CreateRemoteAccessSessionInput) SetDeviceArn(v string) *CreateRemoteAccessSessionInput {
5965	s.DeviceArn = &v
5966	return s
5967}
5968
5969// SetName sets the Name field's value.
5970func (s *CreateRemoteAccessSessionInput) SetName(v string) *CreateRemoteAccessSessionInput {
5971	s.Name = &v
5972	return s
5973}
5974
5975// SetProjectArn sets the ProjectArn field's value.
5976func (s *CreateRemoteAccessSessionInput) SetProjectArn(v string) *CreateRemoteAccessSessionInput {
5977	s.ProjectArn = &v
5978	return s
5979}
5980
5981// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
5982func (s *CreateRemoteAccessSessionInput) SetRemoteDebugEnabled(v bool) *CreateRemoteAccessSessionInput {
5983	s.RemoteDebugEnabled = &v
5984	return s
5985}
5986
5987// SetSshPublicKey sets the SshPublicKey field's value.
5988func (s *CreateRemoteAccessSessionInput) SetSshPublicKey(v string) *CreateRemoteAccessSessionInput {
5989	s.SshPublicKey = &v
5990	return s
5991}
5992
5993// Represents the server response from a request to create a remote access session.
5994// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSessionResult
5995type CreateRemoteAccessSessionOutput struct {
5996	_ struct{} `type:"structure"`
5997
5998	// A container that describes the remote access session when the request to
5999	// create a remote access session is sent.
6000	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
6001}
6002
6003// String returns the string representation
6004func (s CreateRemoteAccessSessionOutput) String() string {
6005	return awsutil.Prettify(s)
6006}
6007
6008// GoString returns the string representation
6009func (s CreateRemoteAccessSessionOutput) GoString() string {
6010	return s.String()
6011}
6012
6013// SetRemoteAccessSession sets the RemoteAccessSession field's value.
6014func (s *CreateRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *CreateRemoteAccessSessionOutput {
6015	s.RemoteAccessSession = v
6016	return s
6017}
6018
6019// Represents a request to the create upload operation.
6020// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUploadRequest
6021type CreateUploadInput struct {
6022	_ struct{} `type:"structure"`
6023
6024	// The upload's content type (for example, "application/octet-stream").
6025	ContentType *string `locationName:"contentType" type:"string"`
6026
6027	// The upload's file name. The name should not contain the '/' character. If
6028	// uploading an iOS app, the file name needs to end with the .ipa extension.
6029	// If uploading an Android app, the file name needs to end with the .apk extension.
6030	// For all others, the file name must end with the .zip file extension.
6031	//
6032	// Name is a required field
6033	Name *string `locationName:"name" type:"string" required:"true"`
6034
6035	// The ARN of the project for the upload.
6036	//
6037	// ProjectArn is a required field
6038	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
6039
6040	// The upload's upload type.
6041	//
6042	// Must be one of the following values:
6043	//
6044	//    * ANDROID_APP: An Android upload.
6045	//
6046	//    * IOS_APP: An iOS upload.
6047	//
6048	//    * WEB_APP: A web appliction upload.
6049	//
6050	//    * EXTERNAL_DATA: An external data upload.
6051	//
6052	//    * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.
6053	//
6054	//    * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package
6055	//    upload.
6056	//
6057	//    * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.
6058	//
6059	//    * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package
6060	//    upload.
6061	//
6062	//    * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package
6063	//    upload.
6064	//
6065	//    * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.
6066	//
6067	//    * CALABASH_TEST_PACKAGE: A Calabash test package upload.
6068	//
6069	//    * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
6070	//
6071	//    * UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.
6072	//
6073	//    * UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
6074	//
6075	//    * XCTEST_TEST_PACKAGE: An XCode test package upload.
6076	//
6077	//    * XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.
6078	//
6079	// Note If you call CreateUpload with WEB_APP specified, AWS Device Farm throws
6080	// an ArgumentException error.
6081	//
6082	// Type is a required field
6083	Type *string `locationName:"type" type:"string" required:"true" enum:"UploadType"`
6084}
6085
6086// String returns the string representation
6087func (s CreateUploadInput) String() string {
6088	return awsutil.Prettify(s)
6089}
6090
6091// GoString returns the string representation
6092func (s CreateUploadInput) GoString() string {
6093	return s.String()
6094}
6095
6096// Validate inspects the fields of the type to determine if they are valid.
6097func (s *CreateUploadInput) Validate() error {
6098	invalidParams := request.ErrInvalidParams{Context: "CreateUploadInput"}
6099	if s.Name == nil {
6100		invalidParams.Add(request.NewErrParamRequired("Name"))
6101	}
6102	if s.ProjectArn == nil {
6103		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
6104	}
6105	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
6106		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
6107	}
6108	if s.Type == nil {
6109		invalidParams.Add(request.NewErrParamRequired("Type"))
6110	}
6111
6112	if invalidParams.Len() > 0 {
6113		return invalidParams
6114	}
6115	return nil
6116}
6117
6118// SetContentType sets the ContentType field's value.
6119func (s *CreateUploadInput) SetContentType(v string) *CreateUploadInput {
6120	s.ContentType = &v
6121	return s
6122}
6123
6124// SetName sets the Name field's value.
6125func (s *CreateUploadInput) SetName(v string) *CreateUploadInput {
6126	s.Name = &v
6127	return s
6128}
6129
6130// SetProjectArn sets the ProjectArn field's value.
6131func (s *CreateUploadInput) SetProjectArn(v string) *CreateUploadInput {
6132	s.ProjectArn = &v
6133	return s
6134}
6135
6136// SetType sets the Type field's value.
6137func (s *CreateUploadInput) SetType(v string) *CreateUploadInput {
6138	s.Type = &v
6139	return s
6140}
6141
6142// Represents the result of a create upload request.
6143// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUploadResult
6144type CreateUploadOutput struct {
6145	_ struct{} `type:"structure"`
6146
6147	// The newly created upload.
6148	Upload *Upload `locationName:"upload" type:"structure"`
6149}
6150
6151// String returns the string representation
6152func (s CreateUploadOutput) String() string {
6153	return awsutil.Prettify(s)
6154}
6155
6156// GoString returns the string representation
6157func (s CreateUploadOutput) GoString() string {
6158	return s.String()
6159}
6160
6161// SetUpload sets the Upload field's value.
6162func (s *CreateUploadOutput) SetUpload(v *Upload) *CreateUploadOutput {
6163	s.Upload = v
6164	return s
6165}
6166
6167// A JSON object specifying the paths where the artifacts generated by the customer's
6168// tests, on the device or in the test environment, will be pulled from.
6169//
6170// Specify deviceHostPaths and optionally specify either iosPaths or androidPaths.
6171//
6172// For web app tests, you can specify both iosPaths and androidPaths.
6173// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CustomerArtifactPaths
6174type CustomerArtifactPaths struct {
6175	_ struct{} `type:"structure"`
6176
6177	// Comma-separated list of paths on the Android device where the artifacts generated
6178	// by the customer's tests will be pulled from.
6179	AndroidPaths []*string `locationName:"androidPaths" type:"list"`
6180
6181	// Comma-separated list of paths in the test execution environment where the
6182	// artifacts generated by the customer's tests will be pulled from.
6183	DeviceHostPaths []*string `locationName:"deviceHostPaths" type:"list"`
6184
6185	// Comma-separated list of paths on the iOS device where the artifacts generated
6186	// by the customer's tests will be pulled from.
6187	IosPaths []*string `locationName:"iosPaths" type:"list"`
6188}
6189
6190// String returns the string representation
6191func (s CustomerArtifactPaths) String() string {
6192	return awsutil.Prettify(s)
6193}
6194
6195// GoString returns the string representation
6196func (s CustomerArtifactPaths) GoString() string {
6197	return s.String()
6198}
6199
6200// SetAndroidPaths sets the AndroidPaths field's value.
6201func (s *CustomerArtifactPaths) SetAndroidPaths(v []*string) *CustomerArtifactPaths {
6202	s.AndroidPaths = v
6203	return s
6204}
6205
6206// SetDeviceHostPaths sets the DeviceHostPaths field's value.
6207func (s *CustomerArtifactPaths) SetDeviceHostPaths(v []*string) *CustomerArtifactPaths {
6208	s.DeviceHostPaths = v
6209	return s
6210}
6211
6212// SetIosPaths sets the IosPaths field's value.
6213func (s *CustomerArtifactPaths) SetIosPaths(v []*string) *CustomerArtifactPaths {
6214	s.IosPaths = v
6215	return s
6216}
6217
6218// Represents a request to the delete device pool operation.
6219// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePoolRequest
6220type DeleteDevicePoolInput struct {
6221	_ struct{} `type:"structure"`
6222
6223	// Represents the Amazon Resource Name (ARN) of the Device Farm device pool
6224	// you wish to delete.
6225	//
6226	// Arn is a required field
6227	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
6228}
6229
6230// String returns the string representation
6231func (s DeleteDevicePoolInput) String() string {
6232	return awsutil.Prettify(s)
6233}
6234
6235// GoString returns the string representation
6236func (s DeleteDevicePoolInput) GoString() string {
6237	return s.String()
6238}
6239
6240// Validate inspects the fields of the type to determine if they are valid.
6241func (s *DeleteDevicePoolInput) Validate() error {
6242	invalidParams := request.ErrInvalidParams{Context: "DeleteDevicePoolInput"}
6243	if s.Arn == nil {
6244		invalidParams.Add(request.NewErrParamRequired("Arn"))
6245	}
6246	if s.Arn != nil && len(*s.Arn) < 32 {
6247		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
6248	}
6249
6250	if invalidParams.Len() > 0 {
6251		return invalidParams
6252	}
6253	return nil
6254}
6255
6256// SetArn sets the Arn field's value.
6257func (s *DeleteDevicePoolInput) SetArn(v string) *DeleteDevicePoolInput {
6258	s.Arn = &v
6259	return s
6260}
6261
6262// Represents the result of a delete device pool request.
6263// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePoolResult
6264type DeleteDevicePoolOutput struct {
6265	_ struct{} `type:"structure"`
6266}
6267
6268// String returns the string representation
6269func (s DeleteDevicePoolOutput) String() string {
6270	return awsutil.Prettify(s)
6271}
6272
6273// GoString returns the string representation
6274func (s DeleteDevicePoolOutput) GoString() string {
6275	return s.String()
6276}
6277
6278// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteNetworkProfileRequest
6279type DeleteNetworkProfileInput struct {
6280	_ struct{} `type:"structure"`
6281
6282	// The Amazon Resource Name (ARN) of the network profile you want to delete.
6283	//
6284	// Arn is a required field
6285	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
6286}
6287
6288// String returns the string representation
6289func (s DeleteNetworkProfileInput) String() string {
6290	return awsutil.Prettify(s)
6291}
6292
6293// GoString returns the string representation
6294func (s DeleteNetworkProfileInput) GoString() string {
6295	return s.String()
6296}
6297
6298// Validate inspects the fields of the type to determine if they are valid.
6299func (s *DeleteNetworkProfileInput) Validate() error {
6300	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkProfileInput"}
6301	if s.Arn == nil {
6302		invalidParams.Add(request.NewErrParamRequired("Arn"))
6303	}
6304	if s.Arn != nil && len(*s.Arn) < 32 {
6305		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
6306	}
6307
6308	if invalidParams.Len() > 0 {
6309		return invalidParams
6310	}
6311	return nil
6312}
6313
6314// SetArn sets the Arn field's value.
6315func (s *DeleteNetworkProfileInput) SetArn(v string) *DeleteNetworkProfileInput {
6316	s.Arn = &v
6317	return s
6318}
6319
6320// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteNetworkProfileResult
6321type DeleteNetworkProfileOutput struct {
6322	_ struct{} `type:"structure"`
6323}
6324
6325// String returns the string representation
6326func (s DeleteNetworkProfileOutput) String() string {
6327	return awsutil.Prettify(s)
6328}
6329
6330// GoString returns the string representation
6331func (s DeleteNetworkProfileOutput) GoString() string {
6332	return s.String()
6333}
6334
6335// Represents a request to the delete project operation.
6336// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteProjectRequest
6337type DeleteProjectInput struct {
6338	_ struct{} `type:"structure"`
6339
6340	// Represents the Amazon Resource Name (ARN) of the Device Farm project you
6341	// wish to delete.
6342	//
6343	// Arn is a required field
6344	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
6345}
6346
6347// String returns the string representation
6348func (s DeleteProjectInput) String() string {
6349	return awsutil.Prettify(s)
6350}
6351
6352// GoString returns the string representation
6353func (s DeleteProjectInput) GoString() string {
6354	return s.String()
6355}
6356
6357// Validate inspects the fields of the type to determine if they are valid.
6358func (s *DeleteProjectInput) Validate() error {
6359	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
6360	if s.Arn == nil {
6361		invalidParams.Add(request.NewErrParamRequired("Arn"))
6362	}
6363	if s.Arn != nil && len(*s.Arn) < 32 {
6364		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
6365	}
6366
6367	if invalidParams.Len() > 0 {
6368		return invalidParams
6369	}
6370	return nil
6371}
6372
6373// SetArn sets the Arn field's value.
6374func (s *DeleteProjectInput) SetArn(v string) *DeleteProjectInput {
6375	s.Arn = &v
6376	return s
6377}
6378
6379// Represents the result of a delete project request.
6380// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteProjectResult
6381type DeleteProjectOutput struct {
6382	_ struct{} `type:"structure"`
6383}
6384
6385// String returns the string representation
6386func (s DeleteProjectOutput) String() string {
6387	return awsutil.Prettify(s)
6388}
6389
6390// GoString returns the string representation
6391func (s DeleteProjectOutput) GoString() string {
6392	return s.String()
6393}
6394
6395// Represents the request to delete the specified remote access session.
6396// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRemoteAccessSessionRequest
6397type DeleteRemoteAccessSessionInput struct {
6398	_ struct{} `type:"structure"`
6399
6400	// The Amazon Resource Name (ARN) of the sesssion for which you want to delete
6401	// remote access.
6402	//
6403	// Arn is a required field
6404	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
6405}
6406
6407// String returns the string representation
6408func (s DeleteRemoteAccessSessionInput) String() string {
6409	return awsutil.Prettify(s)
6410}
6411
6412// GoString returns the string representation
6413func (s DeleteRemoteAccessSessionInput) GoString() string {
6414	return s.String()
6415}
6416
6417// Validate inspects the fields of the type to determine if they are valid.
6418func (s *DeleteRemoteAccessSessionInput) Validate() error {
6419	invalidParams := request.ErrInvalidParams{Context: "DeleteRemoteAccessSessionInput"}
6420	if s.Arn == nil {
6421		invalidParams.Add(request.NewErrParamRequired("Arn"))
6422	}
6423	if s.Arn != nil && len(*s.Arn) < 32 {
6424		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
6425	}
6426
6427	if invalidParams.Len() > 0 {
6428		return invalidParams
6429	}
6430	return nil
6431}
6432
6433// SetArn sets the Arn field's value.
6434func (s *DeleteRemoteAccessSessionInput) SetArn(v string) *DeleteRemoteAccessSessionInput {
6435	s.Arn = &v
6436	return s
6437}
6438
6439// The response from the server when a request is made to delete the remote
6440// access session.
6441// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRemoteAccessSessionResult
6442type DeleteRemoteAccessSessionOutput struct {
6443	_ struct{} `type:"structure"`
6444}
6445
6446// String returns the string representation
6447func (s DeleteRemoteAccessSessionOutput) String() string {
6448	return awsutil.Prettify(s)
6449}
6450
6451// GoString returns the string representation
6452func (s DeleteRemoteAccessSessionOutput) GoString() string {
6453	return s.String()
6454}
6455
6456// Represents a request to the delete run operation.
6457// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRunRequest
6458type DeleteRunInput struct {
6459	_ struct{} `type:"structure"`
6460
6461	// The Amazon Resource Name (ARN) for the run you wish to delete.
6462	//
6463	// Arn is a required field
6464	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
6465}
6466
6467// String returns the string representation
6468func (s DeleteRunInput) String() string {
6469	return awsutil.Prettify(s)
6470}
6471
6472// GoString returns the string representation
6473func (s DeleteRunInput) GoString() string {
6474	return s.String()
6475}
6476
6477// Validate inspects the fields of the type to determine if they are valid.
6478func (s *DeleteRunInput) Validate() error {
6479	invalidParams := request.ErrInvalidParams{Context: "DeleteRunInput"}
6480	if s.Arn == nil {
6481		invalidParams.Add(request.NewErrParamRequired("Arn"))
6482	}
6483	if s.Arn != nil && len(*s.Arn) < 32 {
6484		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
6485	}
6486
6487	if invalidParams.Len() > 0 {
6488		return invalidParams
6489	}
6490	return nil
6491}
6492
6493// SetArn sets the Arn field's value.
6494func (s *DeleteRunInput) SetArn(v string) *DeleteRunInput {
6495	s.Arn = &v
6496	return s
6497}
6498
6499// Represents the result of a delete run request.
6500// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRunResult
6501type DeleteRunOutput struct {
6502	_ struct{} `type:"structure"`
6503}
6504
6505// String returns the string representation
6506func (s DeleteRunOutput) String() string {
6507	return awsutil.Prettify(s)
6508}
6509
6510// GoString returns the string representation
6511func (s DeleteRunOutput) GoString() string {
6512	return s.String()
6513}
6514
6515// Represents a request to the delete upload operation.
6516// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteUploadRequest
6517type DeleteUploadInput struct {
6518	_ struct{} `type:"structure"`
6519
6520	// Represents the Amazon Resource Name (ARN) of the Device Farm upload you wish
6521	// to delete.
6522	//
6523	// Arn is a required field
6524	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
6525}
6526
6527// String returns the string representation
6528func (s DeleteUploadInput) String() string {
6529	return awsutil.Prettify(s)
6530}
6531
6532// GoString returns the string representation
6533func (s DeleteUploadInput) GoString() string {
6534	return s.String()
6535}
6536
6537// Validate inspects the fields of the type to determine if they are valid.
6538func (s *DeleteUploadInput) Validate() error {
6539	invalidParams := request.ErrInvalidParams{Context: "DeleteUploadInput"}
6540	if s.Arn == nil {
6541		invalidParams.Add(request.NewErrParamRequired("Arn"))
6542	}
6543	if s.Arn != nil && len(*s.Arn) < 32 {
6544		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
6545	}
6546
6547	if invalidParams.Len() > 0 {
6548		return invalidParams
6549	}
6550	return nil
6551}
6552
6553// SetArn sets the Arn field's value.
6554func (s *DeleteUploadInput) SetArn(v string) *DeleteUploadInput {
6555	s.Arn = &v
6556	return s
6557}
6558
6559// Represents the result of a delete upload request.
6560// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteUploadResult
6561type DeleteUploadOutput struct {
6562	_ struct{} `type:"structure"`
6563}
6564
6565// String returns the string representation
6566func (s DeleteUploadOutput) String() string {
6567	return awsutil.Prettify(s)
6568}
6569
6570// GoString returns the string representation
6571func (s DeleteUploadOutput) GoString() string {
6572	return s.String()
6573}
6574
6575// Represents a device type that an app is tested against.
6576// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Device
6577type Device struct {
6578	_ struct{} `type:"structure"`
6579
6580	// The device's ARN.
6581	Arn *string `locationName:"arn" min:"32" type:"string"`
6582
6583	// The device's carrier.
6584	Carrier *string `locationName:"carrier" type:"string"`
6585
6586	// Information about the device's CPU.
6587	Cpu *CPU `locationName:"cpu" type:"structure"`
6588
6589	// The name of the fleet to which this device belongs.
6590	FleetName *string `locationName:"fleetName" type:"string"`
6591
6592	// The type of fleet to which this device belongs. Possible values for fleet
6593	// type are PRIVATE and PUBLIC.
6594	FleetType *string `locationName:"fleetType" type:"string"`
6595
6596	// The device's form factor.
6597	//
6598	// Allowed values include:
6599	//
6600	//    * PHONE: The phone form factor.
6601	//
6602	//    * TABLET: The tablet form factor.
6603	FormFactor *string `locationName:"formFactor" type:"string" enum:"DeviceFormFactor"`
6604
6605	// The device's heap size, expressed in bytes.
6606	HeapSize *int64 `locationName:"heapSize" type:"long"`
6607
6608	// The device's image name.
6609	Image *string `locationName:"image" type:"string"`
6610
6611	// The device's manufacturer name.
6612	Manufacturer *string `locationName:"manufacturer" type:"string"`
6613
6614	// The device's total memory size, expressed in bytes.
6615	Memory *int64 `locationName:"memory" type:"long"`
6616
6617	// The device's model name.
6618	Model *string `locationName:"model" type:"string"`
6619
6620	// The device's display name.
6621	Name *string `locationName:"name" type:"string"`
6622
6623	// The device's operating system type.
6624	Os *string `locationName:"os" type:"string"`
6625
6626	// The device's platform.
6627	//
6628	// Allowed values include:
6629	//
6630	//    * ANDROID: The Android platform.
6631	//
6632	//    * IOS: The iOS platform.
6633	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
6634
6635	// The device's radio.
6636	Radio *string `locationName:"radio" type:"string"`
6637
6638	// Specifies whether remote access has been enabled for the specified device.
6639	RemoteAccessEnabled *bool `locationName:"remoteAccessEnabled" type:"boolean"`
6640
6641	// This flag is set to true if remote debugging is enabled for the device.
6642	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
6643
6644	// The resolution of the device.
6645	Resolution *Resolution `locationName:"resolution" type:"structure"`
6646}
6647
6648// String returns the string representation
6649func (s Device) String() string {
6650	return awsutil.Prettify(s)
6651}
6652
6653// GoString returns the string representation
6654func (s Device) GoString() string {
6655	return s.String()
6656}
6657
6658// SetArn sets the Arn field's value.
6659func (s *Device) SetArn(v string) *Device {
6660	s.Arn = &v
6661	return s
6662}
6663
6664// SetCarrier sets the Carrier field's value.
6665func (s *Device) SetCarrier(v string) *Device {
6666	s.Carrier = &v
6667	return s
6668}
6669
6670// SetCpu sets the Cpu field's value.
6671func (s *Device) SetCpu(v *CPU) *Device {
6672	s.Cpu = v
6673	return s
6674}
6675
6676// SetFleetName sets the FleetName field's value.
6677func (s *Device) SetFleetName(v string) *Device {
6678	s.FleetName = &v
6679	return s
6680}
6681
6682// SetFleetType sets the FleetType field's value.
6683func (s *Device) SetFleetType(v string) *Device {
6684	s.FleetType = &v
6685	return s
6686}
6687
6688// SetFormFactor sets the FormFactor field's value.
6689func (s *Device) SetFormFactor(v string) *Device {
6690	s.FormFactor = &v
6691	return s
6692}
6693
6694// SetHeapSize sets the HeapSize field's value.
6695func (s *Device) SetHeapSize(v int64) *Device {
6696	s.HeapSize = &v
6697	return s
6698}
6699
6700// SetImage sets the Image field's value.
6701func (s *Device) SetImage(v string) *Device {
6702	s.Image = &v
6703	return s
6704}
6705
6706// SetManufacturer sets the Manufacturer field's value.
6707func (s *Device) SetManufacturer(v string) *Device {
6708	s.Manufacturer = &v
6709	return s
6710}
6711
6712// SetMemory sets the Memory field's value.
6713func (s *Device) SetMemory(v int64) *Device {
6714	s.Memory = &v
6715	return s
6716}
6717
6718// SetModel sets the Model field's value.
6719func (s *Device) SetModel(v string) *Device {
6720	s.Model = &v
6721	return s
6722}
6723
6724// SetName sets the Name field's value.
6725func (s *Device) SetName(v string) *Device {
6726	s.Name = &v
6727	return s
6728}
6729
6730// SetOs sets the Os field's value.
6731func (s *Device) SetOs(v string) *Device {
6732	s.Os = &v
6733	return s
6734}
6735
6736// SetPlatform sets the Platform field's value.
6737func (s *Device) SetPlatform(v string) *Device {
6738	s.Platform = &v
6739	return s
6740}
6741
6742// SetRadio sets the Radio field's value.
6743func (s *Device) SetRadio(v string) *Device {
6744	s.Radio = &v
6745	return s
6746}
6747
6748// SetRemoteAccessEnabled sets the RemoteAccessEnabled field's value.
6749func (s *Device) SetRemoteAccessEnabled(v bool) *Device {
6750	s.RemoteAccessEnabled = &v
6751	return s
6752}
6753
6754// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
6755func (s *Device) SetRemoteDebugEnabled(v bool) *Device {
6756	s.RemoteDebugEnabled = &v
6757	return s
6758}
6759
6760// SetResolution sets the Resolution field's value.
6761func (s *Device) SetResolution(v *Resolution) *Device {
6762	s.Resolution = v
6763	return s
6764}
6765
6766// Represents the total (metered or unmetered) minutes used by the resource
6767// to run tests. Contains the sum of minutes consumed by all children.
6768// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeviceMinutes
6769type DeviceMinutes struct {
6770	_ struct{} `type:"structure"`
6771
6772	// When specified, represents only the sum of metered minutes used by the resource
6773	// to run tests.
6774	Metered *float64 `locationName:"metered" type:"double"`
6775
6776	// When specified, represents the total minutes used by the resource to run
6777	// tests.
6778	Total *float64 `locationName:"total" type:"double"`
6779
6780	// When specified, represents only the sum of unmetered minutes used by the
6781	// resource to run tests.
6782	Unmetered *float64 `locationName:"unmetered" type:"double"`
6783}
6784
6785// String returns the string representation
6786func (s DeviceMinutes) String() string {
6787	return awsutil.Prettify(s)
6788}
6789
6790// GoString returns the string representation
6791func (s DeviceMinutes) GoString() string {
6792	return s.String()
6793}
6794
6795// SetMetered sets the Metered field's value.
6796func (s *DeviceMinutes) SetMetered(v float64) *DeviceMinutes {
6797	s.Metered = &v
6798	return s
6799}
6800
6801// SetTotal sets the Total field's value.
6802func (s *DeviceMinutes) SetTotal(v float64) *DeviceMinutes {
6803	s.Total = &v
6804	return s
6805}
6806
6807// SetUnmetered sets the Unmetered field's value.
6808func (s *DeviceMinutes) SetUnmetered(v float64) *DeviceMinutes {
6809	s.Unmetered = &v
6810	return s
6811}
6812
6813// Represents a collection of device types.
6814// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DevicePool
6815type DevicePool struct {
6816	_ struct{} `type:"structure"`
6817
6818	// The device pool's ARN.
6819	Arn *string `locationName:"arn" min:"32" type:"string"`
6820
6821	// The device pool's description.
6822	Description *string `locationName:"description" type:"string"`
6823
6824	// The device pool's name.
6825	Name *string `locationName:"name" type:"string"`
6826
6827	// Information about the device pool's rules.
6828	Rules []*Rule `locationName:"rules" type:"list"`
6829
6830	// The device pool's type.
6831	//
6832	// Allowed values include:
6833	//
6834	//    * CURATED: A device pool that is created and managed by AWS Device Farm.
6835	//
6836	//    * PRIVATE: A device pool that is created and managed by the device pool
6837	//    developer.
6838	Type *string `locationName:"type" type:"string" enum:"DevicePoolType"`
6839}
6840
6841// String returns the string representation
6842func (s DevicePool) String() string {
6843	return awsutil.Prettify(s)
6844}
6845
6846// GoString returns the string representation
6847func (s DevicePool) GoString() string {
6848	return s.String()
6849}
6850
6851// SetArn sets the Arn field's value.
6852func (s *DevicePool) SetArn(v string) *DevicePool {
6853	s.Arn = &v
6854	return s
6855}
6856
6857// SetDescription sets the Description field's value.
6858func (s *DevicePool) SetDescription(v string) *DevicePool {
6859	s.Description = &v
6860	return s
6861}
6862
6863// SetName sets the Name field's value.
6864func (s *DevicePool) SetName(v string) *DevicePool {
6865	s.Name = &v
6866	return s
6867}
6868
6869// SetRules sets the Rules field's value.
6870func (s *DevicePool) SetRules(v []*Rule) *DevicePool {
6871	s.Rules = v
6872	return s
6873}
6874
6875// SetType sets the Type field's value.
6876func (s *DevicePool) SetType(v string) *DevicePool {
6877	s.Type = &v
6878	return s
6879}
6880
6881// Represents a device pool compatibility result.
6882// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DevicePoolCompatibilityResult
6883type DevicePoolCompatibilityResult struct {
6884	_ struct{} `type:"structure"`
6885
6886	// Whether the result was compatible with the device pool.
6887	Compatible *bool `locationName:"compatible" type:"boolean"`
6888
6889	// The device (phone or tablet) that you wish to return information about.
6890	Device *Device `locationName:"device" type:"structure"`
6891
6892	// Information about the compatibility.
6893	IncompatibilityMessages []*IncompatibilityMessage `locationName:"incompatibilityMessages" type:"list"`
6894}
6895
6896// String returns the string representation
6897func (s DevicePoolCompatibilityResult) String() string {
6898	return awsutil.Prettify(s)
6899}
6900
6901// GoString returns the string representation
6902func (s DevicePoolCompatibilityResult) GoString() string {
6903	return s.String()
6904}
6905
6906// SetCompatible sets the Compatible field's value.
6907func (s *DevicePoolCompatibilityResult) SetCompatible(v bool) *DevicePoolCompatibilityResult {
6908	s.Compatible = &v
6909	return s
6910}
6911
6912// SetDevice sets the Device field's value.
6913func (s *DevicePoolCompatibilityResult) SetDevice(v *Device) *DevicePoolCompatibilityResult {
6914	s.Device = v
6915	return s
6916}
6917
6918// SetIncompatibilityMessages sets the IncompatibilityMessages field's value.
6919func (s *DevicePoolCompatibilityResult) SetIncompatibilityMessages(v []*IncompatibilityMessage) *DevicePoolCompatibilityResult {
6920	s.IncompatibilityMessages = v
6921	return s
6922}
6923
6924// Represents configuration information about a test run, such as the execution
6925// timeout (in minutes).
6926// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ExecutionConfiguration
6927type ExecutionConfiguration struct {
6928	_ struct{} `type:"structure"`
6929
6930	// True if account cleanup is enabled at the beginning of the test; otherwise,
6931	// false.
6932	AccountsCleanup *bool `locationName:"accountsCleanup" type:"boolean"`
6933
6934	// True if app package cleanup is enabled at the beginning of the test; otherwise,
6935	// false.
6936	AppPackagesCleanup *bool `locationName:"appPackagesCleanup" type:"boolean"`
6937
6938	// The number of minutes a test run will execute before it times out.
6939	JobTimeoutMinutes *int64 `locationName:"jobTimeoutMinutes" type:"integer"`
6940}
6941
6942// String returns the string representation
6943func (s ExecutionConfiguration) String() string {
6944	return awsutil.Prettify(s)
6945}
6946
6947// GoString returns the string representation
6948func (s ExecutionConfiguration) GoString() string {
6949	return s.String()
6950}
6951
6952// SetAccountsCleanup sets the AccountsCleanup field's value.
6953func (s *ExecutionConfiguration) SetAccountsCleanup(v bool) *ExecutionConfiguration {
6954	s.AccountsCleanup = &v
6955	return s
6956}
6957
6958// SetAppPackagesCleanup sets the AppPackagesCleanup field's value.
6959func (s *ExecutionConfiguration) SetAppPackagesCleanup(v bool) *ExecutionConfiguration {
6960	s.AppPackagesCleanup = &v
6961	return s
6962}
6963
6964// SetJobTimeoutMinutes sets the JobTimeoutMinutes field's value.
6965func (s *ExecutionConfiguration) SetJobTimeoutMinutes(v int64) *ExecutionConfiguration {
6966	s.JobTimeoutMinutes = &v
6967	return s
6968}
6969
6970// Represents the request sent to retrieve the account settings.
6971// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetAccountSettingsRequest
6972type GetAccountSettingsInput struct {
6973	_ struct{} `type:"structure"`
6974}
6975
6976// String returns the string representation
6977func (s GetAccountSettingsInput) String() string {
6978	return awsutil.Prettify(s)
6979}
6980
6981// GoString returns the string representation
6982func (s GetAccountSettingsInput) GoString() string {
6983	return s.String()
6984}
6985
6986// Represents the account settings return values from the GetAccountSettings
6987// request.
6988// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetAccountSettingsResult
6989type GetAccountSettingsOutput struct {
6990	_ struct{} `type:"structure"`
6991
6992	// The account settings.
6993	AccountSettings *AccountSettings `locationName:"accountSettings" type:"structure"`
6994}
6995
6996// String returns the string representation
6997func (s GetAccountSettingsOutput) String() string {
6998	return awsutil.Prettify(s)
6999}
7000
7001// GoString returns the string representation
7002func (s GetAccountSettingsOutput) GoString() string {
7003	return s.String()
7004}
7005
7006// SetAccountSettings sets the AccountSettings field's value.
7007func (s *GetAccountSettingsOutput) SetAccountSettings(v *AccountSettings) *GetAccountSettingsOutput {
7008	s.AccountSettings = v
7009	return s
7010}
7011
7012// Represents a request to the get device request.
7013// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDeviceRequest
7014type GetDeviceInput struct {
7015	_ struct{} `type:"structure"`
7016
7017	// The device type's ARN.
7018	//
7019	// Arn is a required field
7020	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
7021}
7022
7023// String returns the string representation
7024func (s GetDeviceInput) String() string {
7025	return awsutil.Prettify(s)
7026}
7027
7028// GoString returns the string representation
7029func (s GetDeviceInput) GoString() string {
7030	return s.String()
7031}
7032
7033// Validate inspects the fields of the type to determine if they are valid.
7034func (s *GetDeviceInput) Validate() error {
7035	invalidParams := request.ErrInvalidParams{Context: "GetDeviceInput"}
7036	if s.Arn == nil {
7037		invalidParams.Add(request.NewErrParamRequired("Arn"))
7038	}
7039	if s.Arn != nil && len(*s.Arn) < 32 {
7040		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
7041	}
7042
7043	if invalidParams.Len() > 0 {
7044		return invalidParams
7045	}
7046	return nil
7047}
7048
7049// SetArn sets the Arn field's value.
7050func (s *GetDeviceInput) SetArn(v string) *GetDeviceInput {
7051	s.Arn = &v
7052	return s
7053}
7054
7055// Represents the result of a get device request.
7056// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDeviceResult
7057type GetDeviceOutput struct {
7058	_ struct{} `type:"structure"`
7059
7060	// An object containing information about the requested device.
7061	Device *Device `locationName:"device" type:"structure"`
7062}
7063
7064// String returns the string representation
7065func (s GetDeviceOutput) String() string {
7066	return awsutil.Prettify(s)
7067}
7068
7069// GoString returns the string representation
7070func (s GetDeviceOutput) GoString() string {
7071	return s.String()
7072}
7073
7074// SetDevice sets the Device field's value.
7075func (s *GetDeviceOutput) SetDevice(v *Device) *GetDeviceOutput {
7076	s.Device = v
7077	return s
7078}
7079
7080// Represents a request to the get device pool compatibility operation.
7081// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolCompatibilityRequest
7082type GetDevicePoolCompatibilityInput struct {
7083	_ struct{} `type:"structure"`
7084
7085	// The ARN of the app that is associated with the specified device pool.
7086	AppArn *string `locationName:"appArn" min:"32" type:"string"`
7087
7088	// The device pool's ARN.
7089	//
7090	// DevicePoolArn is a required field
7091	DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string" required:"true"`
7092
7093	// Information about the uploaded test to be run against the device pool.
7094	Test *ScheduleRunTest `locationName:"test" type:"structure"`
7095
7096	// The test type for the specified device pool.
7097	//
7098	// Allowed values include the following:
7099	//
7100	//    * BUILTIN_FUZZ: The built-in fuzz type.
7101	//
7102	//    * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an
7103	//    Android app, interacting with it and capturing screenshots at the same
7104	//    time.
7105	//
7106	//    * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
7107	//
7108	//    * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
7109	//
7110	//    * APPIUM_PYTHON: The Appium Python type.
7111	//
7112	//    * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
7113	//
7114	//    * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
7115	//
7116	//    * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
7117	//
7118	//    * CALABASH: The Calabash type.
7119	//
7120	//    * INSTRUMENTATION: The Instrumentation type.
7121	//
7122	//    * UIAUTOMATION: The uiautomation type.
7123	//
7124	//    * UIAUTOMATOR: The uiautomator type.
7125	//
7126	//    * XCTEST: The XCode test type.
7127	//
7128	//    * XCTEST_UI: The XCode UI test type.
7129	TestType *string `locationName:"testType" type:"string" enum:"TestType"`
7130}
7131
7132// String returns the string representation
7133func (s GetDevicePoolCompatibilityInput) String() string {
7134	return awsutil.Prettify(s)
7135}
7136
7137// GoString returns the string representation
7138func (s GetDevicePoolCompatibilityInput) GoString() string {
7139	return s.String()
7140}
7141
7142// Validate inspects the fields of the type to determine if they are valid.
7143func (s *GetDevicePoolCompatibilityInput) Validate() error {
7144	invalidParams := request.ErrInvalidParams{Context: "GetDevicePoolCompatibilityInput"}
7145	if s.AppArn != nil && len(*s.AppArn) < 32 {
7146		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
7147	}
7148	if s.DevicePoolArn == nil {
7149		invalidParams.Add(request.NewErrParamRequired("DevicePoolArn"))
7150	}
7151	if s.DevicePoolArn != nil && len(*s.DevicePoolArn) < 32 {
7152		invalidParams.Add(request.NewErrParamMinLen("DevicePoolArn", 32))
7153	}
7154	if s.Test != nil {
7155		if err := s.Test.Validate(); err != nil {
7156			invalidParams.AddNested("Test", err.(request.ErrInvalidParams))
7157		}
7158	}
7159
7160	if invalidParams.Len() > 0 {
7161		return invalidParams
7162	}
7163	return nil
7164}
7165
7166// SetAppArn sets the AppArn field's value.
7167func (s *GetDevicePoolCompatibilityInput) SetAppArn(v string) *GetDevicePoolCompatibilityInput {
7168	s.AppArn = &v
7169	return s
7170}
7171
7172// SetDevicePoolArn sets the DevicePoolArn field's value.
7173func (s *GetDevicePoolCompatibilityInput) SetDevicePoolArn(v string) *GetDevicePoolCompatibilityInput {
7174	s.DevicePoolArn = &v
7175	return s
7176}
7177
7178// SetTest sets the Test field's value.
7179func (s *GetDevicePoolCompatibilityInput) SetTest(v *ScheduleRunTest) *GetDevicePoolCompatibilityInput {
7180	s.Test = v
7181	return s
7182}
7183
7184// SetTestType sets the TestType field's value.
7185func (s *GetDevicePoolCompatibilityInput) SetTestType(v string) *GetDevicePoolCompatibilityInput {
7186	s.TestType = &v
7187	return s
7188}
7189
7190// Represents the result of describe device pool compatibility request.
7191// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolCompatibilityResult
7192type GetDevicePoolCompatibilityOutput struct {
7193	_ struct{} `type:"structure"`
7194
7195	// Information about compatible devices.
7196	CompatibleDevices []*DevicePoolCompatibilityResult `locationName:"compatibleDevices" type:"list"`
7197
7198	// Information about incompatible devices.
7199	IncompatibleDevices []*DevicePoolCompatibilityResult `locationName:"incompatibleDevices" type:"list"`
7200}
7201
7202// String returns the string representation
7203func (s GetDevicePoolCompatibilityOutput) String() string {
7204	return awsutil.Prettify(s)
7205}
7206
7207// GoString returns the string representation
7208func (s GetDevicePoolCompatibilityOutput) GoString() string {
7209	return s.String()
7210}
7211
7212// SetCompatibleDevices sets the CompatibleDevices field's value.
7213func (s *GetDevicePoolCompatibilityOutput) SetCompatibleDevices(v []*DevicePoolCompatibilityResult) *GetDevicePoolCompatibilityOutput {
7214	s.CompatibleDevices = v
7215	return s
7216}
7217
7218// SetIncompatibleDevices sets the IncompatibleDevices field's value.
7219func (s *GetDevicePoolCompatibilityOutput) SetIncompatibleDevices(v []*DevicePoolCompatibilityResult) *GetDevicePoolCompatibilityOutput {
7220	s.IncompatibleDevices = v
7221	return s
7222}
7223
7224// Represents a request to the get device pool operation.
7225// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolRequest
7226type GetDevicePoolInput struct {
7227	_ struct{} `type:"structure"`
7228
7229	// The device pool's ARN.
7230	//
7231	// Arn is a required field
7232	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
7233}
7234
7235// String returns the string representation
7236func (s GetDevicePoolInput) String() string {
7237	return awsutil.Prettify(s)
7238}
7239
7240// GoString returns the string representation
7241func (s GetDevicePoolInput) GoString() string {
7242	return s.String()
7243}
7244
7245// Validate inspects the fields of the type to determine if they are valid.
7246func (s *GetDevicePoolInput) Validate() error {
7247	invalidParams := request.ErrInvalidParams{Context: "GetDevicePoolInput"}
7248	if s.Arn == nil {
7249		invalidParams.Add(request.NewErrParamRequired("Arn"))
7250	}
7251	if s.Arn != nil && len(*s.Arn) < 32 {
7252		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
7253	}
7254
7255	if invalidParams.Len() > 0 {
7256		return invalidParams
7257	}
7258	return nil
7259}
7260
7261// SetArn sets the Arn field's value.
7262func (s *GetDevicePoolInput) SetArn(v string) *GetDevicePoolInput {
7263	s.Arn = &v
7264	return s
7265}
7266
7267// Represents the result of a get device pool request.
7268// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolResult
7269type GetDevicePoolOutput struct {
7270	_ struct{} `type:"structure"`
7271
7272	// An object containing information about the requested device pool.
7273	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
7274}
7275
7276// String returns the string representation
7277func (s GetDevicePoolOutput) String() string {
7278	return awsutil.Prettify(s)
7279}
7280
7281// GoString returns the string representation
7282func (s GetDevicePoolOutput) GoString() string {
7283	return s.String()
7284}
7285
7286// SetDevicePool sets the DevicePool field's value.
7287func (s *GetDevicePoolOutput) SetDevicePool(v *DevicePool) *GetDevicePoolOutput {
7288	s.DevicePool = v
7289	return s
7290}
7291
7292// Represents a request to the get job operation.
7293// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJobRequest
7294type GetJobInput struct {
7295	_ struct{} `type:"structure"`
7296
7297	// The job's ARN.
7298	//
7299	// Arn is a required field
7300	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
7301}
7302
7303// String returns the string representation
7304func (s GetJobInput) String() string {
7305	return awsutil.Prettify(s)
7306}
7307
7308// GoString returns the string representation
7309func (s GetJobInput) GoString() string {
7310	return s.String()
7311}
7312
7313// Validate inspects the fields of the type to determine if they are valid.
7314func (s *GetJobInput) Validate() error {
7315	invalidParams := request.ErrInvalidParams{Context: "GetJobInput"}
7316	if s.Arn == nil {
7317		invalidParams.Add(request.NewErrParamRequired("Arn"))
7318	}
7319	if s.Arn != nil && len(*s.Arn) < 32 {
7320		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
7321	}
7322
7323	if invalidParams.Len() > 0 {
7324		return invalidParams
7325	}
7326	return nil
7327}
7328
7329// SetArn sets the Arn field's value.
7330func (s *GetJobInput) SetArn(v string) *GetJobInput {
7331	s.Arn = &v
7332	return s
7333}
7334
7335// Represents the result of a get job request.
7336// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJobResult
7337type GetJobOutput struct {
7338	_ struct{} `type:"structure"`
7339
7340	// An object containing information about the requested job.
7341	Job *Job `locationName:"job" type:"structure"`
7342}
7343
7344// String returns the string representation
7345func (s GetJobOutput) String() string {
7346	return awsutil.Prettify(s)
7347}
7348
7349// GoString returns the string representation
7350func (s GetJobOutput) GoString() string {
7351	return s.String()
7352}
7353
7354// SetJob sets the Job field's value.
7355func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput {
7356	s.Job = v
7357	return s
7358}
7359
7360// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetNetworkProfileRequest
7361type GetNetworkProfileInput struct {
7362	_ struct{} `type:"structure"`
7363
7364	// The Amazon Resource Name (ARN) of the network profile you want to return
7365	// information about.
7366	//
7367	// Arn is a required field
7368	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
7369}
7370
7371// String returns the string representation
7372func (s GetNetworkProfileInput) String() string {
7373	return awsutil.Prettify(s)
7374}
7375
7376// GoString returns the string representation
7377func (s GetNetworkProfileInput) GoString() string {
7378	return s.String()
7379}
7380
7381// Validate inspects the fields of the type to determine if they are valid.
7382func (s *GetNetworkProfileInput) Validate() error {
7383	invalidParams := request.ErrInvalidParams{Context: "GetNetworkProfileInput"}
7384	if s.Arn == nil {
7385		invalidParams.Add(request.NewErrParamRequired("Arn"))
7386	}
7387	if s.Arn != nil && len(*s.Arn) < 32 {
7388		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
7389	}
7390
7391	if invalidParams.Len() > 0 {
7392		return invalidParams
7393	}
7394	return nil
7395}
7396
7397// SetArn sets the Arn field's value.
7398func (s *GetNetworkProfileInput) SetArn(v string) *GetNetworkProfileInput {
7399	s.Arn = &v
7400	return s
7401}
7402
7403// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetNetworkProfileResult
7404type GetNetworkProfileOutput struct {
7405	_ struct{} `type:"structure"`
7406
7407	// The network profile.
7408	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
7409}
7410
7411// String returns the string representation
7412func (s GetNetworkProfileOutput) String() string {
7413	return awsutil.Prettify(s)
7414}
7415
7416// GoString returns the string representation
7417func (s GetNetworkProfileOutput) GoString() string {
7418	return s.String()
7419}
7420
7421// SetNetworkProfile sets the NetworkProfile field's value.
7422func (s *GetNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *GetNetworkProfileOutput {
7423	s.NetworkProfile = v
7424	return s
7425}
7426
7427// Represents the request to retrieve the offering status for the specified
7428// customer or account.
7429// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetOfferingStatusRequest
7430type GetOfferingStatusInput struct {
7431	_ struct{} `type:"structure"`
7432
7433	// An identifier that was returned from the previous call to this operation,
7434	// which can be used to return the next set of items in the list.
7435	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
7436}
7437
7438// String returns the string representation
7439func (s GetOfferingStatusInput) String() string {
7440	return awsutil.Prettify(s)
7441}
7442
7443// GoString returns the string representation
7444func (s GetOfferingStatusInput) GoString() string {
7445	return s.String()
7446}
7447
7448// Validate inspects the fields of the type to determine if they are valid.
7449func (s *GetOfferingStatusInput) Validate() error {
7450	invalidParams := request.ErrInvalidParams{Context: "GetOfferingStatusInput"}
7451	if s.NextToken != nil && len(*s.NextToken) < 4 {
7452		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
7453	}
7454
7455	if invalidParams.Len() > 0 {
7456		return invalidParams
7457	}
7458	return nil
7459}
7460
7461// SetNextToken sets the NextToken field's value.
7462func (s *GetOfferingStatusInput) SetNextToken(v string) *GetOfferingStatusInput {
7463	s.NextToken = &v
7464	return s
7465}
7466
7467// Returns the status result for a device offering.
7468// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetOfferingStatusResult
7469type GetOfferingStatusOutput struct {
7470	_ struct{} `type:"structure"`
7471
7472	// When specified, gets the offering status for the current period.
7473	Current map[string]*OfferingStatus `locationName:"current" type:"map"`
7474
7475	// When specified, gets the offering status for the next period.
7476	NextPeriod map[string]*OfferingStatus `locationName:"nextPeriod" type:"map"`
7477
7478	// An identifier that was returned from the previous call to this operation,
7479	// which can be used to return the next set of items in the list.
7480	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
7481}
7482
7483// String returns the string representation
7484func (s GetOfferingStatusOutput) String() string {
7485	return awsutil.Prettify(s)
7486}
7487
7488// GoString returns the string representation
7489func (s GetOfferingStatusOutput) GoString() string {
7490	return s.String()
7491}
7492
7493// SetCurrent sets the Current field's value.
7494func (s *GetOfferingStatusOutput) SetCurrent(v map[string]*OfferingStatus) *GetOfferingStatusOutput {
7495	s.Current = v
7496	return s
7497}
7498
7499// SetNextPeriod sets the NextPeriod field's value.
7500func (s *GetOfferingStatusOutput) SetNextPeriod(v map[string]*OfferingStatus) *GetOfferingStatusOutput {
7501	s.NextPeriod = v
7502	return s
7503}
7504
7505// SetNextToken sets the NextToken field's value.
7506func (s *GetOfferingStatusOutput) SetNextToken(v string) *GetOfferingStatusOutput {
7507	s.NextToken = &v
7508	return s
7509}
7510
7511// Represents a request to the get project operation.
7512// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetProjectRequest
7513type GetProjectInput struct {
7514	_ struct{} `type:"structure"`
7515
7516	// The project's ARN.
7517	//
7518	// Arn is a required field
7519	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
7520}
7521
7522// String returns the string representation
7523func (s GetProjectInput) String() string {
7524	return awsutil.Prettify(s)
7525}
7526
7527// GoString returns the string representation
7528func (s GetProjectInput) GoString() string {
7529	return s.String()
7530}
7531
7532// Validate inspects the fields of the type to determine if they are valid.
7533func (s *GetProjectInput) Validate() error {
7534	invalidParams := request.ErrInvalidParams{Context: "GetProjectInput"}
7535	if s.Arn == nil {
7536		invalidParams.Add(request.NewErrParamRequired("Arn"))
7537	}
7538	if s.Arn != nil && len(*s.Arn) < 32 {
7539		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
7540	}
7541
7542	if invalidParams.Len() > 0 {
7543		return invalidParams
7544	}
7545	return nil
7546}
7547
7548// SetArn sets the Arn field's value.
7549func (s *GetProjectInput) SetArn(v string) *GetProjectInput {
7550	s.Arn = &v
7551	return s
7552}
7553
7554// Represents the result of a get project request.
7555// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetProjectResult
7556type GetProjectOutput struct {
7557	_ struct{} `type:"structure"`
7558
7559	// The project you wish to get information about.
7560	Project *Project `locationName:"project" type:"structure"`
7561}
7562
7563// String returns the string representation
7564func (s GetProjectOutput) String() string {
7565	return awsutil.Prettify(s)
7566}
7567
7568// GoString returns the string representation
7569func (s GetProjectOutput) GoString() string {
7570	return s.String()
7571}
7572
7573// SetProject sets the Project field's value.
7574func (s *GetProjectOutput) SetProject(v *Project) *GetProjectOutput {
7575	s.Project = v
7576	return s
7577}
7578
7579// Represents the request to get information about the specified remote access
7580// session.
7581// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRemoteAccessSessionRequest
7582type GetRemoteAccessSessionInput struct {
7583	_ struct{} `type:"structure"`
7584
7585	// The Amazon Resource Name (ARN) of the remote access session about which you
7586	// want to get session information.
7587	//
7588	// Arn is a required field
7589	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
7590}
7591
7592// String returns the string representation
7593func (s GetRemoteAccessSessionInput) String() string {
7594	return awsutil.Prettify(s)
7595}
7596
7597// GoString returns the string representation
7598func (s GetRemoteAccessSessionInput) GoString() string {
7599	return s.String()
7600}
7601
7602// Validate inspects the fields of the type to determine if they are valid.
7603func (s *GetRemoteAccessSessionInput) Validate() error {
7604	invalidParams := request.ErrInvalidParams{Context: "GetRemoteAccessSessionInput"}
7605	if s.Arn == nil {
7606		invalidParams.Add(request.NewErrParamRequired("Arn"))
7607	}
7608	if s.Arn != nil && len(*s.Arn) < 32 {
7609		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
7610	}
7611
7612	if invalidParams.Len() > 0 {
7613		return invalidParams
7614	}
7615	return nil
7616}
7617
7618// SetArn sets the Arn field's value.
7619func (s *GetRemoteAccessSessionInput) SetArn(v string) *GetRemoteAccessSessionInput {
7620	s.Arn = &v
7621	return s
7622}
7623
7624// Represents the response from the server that lists detailed information about
7625// the remote access session.
7626// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRemoteAccessSessionResult
7627type GetRemoteAccessSessionOutput struct {
7628	_ struct{} `type:"structure"`
7629
7630	// A container that lists detailed information about the remote access session.
7631	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
7632}
7633
7634// String returns the string representation
7635func (s GetRemoteAccessSessionOutput) String() string {
7636	return awsutil.Prettify(s)
7637}
7638
7639// GoString returns the string representation
7640func (s GetRemoteAccessSessionOutput) GoString() string {
7641	return s.String()
7642}
7643
7644// SetRemoteAccessSession sets the RemoteAccessSession field's value.
7645func (s *GetRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *GetRemoteAccessSessionOutput {
7646	s.RemoteAccessSession = v
7647	return s
7648}
7649
7650// Represents a request to the get run operation.
7651// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRunRequest
7652type GetRunInput struct {
7653	_ struct{} `type:"structure"`
7654
7655	// The run's ARN.
7656	//
7657	// Arn is a required field
7658	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
7659}
7660
7661// String returns the string representation
7662func (s GetRunInput) String() string {
7663	return awsutil.Prettify(s)
7664}
7665
7666// GoString returns the string representation
7667func (s GetRunInput) GoString() string {
7668	return s.String()
7669}
7670
7671// Validate inspects the fields of the type to determine if they are valid.
7672func (s *GetRunInput) Validate() error {
7673	invalidParams := request.ErrInvalidParams{Context: "GetRunInput"}
7674	if s.Arn == nil {
7675		invalidParams.Add(request.NewErrParamRequired("Arn"))
7676	}
7677	if s.Arn != nil && len(*s.Arn) < 32 {
7678		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
7679	}
7680
7681	if invalidParams.Len() > 0 {
7682		return invalidParams
7683	}
7684	return nil
7685}
7686
7687// SetArn sets the Arn field's value.
7688func (s *GetRunInput) SetArn(v string) *GetRunInput {
7689	s.Arn = &v
7690	return s
7691}
7692
7693// Represents the result of a get run request.
7694// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRunResult
7695type GetRunOutput struct {
7696	_ struct{} `type:"structure"`
7697
7698	// The run you wish to get results from.
7699	Run *Run `locationName:"run" type:"structure"`
7700}
7701
7702// String returns the string representation
7703func (s GetRunOutput) String() string {
7704	return awsutil.Prettify(s)
7705}
7706
7707// GoString returns the string representation
7708func (s GetRunOutput) GoString() string {
7709	return s.String()
7710}
7711
7712// SetRun sets the Run field's value.
7713func (s *GetRunOutput) SetRun(v *Run) *GetRunOutput {
7714	s.Run = v
7715	return s
7716}
7717
7718// Represents a request to the get suite operation.
7719// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetSuiteRequest
7720type GetSuiteInput struct {
7721	_ struct{} `type:"structure"`
7722
7723	// The suite's ARN.
7724	//
7725	// Arn is a required field
7726	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
7727}
7728
7729// String returns the string representation
7730func (s GetSuiteInput) String() string {
7731	return awsutil.Prettify(s)
7732}
7733
7734// GoString returns the string representation
7735func (s GetSuiteInput) GoString() string {
7736	return s.String()
7737}
7738
7739// Validate inspects the fields of the type to determine if they are valid.
7740func (s *GetSuiteInput) Validate() error {
7741	invalidParams := request.ErrInvalidParams{Context: "GetSuiteInput"}
7742	if s.Arn == nil {
7743		invalidParams.Add(request.NewErrParamRequired("Arn"))
7744	}
7745	if s.Arn != nil && len(*s.Arn) < 32 {
7746		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
7747	}
7748
7749	if invalidParams.Len() > 0 {
7750		return invalidParams
7751	}
7752	return nil
7753}
7754
7755// SetArn sets the Arn field's value.
7756func (s *GetSuiteInput) SetArn(v string) *GetSuiteInput {
7757	s.Arn = &v
7758	return s
7759}
7760
7761// Represents the result of a get suite request.
7762// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetSuiteResult
7763type GetSuiteOutput struct {
7764	_ struct{} `type:"structure"`
7765
7766	// A collection of one or more tests.
7767	Suite *Suite `locationName:"suite" type:"structure"`
7768}
7769
7770// String returns the string representation
7771func (s GetSuiteOutput) String() string {
7772	return awsutil.Prettify(s)
7773}
7774
7775// GoString returns the string representation
7776func (s GetSuiteOutput) GoString() string {
7777	return s.String()
7778}
7779
7780// SetSuite sets the Suite field's value.
7781func (s *GetSuiteOutput) SetSuite(v *Suite) *GetSuiteOutput {
7782	s.Suite = v
7783	return s
7784}
7785
7786// Represents a request to the get test operation.
7787// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestRequest
7788type GetTestInput struct {
7789	_ struct{} `type:"structure"`
7790
7791	// The test's ARN.
7792	//
7793	// Arn is a required field
7794	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
7795}
7796
7797// String returns the string representation
7798func (s GetTestInput) String() string {
7799	return awsutil.Prettify(s)
7800}
7801
7802// GoString returns the string representation
7803func (s GetTestInput) GoString() string {
7804	return s.String()
7805}
7806
7807// Validate inspects the fields of the type to determine if they are valid.
7808func (s *GetTestInput) Validate() error {
7809	invalidParams := request.ErrInvalidParams{Context: "GetTestInput"}
7810	if s.Arn == nil {
7811		invalidParams.Add(request.NewErrParamRequired("Arn"))
7812	}
7813	if s.Arn != nil && len(*s.Arn) < 32 {
7814		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
7815	}
7816
7817	if invalidParams.Len() > 0 {
7818		return invalidParams
7819	}
7820	return nil
7821}
7822
7823// SetArn sets the Arn field's value.
7824func (s *GetTestInput) SetArn(v string) *GetTestInput {
7825	s.Arn = &v
7826	return s
7827}
7828
7829// Represents the result of a get test request.
7830// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestResult
7831type GetTestOutput struct {
7832	_ struct{} `type:"structure"`
7833
7834	// A test condition that is evaluated.
7835	Test *Test `locationName:"test" type:"structure"`
7836}
7837
7838// String returns the string representation
7839func (s GetTestOutput) String() string {
7840	return awsutil.Prettify(s)
7841}
7842
7843// GoString returns the string representation
7844func (s GetTestOutput) GoString() string {
7845	return s.String()
7846}
7847
7848// SetTest sets the Test field's value.
7849func (s *GetTestOutput) SetTest(v *Test) *GetTestOutput {
7850	s.Test = v
7851	return s
7852}
7853
7854// Represents a request to the get upload operation.
7855// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetUploadRequest
7856type GetUploadInput struct {
7857	_ struct{} `type:"structure"`
7858
7859	// The upload's ARN.
7860	//
7861	// Arn is a required field
7862	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
7863}
7864
7865// String returns the string representation
7866func (s GetUploadInput) String() string {
7867	return awsutil.Prettify(s)
7868}
7869
7870// GoString returns the string representation
7871func (s GetUploadInput) GoString() string {
7872	return s.String()
7873}
7874
7875// Validate inspects the fields of the type to determine if they are valid.
7876func (s *GetUploadInput) Validate() error {
7877	invalidParams := request.ErrInvalidParams{Context: "GetUploadInput"}
7878	if s.Arn == nil {
7879		invalidParams.Add(request.NewErrParamRequired("Arn"))
7880	}
7881	if s.Arn != nil && len(*s.Arn) < 32 {
7882		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
7883	}
7884
7885	if invalidParams.Len() > 0 {
7886		return invalidParams
7887	}
7888	return nil
7889}
7890
7891// SetArn sets the Arn field's value.
7892func (s *GetUploadInput) SetArn(v string) *GetUploadInput {
7893	s.Arn = &v
7894	return s
7895}
7896
7897// Represents the result of a get upload request.
7898// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetUploadResult
7899type GetUploadOutput struct {
7900	_ struct{} `type:"structure"`
7901
7902	// An app or a set of one or more tests to upload or that have been uploaded.
7903	Upload *Upload `locationName:"upload" type:"structure"`
7904}
7905
7906// String returns the string representation
7907func (s GetUploadOutput) String() string {
7908	return awsutil.Prettify(s)
7909}
7910
7911// GoString returns the string representation
7912func (s GetUploadOutput) GoString() string {
7913	return s.String()
7914}
7915
7916// SetUpload sets the Upload field's value.
7917func (s *GetUploadOutput) SetUpload(v *Upload) *GetUploadOutput {
7918	s.Upload = v
7919	return s
7920}
7921
7922// Represents information about incompatibility.
7923// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/IncompatibilityMessage
7924type IncompatibilityMessage struct {
7925	_ struct{} `type:"structure"`
7926
7927	// A message about the incompatibility.
7928	Message *string `locationName:"message" type:"string"`
7929
7930	// The type of incompatibility.
7931	//
7932	// Allowed values include:
7933	//
7934	//    * ARN: The ARN.
7935	//
7936	//    * FORM_FACTOR: The form factor (for example, phone or tablet).
7937	//
7938	//    * MANUFACTURER: The manufacturer.
7939	//
7940	//    * PLATFORM: The platform (for example, Android or iOS).
7941	//
7942	//    * REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.
7943	//
7944	//    * APPIUM_VERSION: The Appium version for the test.
7945	Type *string `locationName:"type" type:"string" enum:"DeviceAttribute"`
7946}
7947
7948// String returns the string representation
7949func (s IncompatibilityMessage) String() string {
7950	return awsutil.Prettify(s)
7951}
7952
7953// GoString returns the string representation
7954func (s IncompatibilityMessage) GoString() string {
7955	return s.String()
7956}
7957
7958// SetMessage sets the Message field's value.
7959func (s *IncompatibilityMessage) SetMessage(v string) *IncompatibilityMessage {
7960	s.Message = &v
7961	return s
7962}
7963
7964// SetType sets the Type field's value.
7965func (s *IncompatibilityMessage) SetType(v string) *IncompatibilityMessage {
7966	s.Type = &v
7967	return s
7968}
7969
7970// Represents the request to install an Android application (in .apk format)
7971// or an iOS application (in .ipa format) as part of a remote access session.
7972// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/InstallToRemoteAccessSessionRequest
7973type InstallToRemoteAccessSessionInput struct {
7974	_ struct{} `type:"structure"`
7975
7976	// The Amazon Resource Name (ARN) of the app about which you are requesting
7977	// information.
7978	//
7979	// AppArn is a required field
7980	AppArn *string `locationName:"appArn" min:"32" type:"string" required:"true"`
7981
7982	// The Amazon Resource Name (ARN) of the remote access session about which you
7983	// are requesting information.
7984	//
7985	// RemoteAccessSessionArn is a required field
7986	RemoteAccessSessionArn *string `locationName:"remoteAccessSessionArn" min:"32" type:"string" required:"true"`
7987}
7988
7989// String returns the string representation
7990func (s InstallToRemoteAccessSessionInput) String() string {
7991	return awsutil.Prettify(s)
7992}
7993
7994// GoString returns the string representation
7995func (s InstallToRemoteAccessSessionInput) GoString() string {
7996	return s.String()
7997}
7998
7999// Validate inspects the fields of the type to determine if they are valid.
8000func (s *InstallToRemoteAccessSessionInput) Validate() error {
8001	invalidParams := request.ErrInvalidParams{Context: "InstallToRemoteAccessSessionInput"}
8002	if s.AppArn == nil {
8003		invalidParams.Add(request.NewErrParamRequired("AppArn"))
8004	}
8005	if s.AppArn != nil && len(*s.AppArn) < 32 {
8006		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
8007	}
8008	if s.RemoteAccessSessionArn == nil {
8009		invalidParams.Add(request.NewErrParamRequired("RemoteAccessSessionArn"))
8010	}
8011	if s.RemoteAccessSessionArn != nil && len(*s.RemoteAccessSessionArn) < 32 {
8012		invalidParams.Add(request.NewErrParamMinLen("RemoteAccessSessionArn", 32))
8013	}
8014
8015	if invalidParams.Len() > 0 {
8016		return invalidParams
8017	}
8018	return nil
8019}
8020
8021// SetAppArn sets the AppArn field's value.
8022func (s *InstallToRemoteAccessSessionInput) SetAppArn(v string) *InstallToRemoteAccessSessionInput {
8023	s.AppArn = &v
8024	return s
8025}
8026
8027// SetRemoteAccessSessionArn sets the RemoteAccessSessionArn field's value.
8028func (s *InstallToRemoteAccessSessionInput) SetRemoteAccessSessionArn(v string) *InstallToRemoteAccessSessionInput {
8029	s.RemoteAccessSessionArn = &v
8030	return s
8031}
8032
8033// Represents the response from the server after AWS Device Farm makes a request
8034// to install to a remote access session.
8035// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/InstallToRemoteAccessSessionResult
8036type InstallToRemoteAccessSessionOutput struct {
8037	_ struct{} `type:"structure"`
8038
8039	// An app to upload or that has been uploaded.
8040	AppUpload *Upload `locationName:"appUpload" type:"structure"`
8041}
8042
8043// String returns the string representation
8044func (s InstallToRemoteAccessSessionOutput) String() string {
8045	return awsutil.Prettify(s)
8046}
8047
8048// GoString returns the string representation
8049func (s InstallToRemoteAccessSessionOutput) GoString() string {
8050	return s.String()
8051}
8052
8053// SetAppUpload sets the AppUpload field's value.
8054func (s *InstallToRemoteAccessSessionOutput) SetAppUpload(v *Upload) *InstallToRemoteAccessSessionOutput {
8055	s.AppUpload = v
8056	return s
8057}
8058
8059// Represents a device.
8060// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Job
8061type Job struct {
8062	_ struct{} `type:"structure"`
8063
8064	// The job's ARN.
8065	Arn *string `locationName:"arn" min:"32" type:"string"`
8066
8067	// The job's result counters.
8068	Counters *Counters `locationName:"counters" type:"structure"`
8069
8070	// When the job was created.
8071	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"unix"`
8072
8073	// The device (phone or tablet).
8074	Device *Device `locationName:"device" type:"structure"`
8075
8076	// Represents the total (metered or unmetered) minutes used by the job.
8077	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
8078
8079	// A message about the job's result.
8080	Message *string `locationName:"message" type:"string"`
8081
8082	// The job's name.
8083	Name *string `locationName:"name" type:"string"`
8084
8085	// The job's result.
8086	//
8087	// Allowed values include:
8088	//
8089	//    * PENDING: A pending condition.
8090	//
8091	//    * PASSED: A passing condition.
8092	//
8093	//    * WARNED: A warning condition.
8094	//
8095	//    * FAILED: A failed condition.
8096	//
8097	//    * SKIPPED: A skipped condition.
8098	//
8099	//    * ERRORED: An error condition.
8100	//
8101	//    * STOPPED: A stopped condition.
8102	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
8103
8104	// The job's start time.
8105	Started *time.Time `locationName:"started" type:"timestamp" timestampFormat:"unix"`
8106
8107	// The job's status.
8108	//
8109	// Allowed values include:
8110	//
8111	//    * PENDING: A pending status.
8112	//
8113	//    * PENDING_CONCURRENCY: A pending concurrency status.
8114	//
8115	//    * PENDING_DEVICE: A pending device status.
8116	//
8117	//    * PROCESSING: A processing status.
8118	//
8119	//    * SCHEDULING: A scheduling status.
8120	//
8121	//    * PREPARING: A preparing status.
8122	//
8123	//    * RUNNING: A running status.
8124	//
8125	//    * COMPLETED: A completed status.
8126	//
8127	//    * STOPPING: A stopping status.
8128	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
8129
8130	// The job's stop time.
8131	Stopped *time.Time `locationName:"stopped" type:"timestamp" timestampFormat:"unix"`
8132
8133	// The job's type.
8134	//
8135	// Allowed values include the following:
8136	//
8137	//    * BUILTIN_FUZZ: The built-in fuzz type.
8138	//
8139	//    * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an
8140	//    Android app, interacting with it and capturing screenshots at the same
8141	//    time.
8142	//
8143	//    * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
8144	//
8145	//    * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
8146	//
8147	//    * APPIUM_PYTHON: The Appium Python type.
8148	//
8149	//    * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
8150	//
8151	//    * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
8152	//
8153	//    * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
8154	//
8155	//    * CALABASH: The Calabash type.
8156	//
8157	//    * INSTRUMENTATION: The Instrumentation type.
8158	//
8159	//    * UIAUTOMATION: The uiautomation type.
8160	//
8161	//    * UIAUTOMATOR: The uiautomator type.
8162	//
8163	//    * XCTEST: The XCode test type.
8164	//
8165	//    * XCTEST_UI: The XCode UI test type.
8166	Type *string `locationName:"type" type:"string" enum:"TestType"`
8167}
8168
8169// String returns the string representation
8170func (s Job) String() string {
8171	return awsutil.Prettify(s)
8172}
8173
8174// GoString returns the string representation
8175func (s Job) GoString() string {
8176	return s.String()
8177}
8178
8179// SetArn sets the Arn field's value.
8180func (s *Job) SetArn(v string) *Job {
8181	s.Arn = &v
8182	return s
8183}
8184
8185// SetCounters sets the Counters field's value.
8186func (s *Job) SetCounters(v *Counters) *Job {
8187	s.Counters = v
8188	return s
8189}
8190
8191// SetCreated sets the Created field's value.
8192func (s *Job) SetCreated(v time.Time) *Job {
8193	s.Created = &v
8194	return s
8195}
8196
8197// SetDevice sets the Device field's value.
8198func (s *Job) SetDevice(v *Device) *Job {
8199	s.Device = v
8200	return s
8201}
8202
8203// SetDeviceMinutes sets the DeviceMinutes field's value.
8204func (s *Job) SetDeviceMinutes(v *DeviceMinutes) *Job {
8205	s.DeviceMinutes = v
8206	return s
8207}
8208
8209// SetMessage sets the Message field's value.
8210func (s *Job) SetMessage(v string) *Job {
8211	s.Message = &v
8212	return s
8213}
8214
8215// SetName sets the Name field's value.
8216func (s *Job) SetName(v string) *Job {
8217	s.Name = &v
8218	return s
8219}
8220
8221// SetResult sets the Result field's value.
8222func (s *Job) SetResult(v string) *Job {
8223	s.Result = &v
8224	return s
8225}
8226
8227// SetStarted sets the Started field's value.
8228func (s *Job) SetStarted(v time.Time) *Job {
8229	s.Started = &v
8230	return s
8231}
8232
8233// SetStatus sets the Status field's value.
8234func (s *Job) SetStatus(v string) *Job {
8235	s.Status = &v
8236	return s
8237}
8238
8239// SetStopped sets the Stopped field's value.
8240func (s *Job) SetStopped(v time.Time) *Job {
8241	s.Stopped = &v
8242	return s
8243}
8244
8245// SetType sets the Type field's value.
8246func (s *Job) SetType(v string) *Job {
8247	s.Type = &v
8248	return s
8249}
8250
8251// Represents a request to the list artifacts operation.
8252// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListArtifactsRequest
8253type ListArtifactsInput struct {
8254	_ struct{} `type:"structure"`
8255
8256	// The Run, Job, Suite, or Test ARN.
8257	//
8258	// Arn is a required field
8259	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
8260
8261	// An identifier that was returned from the previous call to this operation,
8262	// which can be used to return the next set of items in the list.
8263	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8264
8265	// The artifacts' type.
8266	//
8267	// Allowed values include:
8268	//
8269	//    * FILE: The artifacts are files.
8270	//
8271	//    * LOG: The artifacts are logs.
8272	//
8273	//    * SCREENSHOT: The artifacts are screenshots.
8274	//
8275	// Type is a required field
8276	Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactCategory"`
8277}
8278
8279// String returns the string representation
8280func (s ListArtifactsInput) String() string {
8281	return awsutil.Prettify(s)
8282}
8283
8284// GoString returns the string representation
8285func (s ListArtifactsInput) GoString() string {
8286	return s.String()
8287}
8288
8289// Validate inspects the fields of the type to determine if they are valid.
8290func (s *ListArtifactsInput) Validate() error {
8291	invalidParams := request.ErrInvalidParams{Context: "ListArtifactsInput"}
8292	if s.Arn == nil {
8293		invalidParams.Add(request.NewErrParamRequired("Arn"))
8294	}
8295	if s.Arn != nil && len(*s.Arn) < 32 {
8296		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
8297	}
8298	if s.NextToken != nil && len(*s.NextToken) < 4 {
8299		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
8300	}
8301	if s.Type == nil {
8302		invalidParams.Add(request.NewErrParamRequired("Type"))
8303	}
8304
8305	if invalidParams.Len() > 0 {
8306		return invalidParams
8307	}
8308	return nil
8309}
8310
8311// SetArn sets the Arn field's value.
8312func (s *ListArtifactsInput) SetArn(v string) *ListArtifactsInput {
8313	s.Arn = &v
8314	return s
8315}
8316
8317// SetNextToken sets the NextToken field's value.
8318func (s *ListArtifactsInput) SetNextToken(v string) *ListArtifactsInput {
8319	s.NextToken = &v
8320	return s
8321}
8322
8323// SetType sets the Type field's value.
8324func (s *ListArtifactsInput) SetType(v string) *ListArtifactsInput {
8325	s.Type = &v
8326	return s
8327}
8328
8329// Represents the result of a list artifacts operation.
8330// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListArtifactsResult
8331type ListArtifactsOutput struct {
8332	_ struct{} `type:"structure"`
8333
8334	// Information about the artifacts.
8335	Artifacts []*Artifact `locationName:"artifacts" type:"list"`
8336
8337	// If the number of items that are returned is significantly large, this is
8338	// an identifier that is also returned, which can be used in a subsequent call
8339	// to this operation to return the next set of items in the list.
8340	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8341}
8342
8343// String returns the string representation
8344func (s ListArtifactsOutput) String() string {
8345	return awsutil.Prettify(s)
8346}
8347
8348// GoString returns the string representation
8349func (s ListArtifactsOutput) GoString() string {
8350	return s.String()
8351}
8352
8353// SetArtifacts sets the Artifacts field's value.
8354func (s *ListArtifactsOutput) SetArtifacts(v []*Artifact) *ListArtifactsOutput {
8355	s.Artifacts = v
8356	return s
8357}
8358
8359// SetNextToken sets the NextToken field's value.
8360func (s *ListArtifactsOutput) SetNextToken(v string) *ListArtifactsOutput {
8361	s.NextToken = &v
8362	return s
8363}
8364
8365// Represents the result of a list device pools request.
8366// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicePoolsRequest
8367type ListDevicePoolsInput struct {
8368	_ struct{} `type:"structure"`
8369
8370	// The project ARN.
8371	//
8372	// Arn is a required field
8373	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
8374
8375	// An identifier that was returned from the previous call to this operation,
8376	// which can be used to return the next set of items in the list.
8377	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8378
8379	// The device pools' type.
8380	//
8381	// Allowed values include:
8382	//
8383	//    * CURATED: A device pool that is created and managed by AWS Device Farm.
8384	//
8385	//    * PRIVATE: A device pool that is created and managed by the device pool
8386	//    developer.
8387	Type *string `locationName:"type" type:"string" enum:"DevicePoolType"`
8388}
8389
8390// String returns the string representation
8391func (s ListDevicePoolsInput) String() string {
8392	return awsutil.Prettify(s)
8393}
8394
8395// GoString returns the string representation
8396func (s ListDevicePoolsInput) GoString() string {
8397	return s.String()
8398}
8399
8400// Validate inspects the fields of the type to determine if they are valid.
8401func (s *ListDevicePoolsInput) Validate() error {
8402	invalidParams := request.ErrInvalidParams{Context: "ListDevicePoolsInput"}
8403	if s.Arn == nil {
8404		invalidParams.Add(request.NewErrParamRequired("Arn"))
8405	}
8406	if s.Arn != nil && len(*s.Arn) < 32 {
8407		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
8408	}
8409	if s.NextToken != nil && len(*s.NextToken) < 4 {
8410		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
8411	}
8412
8413	if invalidParams.Len() > 0 {
8414		return invalidParams
8415	}
8416	return nil
8417}
8418
8419// SetArn sets the Arn field's value.
8420func (s *ListDevicePoolsInput) SetArn(v string) *ListDevicePoolsInput {
8421	s.Arn = &v
8422	return s
8423}
8424
8425// SetNextToken sets the NextToken field's value.
8426func (s *ListDevicePoolsInput) SetNextToken(v string) *ListDevicePoolsInput {
8427	s.NextToken = &v
8428	return s
8429}
8430
8431// SetType sets the Type field's value.
8432func (s *ListDevicePoolsInput) SetType(v string) *ListDevicePoolsInput {
8433	s.Type = &v
8434	return s
8435}
8436
8437// Represents the result of a list device pools request.
8438// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicePoolsResult
8439type ListDevicePoolsOutput struct {
8440	_ struct{} `type:"structure"`
8441
8442	// Information about the device pools.
8443	DevicePools []*DevicePool `locationName:"devicePools" type:"list"`
8444
8445	// If the number of items that are returned is significantly large, this is
8446	// an identifier that is also returned, which can be used in a subsequent call
8447	// to this operation to return the next set of items in the list.
8448	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8449}
8450
8451// String returns the string representation
8452func (s ListDevicePoolsOutput) String() string {
8453	return awsutil.Prettify(s)
8454}
8455
8456// GoString returns the string representation
8457func (s ListDevicePoolsOutput) GoString() string {
8458	return s.String()
8459}
8460
8461// SetDevicePools sets the DevicePools field's value.
8462func (s *ListDevicePoolsOutput) SetDevicePools(v []*DevicePool) *ListDevicePoolsOutput {
8463	s.DevicePools = v
8464	return s
8465}
8466
8467// SetNextToken sets the NextToken field's value.
8468func (s *ListDevicePoolsOutput) SetNextToken(v string) *ListDevicePoolsOutput {
8469	s.NextToken = &v
8470	return s
8471}
8472
8473// Represents the result of a list devices request.
8474// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicesRequest
8475type ListDevicesInput struct {
8476	_ struct{} `type:"structure"`
8477
8478	// The Amazon Resource Name (ARN) of the project.
8479	Arn *string `locationName:"arn" min:"32" type:"string"`
8480
8481	// An identifier that was returned from the previous call to this operation,
8482	// which can be used to return the next set of items in the list.
8483	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8484}
8485
8486// String returns the string representation
8487func (s ListDevicesInput) String() string {
8488	return awsutil.Prettify(s)
8489}
8490
8491// GoString returns the string representation
8492func (s ListDevicesInput) GoString() string {
8493	return s.String()
8494}
8495
8496// Validate inspects the fields of the type to determine if they are valid.
8497func (s *ListDevicesInput) Validate() error {
8498	invalidParams := request.ErrInvalidParams{Context: "ListDevicesInput"}
8499	if s.Arn != nil && len(*s.Arn) < 32 {
8500		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
8501	}
8502	if s.NextToken != nil && len(*s.NextToken) < 4 {
8503		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
8504	}
8505
8506	if invalidParams.Len() > 0 {
8507		return invalidParams
8508	}
8509	return nil
8510}
8511
8512// SetArn sets the Arn field's value.
8513func (s *ListDevicesInput) SetArn(v string) *ListDevicesInput {
8514	s.Arn = &v
8515	return s
8516}
8517
8518// SetNextToken sets the NextToken field's value.
8519func (s *ListDevicesInput) SetNextToken(v string) *ListDevicesInput {
8520	s.NextToken = &v
8521	return s
8522}
8523
8524// Represents the result of a list devices operation.
8525// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicesResult
8526type ListDevicesOutput struct {
8527	_ struct{} `type:"structure"`
8528
8529	// Information about the devices.
8530	Devices []*Device `locationName:"devices" type:"list"`
8531
8532	// If the number of items that are returned is significantly large, this is
8533	// an identifier that is also returned, which can be used in a subsequent call
8534	// to this operation to return the next set of items in the list.
8535	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8536}
8537
8538// String returns the string representation
8539func (s ListDevicesOutput) String() string {
8540	return awsutil.Prettify(s)
8541}
8542
8543// GoString returns the string representation
8544func (s ListDevicesOutput) GoString() string {
8545	return s.String()
8546}
8547
8548// SetDevices sets the Devices field's value.
8549func (s *ListDevicesOutput) SetDevices(v []*Device) *ListDevicesOutput {
8550	s.Devices = v
8551	return s
8552}
8553
8554// SetNextToken sets the NextToken field's value.
8555func (s *ListDevicesOutput) SetNextToken(v string) *ListDevicesOutput {
8556	s.NextToken = &v
8557	return s
8558}
8559
8560// Represents a request to the list jobs operation.
8561// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListJobsRequest
8562type ListJobsInput struct {
8563	_ struct{} `type:"structure"`
8564
8565	// The jobs' ARNs.
8566	//
8567	// Arn is a required field
8568	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
8569
8570	// An identifier that was returned from the previous call to this operation,
8571	// which can be used to return the next set of items in the list.
8572	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8573}
8574
8575// String returns the string representation
8576func (s ListJobsInput) String() string {
8577	return awsutil.Prettify(s)
8578}
8579
8580// GoString returns the string representation
8581func (s ListJobsInput) GoString() string {
8582	return s.String()
8583}
8584
8585// Validate inspects the fields of the type to determine if they are valid.
8586func (s *ListJobsInput) Validate() error {
8587	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
8588	if s.Arn == nil {
8589		invalidParams.Add(request.NewErrParamRequired("Arn"))
8590	}
8591	if s.Arn != nil && len(*s.Arn) < 32 {
8592		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
8593	}
8594	if s.NextToken != nil && len(*s.NextToken) < 4 {
8595		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
8596	}
8597
8598	if invalidParams.Len() > 0 {
8599		return invalidParams
8600	}
8601	return nil
8602}
8603
8604// SetArn sets the Arn field's value.
8605func (s *ListJobsInput) SetArn(v string) *ListJobsInput {
8606	s.Arn = &v
8607	return s
8608}
8609
8610// SetNextToken sets the NextToken field's value.
8611func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
8612	s.NextToken = &v
8613	return s
8614}
8615
8616// Represents the result of a list jobs request.
8617// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListJobsResult
8618type ListJobsOutput struct {
8619	_ struct{} `type:"structure"`
8620
8621	// Information about the jobs.
8622	Jobs []*Job `locationName:"jobs" type:"list"`
8623
8624	// If the number of items that are returned is significantly large, this is
8625	// an identifier that is also returned, which can be used in a subsequent call
8626	// to this operation to return the next set of items in the list.
8627	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8628}
8629
8630// String returns the string representation
8631func (s ListJobsOutput) String() string {
8632	return awsutil.Prettify(s)
8633}
8634
8635// GoString returns the string representation
8636func (s ListJobsOutput) GoString() string {
8637	return s.String()
8638}
8639
8640// SetJobs sets the Jobs field's value.
8641func (s *ListJobsOutput) SetJobs(v []*Job) *ListJobsOutput {
8642	s.Jobs = v
8643	return s
8644}
8645
8646// SetNextToken sets the NextToken field's value.
8647func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
8648	s.NextToken = &v
8649	return s
8650}
8651
8652// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListNetworkProfilesRequest
8653type ListNetworkProfilesInput struct {
8654	_ struct{} `type:"structure"`
8655
8656	// The Amazon Resource Name (ARN) of the project for which you want to list
8657	// network profiles.
8658	//
8659	// Arn is a required field
8660	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
8661
8662	// An identifier that was returned from the previous call to this operation,
8663	// which can be used to return the next set of items in the list.
8664	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8665
8666	// The type of network profile you wish to return information about. Valid values
8667	// are listed below.
8668	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
8669}
8670
8671// String returns the string representation
8672func (s ListNetworkProfilesInput) String() string {
8673	return awsutil.Prettify(s)
8674}
8675
8676// GoString returns the string representation
8677func (s ListNetworkProfilesInput) GoString() string {
8678	return s.String()
8679}
8680
8681// Validate inspects the fields of the type to determine if they are valid.
8682func (s *ListNetworkProfilesInput) Validate() error {
8683	invalidParams := request.ErrInvalidParams{Context: "ListNetworkProfilesInput"}
8684	if s.Arn == nil {
8685		invalidParams.Add(request.NewErrParamRequired("Arn"))
8686	}
8687	if s.Arn != nil && len(*s.Arn) < 32 {
8688		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
8689	}
8690	if s.NextToken != nil && len(*s.NextToken) < 4 {
8691		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
8692	}
8693
8694	if invalidParams.Len() > 0 {
8695		return invalidParams
8696	}
8697	return nil
8698}
8699
8700// SetArn sets the Arn field's value.
8701func (s *ListNetworkProfilesInput) SetArn(v string) *ListNetworkProfilesInput {
8702	s.Arn = &v
8703	return s
8704}
8705
8706// SetNextToken sets the NextToken field's value.
8707func (s *ListNetworkProfilesInput) SetNextToken(v string) *ListNetworkProfilesInput {
8708	s.NextToken = &v
8709	return s
8710}
8711
8712// SetType sets the Type field's value.
8713func (s *ListNetworkProfilesInput) SetType(v string) *ListNetworkProfilesInput {
8714	s.Type = &v
8715	return s
8716}
8717
8718// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListNetworkProfilesResult
8719type ListNetworkProfilesOutput struct {
8720	_ struct{} `type:"structure"`
8721
8722	// A list of the available network profiles.
8723	NetworkProfiles []*NetworkProfile `locationName:"networkProfiles" type:"list"`
8724
8725	// An identifier that was returned from the previous call to this operation,
8726	// which can be used to return the next set of items in the list.
8727	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8728}
8729
8730// String returns the string representation
8731func (s ListNetworkProfilesOutput) String() string {
8732	return awsutil.Prettify(s)
8733}
8734
8735// GoString returns the string representation
8736func (s ListNetworkProfilesOutput) GoString() string {
8737	return s.String()
8738}
8739
8740// SetNetworkProfiles sets the NetworkProfiles field's value.
8741func (s *ListNetworkProfilesOutput) SetNetworkProfiles(v []*NetworkProfile) *ListNetworkProfilesOutput {
8742	s.NetworkProfiles = v
8743	return s
8744}
8745
8746// SetNextToken sets the NextToken field's value.
8747func (s *ListNetworkProfilesOutput) SetNextToken(v string) *ListNetworkProfilesOutput {
8748	s.NextToken = &v
8749	return s
8750}
8751
8752// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingPromotionsRequest
8753type ListOfferingPromotionsInput struct {
8754	_ struct{} `type:"structure"`
8755
8756	// An identifier that was returned from the previous call to this operation,
8757	// which can be used to return the next set of items in the list.
8758	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8759}
8760
8761// String returns the string representation
8762func (s ListOfferingPromotionsInput) String() string {
8763	return awsutil.Prettify(s)
8764}
8765
8766// GoString returns the string representation
8767func (s ListOfferingPromotionsInput) GoString() string {
8768	return s.String()
8769}
8770
8771// Validate inspects the fields of the type to determine if they are valid.
8772func (s *ListOfferingPromotionsInput) Validate() error {
8773	invalidParams := request.ErrInvalidParams{Context: "ListOfferingPromotionsInput"}
8774	if s.NextToken != nil && len(*s.NextToken) < 4 {
8775		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
8776	}
8777
8778	if invalidParams.Len() > 0 {
8779		return invalidParams
8780	}
8781	return nil
8782}
8783
8784// SetNextToken sets the NextToken field's value.
8785func (s *ListOfferingPromotionsInput) SetNextToken(v string) *ListOfferingPromotionsInput {
8786	s.NextToken = &v
8787	return s
8788}
8789
8790// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingPromotionsResult
8791type ListOfferingPromotionsOutput struct {
8792	_ struct{} `type:"structure"`
8793
8794	// An identifier to be used in the next call to this operation, to return the
8795	// next set of items in the list.
8796	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8797
8798	// Information about the offering promotions.
8799	OfferingPromotions []*OfferingPromotion `locationName:"offeringPromotions" type:"list"`
8800}
8801
8802// String returns the string representation
8803func (s ListOfferingPromotionsOutput) String() string {
8804	return awsutil.Prettify(s)
8805}
8806
8807// GoString returns the string representation
8808func (s ListOfferingPromotionsOutput) GoString() string {
8809	return s.String()
8810}
8811
8812// SetNextToken sets the NextToken field's value.
8813func (s *ListOfferingPromotionsOutput) SetNextToken(v string) *ListOfferingPromotionsOutput {
8814	s.NextToken = &v
8815	return s
8816}
8817
8818// SetOfferingPromotions sets the OfferingPromotions field's value.
8819func (s *ListOfferingPromotionsOutput) SetOfferingPromotions(v []*OfferingPromotion) *ListOfferingPromotionsOutput {
8820	s.OfferingPromotions = v
8821	return s
8822}
8823
8824// Represents the request to list the offering transaction history.
8825// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingTransactionsRequest
8826type ListOfferingTransactionsInput struct {
8827	_ struct{} `type:"structure"`
8828
8829	// An identifier that was returned from the previous call to this operation,
8830	// which can be used to return the next set of items in the list.
8831	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8832}
8833
8834// String returns the string representation
8835func (s ListOfferingTransactionsInput) String() string {
8836	return awsutil.Prettify(s)
8837}
8838
8839// GoString returns the string representation
8840func (s ListOfferingTransactionsInput) GoString() string {
8841	return s.String()
8842}
8843
8844// Validate inspects the fields of the type to determine if they are valid.
8845func (s *ListOfferingTransactionsInput) Validate() error {
8846	invalidParams := request.ErrInvalidParams{Context: "ListOfferingTransactionsInput"}
8847	if s.NextToken != nil && len(*s.NextToken) < 4 {
8848		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
8849	}
8850
8851	if invalidParams.Len() > 0 {
8852		return invalidParams
8853	}
8854	return nil
8855}
8856
8857// SetNextToken sets the NextToken field's value.
8858func (s *ListOfferingTransactionsInput) SetNextToken(v string) *ListOfferingTransactionsInput {
8859	s.NextToken = &v
8860	return s
8861}
8862
8863// Returns the transaction log of the specified offerings.
8864// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingTransactionsResult
8865type ListOfferingTransactionsOutput struct {
8866	_ struct{} `type:"structure"`
8867
8868	// An identifier that was returned from the previous call to this operation,
8869	// which can be used to return the next set of items in the list.
8870	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8871
8872	// The audit log of subscriptions you have purchased and modified through AWS
8873	// Device Farm.
8874	OfferingTransactions []*OfferingTransaction `locationName:"offeringTransactions" type:"list"`
8875}
8876
8877// String returns the string representation
8878func (s ListOfferingTransactionsOutput) String() string {
8879	return awsutil.Prettify(s)
8880}
8881
8882// GoString returns the string representation
8883func (s ListOfferingTransactionsOutput) GoString() string {
8884	return s.String()
8885}
8886
8887// SetNextToken sets the NextToken field's value.
8888func (s *ListOfferingTransactionsOutput) SetNextToken(v string) *ListOfferingTransactionsOutput {
8889	s.NextToken = &v
8890	return s
8891}
8892
8893// SetOfferingTransactions sets the OfferingTransactions field's value.
8894func (s *ListOfferingTransactionsOutput) SetOfferingTransactions(v []*OfferingTransaction) *ListOfferingTransactionsOutput {
8895	s.OfferingTransactions = v
8896	return s
8897}
8898
8899// Represents the request to list all offerings.
8900// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingsRequest
8901type ListOfferingsInput struct {
8902	_ struct{} `type:"structure"`
8903
8904	// An identifier that was returned from the previous call to this operation,
8905	// which can be used to return the next set of items in the list.
8906	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8907}
8908
8909// String returns the string representation
8910func (s ListOfferingsInput) String() string {
8911	return awsutil.Prettify(s)
8912}
8913
8914// GoString returns the string representation
8915func (s ListOfferingsInput) GoString() string {
8916	return s.String()
8917}
8918
8919// Validate inspects the fields of the type to determine if they are valid.
8920func (s *ListOfferingsInput) Validate() error {
8921	invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"}
8922	if s.NextToken != nil && len(*s.NextToken) < 4 {
8923		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
8924	}
8925
8926	if invalidParams.Len() > 0 {
8927		return invalidParams
8928	}
8929	return nil
8930}
8931
8932// SetNextToken sets the NextToken field's value.
8933func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput {
8934	s.NextToken = &v
8935	return s
8936}
8937
8938// Represents the return values of the list of offerings.
8939// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingsResult
8940type ListOfferingsOutput struct {
8941	_ struct{} `type:"structure"`
8942
8943	// An identifier that was returned from the previous call to this operation,
8944	// which can be used to return the next set of items in the list.
8945	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8946
8947	// A value representing the list offering results.
8948	Offerings []*Offering `locationName:"offerings" type:"list"`
8949}
8950
8951// String returns the string representation
8952func (s ListOfferingsOutput) String() string {
8953	return awsutil.Prettify(s)
8954}
8955
8956// GoString returns the string representation
8957func (s ListOfferingsOutput) GoString() string {
8958	return s.String()
8959}
8960
8961// SetNextToken sets the NextToken field's value.
8962func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput {
8963	s.NextToken = &v
8964	return s
8965}
8966
8967// SetOfferings sets the Offerings field's value.
8968func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput {
8969	s.Offerings = v
8970	return s
8971}
8972
8973// Represents a request to the list projects operation.
8974// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListProjectsRequest
8975type ListProjectsInput struct {
8976	_ struct{} `type:"structure"`
8977
8978	// Optional. If no Amazon Resource Name (ARN) is specified, then AWS Device
8979	// Farm returns a list of all projects for the AWS account. You can also specify
8980	// a project ARN.
8981	Arn *string `locationName:"arn" min:"32" type:"string"`
8982
8983	// An identifier that was returned from the previous call to this operation,
8984	// which can be used to return the next set of items in the list.
8985	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
8986}
8987
8988// String returns the string representation
8989func (s ListProjectsInput) String() string {
8990	return awsutil.Prettify(s)
8991}
8992
8993// GoString returns the string representation
8994func (s ListProjectsInput) GoString() string {
8995	return s.String()
8996}
8997
8998// Validate inspects the fields of the type to determine if they are valid.
8999func (s *ListProjectsInput) Validate() error {
9000	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
9001	if s.Arn != nil && len(*s.Arn) < 32 {
9002		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9003	}
9004	if s.NextToken != nil && len(*s.NextToken) < 4 {
9005		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
9006	}
9007
9008	if invalidParams.Len() > 0 {
9009		return invalidParams
9010	}
9011	return nil
9012}
9013
9014// SetArn sets the Arn field's value.
9015func (s *ListProjectsInput) SetArn(v string) *ListProjectsInput {
9016	s.Arn = &v
9017	return s
9018}
9019
9020// SetNextToken sets the NextToken field's value.
9021func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
9022	s.NextToken = &v
9023	return s
9024}
9025
9026// Represents the result of a list projects request.
9027// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListProjectsResult
9028type ListProjectsOutput struct {
9029	_ struct{} `type:"structure"`
9030
9031	// If the number of items that are returned is significantly large, this is
9032	// an identifier that is also returned, which can be used in a subsequent call
9033	// to this operation to return the next set of items in the list.
9034	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9035
9036	// Information about the projects.
9037	Projects []*Project `locationName:"projects" type:"list"`
9038}
9039
9040// String returns the string representation
9041func (s ListProjectsOutput) String() string {
9042	return awsutil.Prettify(s)
9043}
9044
9045// GoString returns the string representation
9046func (s ListProjectsOutput) GoString() string {
9047	return s.String()
9048}
9049
9050// SetNextToken sets the NextToken field's value.
9051func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
9052	s.NextToken = &v
9053	return s
9054}
9055
9056// SetProjects sets the Projects field's value.
9057func (s *ListProjectsOutput) SetProjects(v []*Project) *ListProjectsOutput {
9058	s.Projects = v
9059	return s
9060}
9061
9062// Represents the request to return information about the remote access session.
9063// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRemoteAccessSessionsRequest
9064type ListRemoteAccessSessionsInput struct {
9065	_ struct{} `type:"structure"`
9066
9067	// The Amazon Resource Name (ARN) of the remote access session about which you
9068	// are requesting information.
9069	//
9070	// Arn is a required field
9071	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9072
9073	// An identifier that was returned from the previous call to this operation,
9074	// which can be used to return the next set of items in the list.
9075	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9076}
9077
9078// String returns the string representation
9079func (s ListRemoteAccessSessionsInput) String() string {
9080	return awsutil.Prettify(s)
9081}
9082
9083// GoString returns the string representation
9084func (s ListRemoteAccessSessionsInput) GoString() string {
9085	return s.String()
9086}
9087
9088// Validate inspects the fields of the type to determine if they are valid.
9089func (s *ListRemoteAccessSessionsInput) Validate() error {
9090	invalidParams := request.ErrInvalidParams{Context: "ListRemoteAccessSessionsInput"}
9091	if s.Arn == nil {
9092		invalidParams.Add(request.NewErrParamRequired("Arn"))
9093	}
9094	if s.Arn != nil && len(*s.Arn) < 32 {
9095		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9096	}
9097	if s.NextToken != nil && len(*s.NextToken) < 4 {
9098		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
9099	}
9100
9101	if invalidParams.Len() > 0 {
9102		return invalidParams
9103	}
9104	return nil
9105}
9106
9107// SetArn sets the Arn field's value.
9108func (s *ListRemoteAccessSessionsInput) SetArn(v string) *ListRemoteAccessSessionsInput {
9109	s.Arn = &v
9110	return s
9111}
9112
9113// SetNextToken sets the NextToken field's value.
9114func (s *ListRemoteAccessSessionsInput) SetNextToken(v string) *ListRemoteAccessSessionsInput {
9115	s.NextToken = &v
9116	return s
9117}
9118
9119// Represents the response from the server after AWS Device Farm makes a request
9120// to return information about the remote access session.
9121// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRemoteAccessSessionsResult
9122type ListRemoteAccessSessionsOutput struct {
9123	_ struct{} `type:"structure"`
9124
9125	// An identifier that was returned from the previous call to this operation,
9126	// which can be used to return the next set of items in the list.
9127	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9128
9129	// A container representing the metadata from the service about each remote
9130	// access session you are requesting.
9131	RemoteAccessSessions []*RemoteAccessSession `locationName:"remoteAccessSessions" type:"list"`
9132}
9133
9134// String returns the string representation
9135func (s ListRemoteAccessSessionsOutput) String() string {
9136	return awsutil.Prettify(s)
9137}
9138
9139// GoString returns the string representation
9140func (s ListRemoteAccessSessionsOutput) GoString() string {
9141	return s.String()
9142}
9143
9144// SetNextToken sets the NextToken field's value.
9145func (s *ListRemoteAccessSessionsOutput) SetNextToken(v string) *ListRemoteAccessSessionsOutput {
9146	s.NextToken = &v
9147	return s
9148}
9149
9150// SetRemoteAccessSessions sets the RemoteAccessSessions field's value.
9151func (s *ListRemoteAccessSessionsOutput) SetRemoteAccessSessions(v []*RemoteAccessSession) *ListRemoteAccessSessionsOutput {
9152	s.RemoteAccessSessions = v
9153	return s
9154}
9155
9156// Represents a request to the list runs operation.
9157// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRunsRequest
9158type ListRunsInput struct {
9159	_ struct{} `type:"structure"`
9160
9161	// The Amazon Resource Name (ARN) of the project for which you want to list
9162	// runs.
9163	//
9164	// Arn is a required field
9165	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9166
9167	// An identifier that was returned from the previous call to this operation,
9168	// which can be used to return the next set of items in the list.
9169	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9170}
9171
9172// String returns the string representation
9173func (s ListRunsInput) String() string {
9174	return awsutil.Prettify(s)
9175}
9176
9177// GoString returns the string representation
9178func (s ListRunsInput) GoString() string {
9179	return s.String()
9180}
9181
9182// Validate inspects the fields of the type to determine if they are valid.
9183func (s *ListRunsInput) Validate() error {
9184	invalidParams := request.ErrInvalidParams{Context: "ListRunsInput"}
9185	if s.Arn == nil {
9186		invalidParams.Add(request.NewErrParamRequired("Arn"))
9187	}
9188	if s.Arn != nil && len(*s.Arn) < 32 {
9189		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9190	}
9191	if s.NextToken != nil && len(*s.NextToken) < 4 {
9192		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
9193	}
9194
9195	if invalidParams.Len() > 0 {
9196		return invalidParams
9197	}
9198	return nil
9199}
9200
9201// SetArn sets the Arn field's value.
9202func (s *ListRunsInput) SetArn(v string) *ListRunsInput {
9203	s.Arn = &v
9204	return s
9205}
9206
9207// SetNextToken sets the NextToken field's value.
9208func (s *ListRunsInput) SetNextToken(v string) *ListRunsInput {
9209	s.NextToken = &v
9210	return s
9211}
9212
9213// Represents the result of a list runs request.
9214// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRunsResult
9215type ListRunsOutput struct {
9216	_ struct{} `type:"structure"`
9217
9218	// If the number of items that are returned is significantly large, this is
9219	// an identifier that is also returned, which can be used in a subsequent call
9220	// to this operation to return the next set of items in the list.
9221	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9222
9223	// Information about the runs.
9224	Runs []*Run `locationName:"runs" type:"list"`
9225}
9226
9227// String returns the string representation
9228func (s ListRunsOutput) String() string {
9229	return awsutil.Prettify(s)
9230}
9231
9232// GoString returns the string representation
9233func (s ListRunsOutput) GoString() string {
9234	return s.String()
9235}
9236
9237// SetNextToken sets the NextToken field's value.
9238func (s *ListRunsOutput) SetNextToken(v string) *ListRunsOutput {
9239	s.NextToken = &v
9240	return s
9241}
9242
9243// SetRuns sets the Runs field's value.
9244func (s *ListRunsOutput) SetRuns(v []*Run) *ListRunsOutput {
9245	s.Runs = v
9246	return s
9247}
9248
9249// Represents a request to the list samples operation.
9250// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSamplesRequest
9251type ListSamplesInput struct {
9252	_ struct{} `type:"structure"`
9253
9254	// The Amazon Resource Name (ARN) of the project for which you want to list
9255	// samples.
9256	//
9257	// Arn is a required field
9258	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9259
9260	// An identifier that was returned from the previous call to this operation,
9261	// which can be used to return the next set of items in the list.
9262	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9263}
9264
9265// String returns the string representation
9266func (s ListSamplesInput) String() string {
9267	return awsutil.Prettify(s)
9268}
9269
9270// GoString returns the string representation
9271func (s ListSamplesInput) GoString() string {
9272	return s.String()
9273}
9274
9275// Validate inspects the fields of the type to determine if they are valid.
9276func (s *ListSamplesInput) Validate() error {
9277	invalidParams := request.ErrInvalidParams{Context: "ListSamplesInput"}
9278	if s.Arn == nil {
9279		invalidParams.Add(request.NewErrParamRequired("Arn"))
9280	}
9281	if s.Arn != nil && len(*s.Arn) < 32 {
9282		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9283	}
9284	if s.NextToken != nil && len(*s.NextToken) < 4 {
9285		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
9286	}
9287
9288	if invalidParams.Len() > 0 {
9289		return invalidParams
9290	}
9291	return nil
9292}
9293
9294// SetArn sets the Arn field's value.
9295func (s *ListSamplesInput) SetArn(v string) *ListSamplesInput {
9296	s.Arn = &v
9297	return s
9298}
9299
9300// SetNextToken sets the NextToken field's value.
9301func (s *ListSamplesInput) SetNextToken(v string) *ListSamplesInput {
9302	s.NextToken = &v
9303	return s
9304}
9305
9306// Represents the result of a list samples request.
9307// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSamplesResult
9308type ListSamplesOutput struct {
9309	_ struct{} `type:"structure"`
9310
9311	// If the number of items that are returned is significantly large, this is
9312	// an identifier that is also returned, which can be used in a subsequent call
9313	// to this operation to return the next set of items in the list.
9314	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9315
9316	// Information about the samples.
9317	Samples []*Sample `locationName:"samples" type:"list"`
9318}
9319
9320// String returns the string representation
9321func (s ListSamplesOutput) String() string {
9322	return awsutil.Prettify(s)
9323}
9324
9325// GoString returns the string representation
9326func (s ListSamplesOutput) GoString() string {
9327	return s.String()
9328}
9329
9330// SetNextToken sets the NextToken field's value.
9331func (s *ListSamplesOutput) SetNextToken(v string) *ListSamplesOutput {
9332	s.NextToken = &v
9333	return s
9334}
9335
9336// SetSamples sets the Samples field's value.
9337func (s *ListSamplesOutput) SetSamples(v []*Sample) *ListSamplesOutput {
9338	s.Samples = v
9339	return s
9340}
9341
9342// Represents a request to the list suites operation.
9343// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSuitesRequest
9344type ListSuitesInput struct {
9345	_ struct{} `type:"structure"`
9346
9347	// The suites' ARNs.
9348	//
9349	// Arn is a required field
9350	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9351
9352	// An identifier that was returned from the previous call to this operation,
9353	// which can be used to return the next set of items in the list.
9354	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9355}
9356
9357// String returns the string representation
9358func (s ListSuitesInput) String() string {
9359	return awsutil.Prettify(s)
9360}
9361
9362// GoString returns the string representation
9363func (s ListSuitesInput) GoString() string {
9364	return s.String()
9365}
9366
9367// Validate inspects the fields of the type to determine if they are valid.
9368func (s *ListSuitesInput) Validate() error {
9369	invalidParams := request.ErrInvalidParams{Context: "ListSuitesInput"}
9370	if s.Arn == nil {
9371		invalidParams.Add(request.NewErrParamRequired("Arn"))
9372	}
9373	if s.Arn != nil && len(*s.Arn) < 32 {
9374		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9375	}
9376	if s.NextToken != nil && len(*s.NextToken) < 4 {
9377		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
9378	}
9379
9380	if invalidParams.Len() > 0 {
9381		return invalidParams
9382	}
9383	return nil
9384}
9385
9386// SetArn sets the Arn field's value.
9387func (s *ListSuitesInput) SetArn(v string) *ListSuitesInput {
9388	s.Arn = &v
9389	return s
9390}
9391
9392// SetNextToken sets the NextToken field's value.
9393func (s *ListSuitesInput) SetNextToken(v string) *ListSuitesInput {
9394	s.NextToken = &v
9395	return s
9396}
9397
9398// Represents the result of a list suites request.
9399// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSuitesResult
9400type ListSuitesOutput struct {
9401	_ struct{} `type:"structure"`
9402
9403	// If the number of items that are returned is significantly large, this is
9404	// an identifier that is also returned, which can be used in a subsequent call
9405	// to this operation to return the next set of items in the list.
9406	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9407
9408	// Information about the suites.
9409	Suites []*Suite `locationName:"suites" type:"list"`
9410}
9411
9412// String returns the string representation
9413func (s ListSuitesOutput) String() string {
9414	return awsutil.Prettify(s)
9415}
9416
9417// GoString returns the string representation
9418func (s ListSuitesOutput) GoString() string {
9419	return s.String()
9420}
9421
9422// SetNextToken sets the NextToken field's value.
9423func (s *ListSuitesOutput) SetNextToken(v string) *ListSuitesOutput {
9424	s.NextToken = &v
9425	return s
9426}
9427
9428// SetSuites sets the Suites field's value.
9429func (s *ListSuitesOutput) SetSuites(v []*Suite) *ListSuitesOutput {
9430	s.Suites = v
9431	return s
9432}
9433
9434// Represents a request to the list tests operation.
9435// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestsRequest
9436type ListTestsInput struct {
9437	_ struct{} `type:"structure"`
9438
9439	// The tests' ARNs.
9440	//
9441	// Arn is a required field
9442	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9443
9444	// An identifier that was returned from the previous call to this operation,
9445	// which can be used to return the next set of items in the list.
9446	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9447}
9448
9449// String returns the string representation
9450func (s ListTestsInput) String() string {
9451	return awsutil.Prettify(s)
9452}
9453
9454// GoString returns the string representation
9455func (s ListTestsInput) GoString() string {
9456	return s.String()
9457}
9458
9459// Validate inspects the fields of the type to determine if they are valid.
9460func (s *ListTestsInput) Validate() error {
9461	invalidParams := request.ErrInvalidParams{Context: "ListTestsInput"}
9462	if s.Arn == nil {
9463		invalidParams.Add(request.NewErrParamRequired("Arn"))
9464	}
9465	if s.Arn != nil && len(*s.Arn) < 32 {
9466		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9467	}
9468	if s.NextToken != nil && len(*s.NextToken) < 4 {
9469		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
9470	}
9471
9472	if invalidParams.Len() > 0 {
9473		return invalidParams
9474	}
9475	return nil
9476}
9477
9478// SetArn sets the Arn field's value.
9479func (s *ListTestsInput) SetArn(v string) *ListTestsInput {
9480	s.Arn = &v
9481	return s
9482}
9483
9484// SetNextToken sets the NextToken field's value.
9485func (s *ListTestsInput) SetNextToken(v string) *ListTestsInput {
9486	s.NextToken = &v
9487	return s
9488}
9489
9490// Represents the result of a list tests request.
9491// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestsResult
9492type ListTestsOutput struct {
9493	_ struct{} `type:"structure"`
9494
9495	// If the number of items that are returned is significantly large, this is
9496	// an identifier that is also returned, which can be used in a subsequent call
9497	// to this operation to return the next set of items in the list.
9498	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9499
9500	// Information about the tests.
9501	Tests []*Test `locationName:"tests" type:"list"`
9502}
9503
9504// String returns the string representation
9505func (s ListTestsOutput) String() string {
9506	return awsutil.Prettify(s)
9507}
9508
9509// GoString returns the string representation
9510func (s ListTestsOutput) GoString() string {
9511	return s.String()
9512}
9513
9514// SetNextToken sets the NextToken field's value.
9515func (s *ListTestsOutput) SetNextToken(v string) *ListTestsOutput {
9516	s.NextToken = &v
9517	return s
9518}
9519
9520// SetTests sets the Tests field's value.
9521func (s *ListTestsOutput) SetTests(v []*Test) *ListTestsOutput {
9522	s.Tests = v
9523	return s
9524}
9525
9526// Represents a request to the list unique problems operation.
9527// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUniqueProblemsRequest
9528type ListUniqueProblemsInput struct {
9529	_ struct{} `type:"structure"`
9530
9531	// The unique problems' ARNs.
9532	//
9533	// Arn is a required field
9534	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9535
9536	// An identifier that was returned from the previous call to this operation,
9537	// which can be used to return the next set of items in the list.
9538	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9539}
9540
9541// String returns the string representation
9542func (s ListUniqueProblemsInput) String() string {
9543	return awsutil.Prettify(s)
9544}
9545
9546// GoString returns the string representation
9547func (s ListUniqueProblemsInput) GoString() string {
9548	return s.String()
9549}
9550
9551// Validate inspects the fields of the type to determine if they are valid.
9552func (s *ListUniqueProblemsInput) Validate() error {
9553	invalidParams := request.ErrInvalidParams{Context: "ListUniqueProblemsInput"}
9554	if s.Arn == nil {
9555		invalidParams.Add(request.NewErrParamRequired("Arn"))
9556	}
9557	if s.Arn != nil && len(*s.Arn) < 32 {
9558		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9559	}
9560	if s.NextToken != nil && len(*s.NextToken) < 4 {
9561		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
9562	}
9563
9564	if invalidParams.Len() > 0 {
9565		return invalidParams
9566	}
9567	return nil
9568}
9569
9570// SetArn sets the Arn field's value.
9571func (s *ListUniqueProblemsInput) SetArn(v string) *ListUniqueProblemsInput {
9572	s.Arn = &v
9573	return s
9574}
9575
9576// SetNextToken sets the NextToken field's value.
9577func (s *ListUniqueProblemsInput) SetNextToken(v string) *ListUniqueProblemsInput {
9578	s.NextToken = &v
9579	return s
9580}
9581
9582// Represents the result of a list unique problems request.
9583// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUniqueProblemsResult
9584type ListUniqueProblemsOutput struct {
9585	_ struct{} `type:"structure"`
9586
9587	// If the number of items that are returned is significantly large, this is
9588	// an identifier that is also returned, which can be used in a subsequent call
9589	// to this operation to return the next set of items in the list.
9590	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9591
9592	// Information about the unique problems.
9593	//
9594	// Allowed values include:
9595	//
9596	//    * PENDING: A pending condition.
9597	//
9598	//    * PASSED: A passing condition.
9599	//
9600	//    * WARNED: A warning condition.
9601	//
9602	//    * FAILED: A failed condition.
9603	//
9604	//    * SKIPPED: A skipped condition.
9605	//
9606	//    * ERRORED: An error condition.
9607	//
9608	//    * STOPPED: A stopped condition.
9609	UniqueProblems map[string][]*UniqueProblem `locationName:"uniqueProblems" type:"map"`
9610}
9611
9612// String returns the string representation
9613func (s ListUniqueProblemsOutput) String() string {
9614	return awsutil.Prettify(s)
9615}
9616
9617// GoString returns the string representation
9618func (s ListUniqueProblemsOutput) GoString() string {
9619	return s.String()
9620}
9621
9622// SetNextToken sets the NextToken field's value.
9623func (s *ListUniqueProblemsOutput) SetNextToken(v string) *ListUniqueProblemsOutput {
9624	s.NextToken = &v
9625	return s
9626}
9627
9628// SetUniqueProblems sets the UniqueProblems field's value.
9629func (s *ListUniqueProblemsOutput) SetUniqueProblems(v map[string][]*UniqueProblem) *ListUniqueProblemsOutput {
9630	s.UniqueProblems = v
9631	return s
9632}
9633
9634// Represents a request to the list uploads operation.
9635// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUploadsRequest
9636type ListUploadsInput struct {
9637	_ struct{} `type:"structure"`
9638
9639	// The Amazon Resource Name (ARN) of the project for which you want to list
9640	// uploads.
9641	//
9642	// Arn is a required field
9643	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9644
9645	// An identifier that was returned from the previous call to this operation,
9646	// which can be used to return the next set of items in the list.
9647	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9648}
9649
9650// String returns the string representation
9651func (s ListUploadsInput) String() string {
9652	return awsutil.Prettify(s)
9653}
9654
9655// GoString returns the string representation
9656func (s ListUploadsInput) GoString() string {
9657	return s.String()
9658}
9659
9660// Validate inspects the fields of the type to determine if they are valid.
9661func (s *ListUploadsInput) Validate() error {
9662	invalidParams := request.ErrInvalidParams{Context: "ListUploadsInput"}
9663	if s.Arn == nil {
9664		invalidParams.Add(request.NewErrParamRequired("Arn"))
9665	}
9666	if s.Arn != nil && len(*s.Arn) < 32 {
9667		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9668	}
9669	if s.NextToken != nil && len(*s.NextToken) < 4 {
9670		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
9671	}
9672
9673	if invalidParams.Len() > 0 {
9674		return invalidParams
9675	}
9676	return nil
9677}
9678
9679// SetArn sets the Arn field's value.
9680func (s *ListUploadsInput) SetArn(v string) *ListUploadsInput {
9681	s.Arn = &v
9682	return s
9683}
9684
9685// SetNextToken sets the NextToken field's value.
9686func (s *ListUploadsInput) SetNextToken(v string) *ListUploadsInput {
9687	s.NextToken = &v
9688	return s
9689}
9690
9691// Represents the result of a list uploads request.
9692// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUploadsResult
9693type ListUploadsOutput struct {
9694	_ struct{} `type:"structure"`
9695
9696	// If the number of items that are returned is significantly large, this is
9697	// an identifier that is also returned, which can be used in a subsequent call
9698	// to this operation to return the next set of items in the list.
9699	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
9700
9701	// Information about the uploads.
9702	Uploads []*Upload `locationName:"uploads" type:"list"`
9703}
9704
9705// String returns the string representation
9706func (s ListUploadsOutput) String() string {
9707	return awsutil.Prettify(s)
9708}
9709
9710// GoString returns the string representation
9711func (s ListUploadsOutput) GoString() string {
9712	return s.String()
9713}
9714
9715// SetNextToken sets the NextToken field's value.
9716func (s *ListUploadsOutput) SetNextToken(v string) *ListUploadsOutput {
9717	s.NextToken = &v
9718	return s
9719}
9720
9721// SetUploads sets the Uploads field's value.
9722func (s *ListUploadsOutput) SetUploads(v []*Upload) *ListUploadsOutput {
9723	s.Uploads = v
9724	return s
9725}
9726
9727// Represents a latitude and longitude pair, expressed in geographic coordinate
9728// system degrees (for example 47.6204, -122.3491).
9729//
9730// Elevation is currently not supported.
9731// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Location
9732type Location struct {
9733	_ struct{} `type:"structure"`
9734
9735	// The latitude.
9736	//
9737	// Latitude is a required field
9738	Latitude *float64 `locationName:"latitude" type:"double" required:"true"`
9739
9740	// The longitude.
9741	//
9742	// Longitude is a required field
9743	Longitude *float64 `locationName:"longitude" type:"double" required:"true"`
9744}
9745
9746// String returns the string representation
9747func (s Location) String() string {
9748	return awsutil.Prettify(s)
9749}
9750
9751// GoString returns the string representation
9752func (s Location) GoString() string {
9753	return s.String()
9754}
9755
9756// Validate inspects the fields of the type to determine if they are valid.
9757func (s *Location) Validate() error {
9758	invalidParams := request.ErrInvalidParams{Context: "Location"}
9759	if s.Latitude == nil {
9760		invalidParams.Add(request.NewErrParamRequired("Latitude"))
9761	}
9762	if s.Longitude == nil {
9763		invalidParams.Add(request.NewErrParamRequired("Longitude"))
9764	}
9765
9766	if invalidParams.Len() > 0 {
9767		return invalidParams
9768	}
9769	return nil
9770}
9771
9772// SetLatitude sets the Latitude field's value.
9773func (s *Location) SetLatitude(v float64) *Location {
9774	s.Latitude = &v
9775	return s
9776}
9777
9778// SetLongitude sets the Longitude field's value.
9779func (s *Location) SetLongitude(v float64) *Location {
9780	s.Longitude = &v
9781	return s
9782}
9783
9784// A number representing the monetary amount for an offering or transaction.
9785// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/MonetaryAmount
9786type MonetaryAmount struct {
9787	_ struct{} `type:"structure"`
9788
9789	// The numerical amount of an offering or transaction.
9790	Amount *float64 `locationName:"amount" type:"double"`
9791
9792	// The currency code of a monetary amount. For example, USD means "U.S. dollars."
9793	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCode"`
9794}
9795
9796// String returns the string representation
9797func (s MonetaryAmount) String() string {
9798	return awsutil.Prettify(s)
9799}
9800
9801// GoString returns the string representation
9802func (s MonetaryAmount) GoString() string {
9803	return s.String()
9804}
9805
9806// SetAmount sets the Amount field's value.
9807func (s *MonetaryAmount) SetAmount(v float64) *MonetaryAmount {
9808	s.Amount = &v
9809	return s
9810}
9811
9812// SetCurrencyCode sets the CurrencyCode field's value.
9813func (s *MonetaryAmount) SetCurrencyCode(v string) *MonetaryAmount {
9814	s.CurrencyCode = &v
9815	return s
9816}
9817
9818// An array of settings that describes characteristics of a network profile.
9819// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/NetworkProfile
9820type NetworkProfile struct {
9821	_ struct{} `type:"structure"`
9822
9823	// The Amazon Resource Name (ARN) of the network profile.
9824	Arn *string `locationName:"arn" min:"32" type:"string"`
9825
9826	// The description of the network profile.
9827	Description *string `locationName:"description" type:"string"`
9828
9829	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
9830	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
9831
9832	// Delay time for all packets to destination in milliseconds as an integer from
9833	// 0 to 2000.
9834	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
9835
9836	// Time variation in the delay of received packets in milliseconds as an integer
9837	// from 0 to 2000.
9838	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
9839
9840	// Proportion of received packets that fail to arrive from 0 to 100 percent.
9841	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
9842
9843	// The name of the network profile.
9844	Name *string `locationName:"name" type:"string"`
9845
9846	// The type of network profile. Valid values are listed below.
9847	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
9848
9849	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
9850	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
9851
9852	// Delay time for all packets to destination in milliseconds as an integer from
9853	// 0 to 2000.
9854	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
9855
9856	// Time variation in the delay of received packets in milliseconds as an integer
9857	// from 0 to 2000.
9858	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
9859
9860	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
9861	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
9862}
9863
9864// String returns the string representation
9865func (s NetworkProfile) String() string {
9866	return awsutil.Prettify(s)
9867}
9868
9869// GoString returns the string representation
9870func (s NetworkProfile) GoString() string {
9871	return s.String()
9872}
9873
9874// SetArn sets the Arn field's value.
9875func (s *NetworkProfile) SetArn(v string) *NetworkProfile {
9876	s.Arn = &v
9877	return s
9878}
9879
9880// SetDescription sets the Description field's value.
9881func (s *NetworkProfile) SetDescription(v string) *NetworkProfile {
9882	s.Description = &v
9883	return s
9884}
9885
9886// SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
9887func (s *NetworkProfile) SetDownlinkBandwidthBits(v int64) *NetworkProfile {
9888	s.DownlinkBandwidthBits = &v
9889	return s
9890}
9891
9892// SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
9893func (s *NetworkProfile) SetDownlinkDelayMs(v int64) *NetworkProfile {
9894	s.DownlinkDelayMs = &v
9895	return s
9896}
9897
9898// SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
9899func (s *NetworkProfile) SetDownlinkJitterMs(v int64) *NetworkProfile {
9900	s.DownlinkJitterMs = &v
9901	return s
9902}
9903
9904// SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
9905func (s *NetworkProfile) SetDownlinkLossPercent(v int64) *NetworkProfile {
9906	s.DownlinkLossPercent = &v
9907	return s
9908}
9909
9910// SetName sets the Name field's value.
9911func (s *NetworkProfile) SetName(v string) *NetworkProfile {
9912	s.Name = &v
9913	return s
9914}
9915
9916// SetType sets the Type field's value.
9917func (s *NetworkProfile) SetType(v string) *NetworkProfile {
9918	s.Type = &v
9919	return s
9920}
9921
9922// SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
9923func (s *NetworkProfile) SetUplinkBandwidthBits(v int64) *NetworkProfile {
9924	s.UplinkBandwidthBits = &v
9925	return s
9926}
9927
9928// SetUplinkDelayMs sets the UplinkDelayMs field's value.
9929func (s *NetworkProfile) SetUplinkDelayMs(v int64) *NetworkProfile {
9930	s.UplinkDelayMs = &v
9931	return s
9932}
9933
9934// SetUplinkJitterMs sets the UplinkJitterMs field's value.
9935func (s *NetworkProfile) SetUplinkJitterMs(v int64) *NetworkProfile {
9936	s.UplinkJitterMs = &v
9937	return s
9938}
9939
9940// SetUplinkLossPercent sets the UplinkLossPercent field's value.
9941func (s *NetworkProfile) SetUplinkLossPercent(v int64) *NetworkProfile {
9942	s.UplinkLossPercent = &v
9943	return s
9944}
9945
9946// Represents the metadata of a device offering.
9947// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Offering
9948type Offering struct {
9949	_ struct{} `type:"structure"`
9950
9951	// A string describing the offering.
9952	Description *string `locationName:"description" type:"string"`
9953
9954	// The ID that corresponds to a device offering.
9955	Id *string `locationName:"id" min:"32" type:"string"`
9956
9957	// The platform of the device (e.g., ANDROID or IOS).
9958	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
9959
9960	// Specifies whether there are recurring charges for the offering.
9961	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" type:"list"`
9962
9963	// The type of offering (e.g., "RECURRING") for a device.
9964	Type *string `locationName:"type" type:"string" enum:"OfferingType"`
9965}
9966
9967// String returns the string representation
9968func (s Offering) String() string {
9969	return awsutil.Prettify(s)
9970}
9971
9972// GoString returns the string representation
9973func (s Offering) GoString() string {
9974	return s.String()
9975}
9976
9977// SetDescription sets the Description field's value.
9978func (s *Offering) SetDescription(v string) *Offering {
9979	s.Description = &v
9980	return s
9981}
9982
9983// SetId sets the Id field's value.
9984func (s *Offering) SetId(v string) *Offering {
9985	s.Id = &v
9986	return s
9987}
9988
9989// SetPlatform sets the Platform field's value.
9990func (s *Offering) SetPlatform(v string) *Offering {
9991	s.Platform = &v
9992	return s
9993}
9994
9995// SetRecurringCharges sets the RecurringCharges field's value.
9996func (s *Offering) SetRecurringCharges(v []*RecurringCharge) *Offering {
9997	s.RecurringCharges = v
9998	return s
9999}
10000
10001// SetType sets the Type field's value.
10002func (s *Offering) SetType(v string) *Offering {
10003	s.Type = &v
10004	return s
10005}
10006
10007// Represents information about an offering promotion.
10008// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/OfferingPromotion
10009type OfferingPromotion struct {
10010	_ struct{} `type:"structure"`
10011
10012	// A string describing the offering promotion.
10013	Description *string `locationName:"description" type:"string"`
10014
10015	// The ID of the offering promotion.
10016	Id *string `locationName:"id" min:"4" type:"string"`
10017}
10018
10019// String returns the string representation
10020func (s OfferingPromotion) String() string {
10021	return awsutil.Prettify(s)
10022}
10023
10024// GoString returns the string representation
10025func (s OfferingPromotion) GoString() string {
10026	return s.String()
10027}
10028
10029// SetDescription sets the Description field's value.
10030func (s *OfferingPromotion) SetDescription(v string) *OfferingPromotion {
10031	s.Description = &v
10032	return s
10033}
10034
10035// SetId sets the Id field's value.
10036func (s *OfferingPromotion) SetId(v string) *OfferingPromotion {
10037	s.Id = &v
10038	return s
10039}
10040
10041// The status of the offering.
10042// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/OfferingStatus
10043type OfferingStatus struct {
10044	_ struct{} `type:"structure"`
10045
10046	// The date on which the offering is effective.
10047	EffectiveOn *time.Time `locationName:"effectiveOn" type:"timestamp" timestampFormat:"unix"`
10048
10049	// Represents the metadata of an offering status.
10050	Offering *Offering `locationName:"offering" type:"structure"`
10051
10052	// The number of available devices in the offering.
10053	Quantity *int64 `locationName:"quantity" type:"integer"`
10054
10055	// The type specified for the offering status.
10056	Type *string `locationName:"type" type:"string" enum:"OfferingTransactionType"`
10057}
10058
10059// String returns the string representation
10060func (s OfferingStatus) String() string {
10061	return awsutil.Prettify(s)
10062}
10063
10064// GoString returns the string representation
10065func (s OfferingStatus) GoString() string {
10066	return s.String()
10067}
10068
10069// SetEffectiveOn sets the EffectiveOn field's value.
10070func (s *OfferingStatus) SetEffectiveOn(v time.Time) *OfferingStatus {
10071	s.EffectiveOn = &v
10072	return s
10073}
10074
10075// SetOffering sets the Offering field's value.
10076func (s *OfferingStatus) SetOffering(v *Offering) *OfferingStatus {
10077	s.Offering = v
10078	return s
10079}
10080
10081// SetQuantity sets the Quantity field's value.
10082func (s *OfferingStatus) SetQuantity(v int64) *OfferingStatus {
10083	s.Quantity = &v
10084	return s
10085}
10086
10087// SetType sets the Type field's value.
10088func (s *OfferingStatus) SetType(v string) *OfferingStatus {
10089	s.Type = &v
10090	return s
10091}
10092
10093// Represents the metadata of an offering transaction.
10094// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/OfferingTransaction
10095type OfferingTransaction struct {
10096	_ struct{} `type:"structure"`
10097
10098	// The cost of an offering transaction.
10099	Cost *MonetaryAmount `locationName:"cost" type:"structure"`
10100
10101	// The date on which an offering transaction was created.
10102	CreatedOn *time.Time `locationName:"createdOn" type:"timestamp" timestampFormat:"unix"`
10103
10104	// The ID that corresponds to a device offering promotion.
10105	OfferingPromotionId *string `locationName:"offeringPromotionId" min:"4" type:"string"`
10106
10107	// The status of an offering transaction.
10108	OfferingStatus *OfferingStatus `locationName:"offeringStatus" type:"structure"`
10109
10110	// The transaction ID of the offering transaction.
10111	TransactionId *string `locationName:"transactionId" min:"32" type:"string"`
10112}
10113
10114// String returns the string representation
10115func (s OfferingTransaction) String() string {
10116	return awsutil.Prettify(s)
10117}
10118
10119// GoString returns the string representation
10120func (s OfferingTransaction) GoString() string {
10121	return s.String()
10122}
10123
10124// SetCost sets the Cost field's value.
10125func (s *OfferingTransaction) SetCost(v *MonetaryAmount) *OfferingTransaction {
10126	s.Cost = v
10127	return s
10128}
10129
10130// SetCreatedOn sets the CreatedOn field's value.
10131func (s *OfferingTransaction) SetCreatedOn(v time.Time) *OfferingTransaction {
10132	s.CreatedOn = &v
10133	return s
10134}
10135
10136// SetOfferingPromotionId sets the OfferingPromotionId field's value.
10137func (s *OfferingTransaction) SetOfferingPromotionId(v string) *OfferingTransaction {
10138	s.OfferingPromotionId = &v
10139	return s
10140}
10141
10142// SetOfferingStatus sets the OfferingStatus field's value.
10143func (s *OfferingTransaction) SetOfferingStatus(v *OfferingStatus) *OfferingTransaction {
10144	s.OfferingStatus = v
10145	return s
10146}
10147
10148// SetTransactionId sets the TransactionId field's value.
10149func (s *OfferingTransaction) SetTransactionId(v string) *OfferingTransaction {
10150	s.TransactionId = &v
10151	return s
10152}
10153
10154// Represents a specific warning or failure.
10155// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Problem
10156type Problem struct {
10157	_ struct{} `type:"structure"`
10158
10159	// Information about the associated device.
10160	Device *Device `locationName:"device" type:"structure"`
10161
10162	// Information about the associated job.
10163	Job *ProblemDetail `locationName:"job" type:"structure"`
10164
10165	// A message about the problem's result.
10166	Message *string `locationName:"message" type:"string"`
10167
10168	// The problem's result.
10169	//
10170	// Allowed values include:
10171	//
10172	//    * PENDING: A pending condition.
10173	//
10174	//    * PASSED: A passing condition.
10175	//
10176	//    * WARNED: A warning condition.
10177	//
10178	//    * FAILED: A failed condition.
10179	//
10180	//    * SKIPPED: A skipped condition.
10181	//
10182	//    * ERRORED: An error condition.
10183	//
10184	//    * STOPPED: A stopped condition.
10185	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
10186
10187	// Information about the associated run.
10188	Run *ProblemDetail `locationName:"run" type:"structure"`
10189
10190	// Information about the associated suite.
10191	Suite *ProblemDetail `locationName:"suite" type:"structure"`
10192
10193	// Information about the associated test.
10194	Test *ProblemDetail `locationName:"test" type:"structure"`
10195}
10196
10197// String returns the string representation
10198func (s Problem) String() string {
10199	return awsutil.Prettify(s)
10200}
10201
10202// GoString returns the string representation
10203func (s Problem) GoString() string {
10204	return s.String()
10205}
10206
10207// SetDevice sets the Device field's value.
10208func (s *Problem) SetDevice(v *Device) *Problem {
10209	s.Device = v
10210	return s
10211}
10212
10213// SetJob sets the Job field's value.
10214func (s *Problem) SetJob(v *ProblemDetail) *Problem {
10215	s.Job = v
10216	return s
10217}
10218
10219// SetMessage sets the Message field's value.
10220func (s *Problem) SetMessage(v string) *Problem {
10221	s.Message = &v
10222	return s
10223}
10224
10225// SetResult sets the Result field's value.
10226func (s *Problem) SetResult(v string) *Problem {
10227	s.Result = &v
10228	return s
10229}
10230
10231// SetRun sets the Run field's value.
10232func (s *Problem) SetRun(v *ProblemDetail) *Problem {
10233	s.Run = v
10234	return s
10235}
10236
10237// SetSuite sets the Suite field's value.
10238func (s *Problem) SetSuite(v *ProblemDetail) *Problem {
10239	s.Suite = v
10240	return s
10241}
10242
10243// SetTest sets the Test field's value.
10244func (s *Problem) SetTest(v *ProblemDetail) *Problem {
10245	s.Test = v
10246	return s
10247}
10248
10249// Information about a problem detail.
10250// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ProblemDetail
10251type ProblemDetail struct {
10252	_ struct{} `type:"structure"`
10253
10254	// The problem detail's ARN.
10255	Arn *string `locationName:"arn" min:"32" type:"string"`
10256
10257	// The problem detail's name.
10258	Name *string `locationName:"name" type:"string"`
10259}
10260
10261// String returns the string representation
10262func (s ProblemDetail) String() string {
10263	return awsutil.Prettify(s)
10264}
10265
10266// GoString returns the string representation
10267func (s ProblemDetail) GoString() string {
10268	return s.String()
10269}
10270
10271// SetArn sets the Arn field's value.
10272func (s *ProblemDetail) SetArn(v string) *ProblemDetail {
10273	s.Arn = &v
10274	return s
10275}
10276
10277// SetName sets the Name field's value.
10278func (s *ProblemDetail) SetName(v string) *ProblemDetail {
10279	s.Name = &v
10280	return s
10281}
10282
10283// Represents an operating-system neutral workspace for running and managing
10284// tests.
10285// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Project
10286type Project struct {
10287	_ struct{} `type:"structure"`
10288
10289	// The project's ARN.
10290	Arn *string `locationName:"arn" min:"32" type:"string"`
10291
10292	// When the project was created.
10293	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"unix"`
10294
10295	// The default number of minutes (at the project level) a test run will execute
10296	// before it times out. Default value is 60 minutes.
10297	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
10298
10299	// The project's name.
10300	Name *string `locationName:"name" type:"string"`
10301}
10302
10303// String returns the string representation
10304func (s Project) String() string {
10305	return awsutil.Prettify(s)
10306}
10307
10308// GoString returns the string representation
10309func (s Project) GoString() string {
10310	return s.String()
10311}
10312
10313// SetArn sets the Arn field's value.
10314func (s *Project) SetArn(v string) *Project {
10315	s.Arn = &v
10316	return s
10317}
10318
10319// SetCreated sets the Created field's value.
10320func (s *Project) SetCreated(v time.Time) *Project {
10321	s.Created = &v
10322	return s
10323}
10324
10325// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
10326func (s *Project) SetDefaultJobTimeoutMinutes(v int64) *Project {
10327	s.DefaultJobTimeoutMinutes = &v
10328	return s
10329}
10330
10331// SetName sets the Name field's value.
10332func (s *Project) SetName(v string) *Project {
10333	s.Name = &v
10334	return s
10335}
10336
10337// Represents a request for a purchase offering.
10338// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/PurchaseOfferingRequest
10339type PurchaseOfferingInput struct {
10340	_ struct{} `type:"structure"`
10341
10342	// The ID of the offering.
10343	OfferingId *string `locationName:"offeringId" min:"32" type:"string"`
10344
10345	// The ID of the offering promotion to be applied to the purchase.
10346	OfferingPromotionId *string `locationName:"offeringPromotionId" min:"4" type:"string"`
10347
10348	// The number of device slots you wish to purchase in an offering request.
10349	Quantity *int64 `locationName:"quantity" type:"integer"`
10350}
10351
10352// String returns the string representation
10353func (s PurchaseOfferingInput) String() string {
10354	return awsutil.Prettify(s)
10355}
10356
10357// GoString returns the string representation
10358func (s PurchaseOfferingInput) GoString() string {
10359	return s.String()
10360}
10361
10362// Validate inspects the fields of the type to determine if they are valid.
10363func (s *PurchaseOfferingInput) Validate() error {
10364	invalidParams := request.ErrInvalidParams{Context: "PurchaseOfferingInput"}
10365	if s.OfferingId != nil && len(*s.OfferingId) < 32 {
10366		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 32))
10367	}
10368	if s.OfferingPromotionId != nil && len(*s.OfferingPromotionId) < 4 {
10369		invalidParams.Add(request.NewErrParamMinLen("OfferingPromotionId", 4))
10370	}
10371
10372	if invalidParams.Len() > 0 {
10373		return invalidParams
10374	}
10375	return nil
10376}
10377
10378// SetOfferingId sets the OfferingId field's value.
10379func (s *PurchaseOfferingInput) SetOfferingId(v string) *PurchaseOfferingInput {
10380	s.OfferingId = &v
10381	return s
10382}
10383
10384// SetOfferingPromotionId sets the OfferingPromotionId field's value.
10385func (s *PurchaseOfferingInput) SetOfferingPromotionId(v string) *PurchaseOfferingInput {
10386	s.OfferingPromotionId = &v
10387	return s
10388}
10389
10390// SetQuantity sets the Quantity field's value.
10391func (s *PurchaseOfferingInput) SetQuantity(v int64) *PurchaseOfferingInput {
10392	s.Quantity = &v
10393	return s
10394}
10395
10396// The result of the purchase offering (e.g., success or failure).
10397// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/PurchaseOfferingResult
10398type PurchaseOfferingOutput struct {
10399	_ struct{} `type:"structure"`
10400
10401	// Represents the offering transaction for the purchase result.
10402	OfferingTransaction *OfferingTransaction `locationName:"offeringTransaction" type:"structure"`
10403}
10404
10405// String returns the string representation
10406func (s PurchaseOfferingOutput) String() string {
10407	return awsutil.Prettify(s)
10408}
10409
10410// GoString returns the string representation
10411func (s PurchaseOfferingOutput) GoString() string {
10412	return s.String()
10413}
10414
10415// SetOfferingTransaction sets the OfferingTransaction field's value.
10416func (s *PurchaseOfferingOutput) SetOfferingTransaction(v *OfferingTransaction) *PurchaseOfferingOutput {
10417	s.OfferingTransaction = v
10418	return s
10419}
10420
10421// Represents the set of radios and their states on a device. Examples of radios
10422// include Wi-Fi, GPS, Bluetooth, and NFC.
10423// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Radios
10424type Radios struct {
10425	_ struct{} `type:"structure"`
10426
10427	// True if Bluetooth is enabled at the beginning of the test; otherwise, false.
10428	Bluetooth *bool `locationName:"bluetooth" type:"boolean"`
10429
10430	// True if GPS is enabled at the beginning of the test; otherwise, false.
10431	Gps *bool `locationName:"gps" type:"boolean"`
10432
10433	// True if NFC is enabled at the beginning of the test; otherwise, false.
10434	Nfc *bool `locationName:"nfc" type:"boolean"`
10435
10436	// True if Wi-Fi is enabled at the beginning of the test; otherwise, false.
10437	Wifi *bool `locationName:"wifi" type:"boolean"`
10438}
10439
10440// String returns the string representation
10441func (s Radios) String() string {
10442	return awsutil.Prettify(s)
10443}
10444
10445// GoString returns the string representation
10446func (s Radios) GoString() string {
10447	return s.String()
10448}
10449
10450// SetBluetooth sets the Bluetooth field's value.
10451func (s *Radios) SetBluetooth(v bool) *Radios {
10452	s.Bluetooth = &v
10453	return s
10454}
10455
10456// SetGps sets the Gps field's value.
10457func (s *Radios) SetGps(v bool) *Radios {
10458	s.Gps = &v
10459	return s
10460}
10461
10462// SetNfc sets the Nfc field's value.
10463func (s *Radios) SetNfc(v bool) *Radios {
10464	s.Nfc = &v
10465	return s
10466}
10467
10468// SetWifi sets the Wifi field's value.
10469func (s *Radios) SetWifi(v bool) *Radios {
10470	s.Wifi = &v
10471	return s
10472}
10473
10474// Specifies whether charges for devices will be recurring.
10475// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RecurringCharge
10476type RecurringCharge struct {
10477	_ struct{} `type:"structure"`
10478
10479	// The cost of the recurring charge.
10480	Cost *MonetaryAmount `locationName:"cost" type:"structure"`
10481
10482	// The frequency in which charges will recur.
10483	Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
10484}
10485
10486// String returns the string representation
10487func (s RecurringCharge) String() string {
10488	return awsutil.Prettify(s)
10489}
10490
10491// GoString returns the string representation
10492func (s RecurringCharge) GoString() string {
10493	return s.String()
10494}
10495
10496// SetCost sets the Cost field's value.
10497func (s *RecurringCharge) SetCost(v *MonetaryAmount) *RecurringCharge {
10498	s.Cost = v
10499	return s
10500}
10501
10502// SetFrequency sets the Frequency field's value.
10503func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
10504	s.Frequency = &v
10505	return s
10506}
10507
10508// Represents information about the remote access session.
10509// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RemoteAccessSession
10510type RemoteAccessSession struct {
10511	_ struct{} `type:"structure"`
10512
10513	// The Amazon Resource Name (ARN) of the remote access session.
10514	Arn *string `locationName:"arn" min:"32" type:"string"`
10515
10516	// The billing method of the remote access session. Possible values include
10517	// METERED or UNMETERED. For more information about metered devices, see AWS
10518	// Device Farm terminology (http://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology)."
10519	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
10520
10521	// Unique identifier of your client for the remote access session. Only returned
10522	// if remote debugging is enabled for the remote access session.
10523	ClientId *string `locationName:"clientId" type:"string"`
10524
10525	// The date and time the remote access session was created.
10526	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"unix"`
10527
10528	// The device (phone or tablet) used in the remote access session.
10529	Device *Device `locationName:"device" type:"structure"`
10530
10531	// The number of minutes a device is used in a remote access sesssion (including
10532	// setup and teardown minutes).
10533	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
10534
10535	// Unique device identifier for the remote device. Only returned if remote debugging
10536	// is enabled for the remote access session.
10537	DeviceUdid *string `locationName:"deviceUdid" type:"string"`
10538
10539	// The endpoint for the remote access sesssion.
10540	Endpoint *string `locationName:"endpoint" type:"string"`
10541
10542	// IP address of the EC2 host where you need to connect to remotely debug devices.
10543	// Only returned if remote debugging is enabled for the remote access session.
10544	HostAddress *string `locationName:"hostAddress" type:"string"`
10545
10546	// A message about the remote access session.
10547	Message *string `locationName:"message" type:"string"`
10548
10549	// The name of the remote access session.
10550	Name *string `locationName:"name" type:"string"`
10551
10552	// This flag is set to true if remote debugging is enabled for the remote access
10553	// session.
10554	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
10555
10556	// The result of the remote access session. Can be any of the following:
10557	//
10558	//    * PENDING: A pending condition.
10559	//
10560	//    * PASSED: A passing condition.
10561	//
10562	//    * WARNED: A warning condition.
10563	//
10564	//    * FAILED: A failed condition.
10565	//
10566	//    * SKIPPED: A skipped condition.
10567	//
10568	//    * ERRORED: An error condition.
10569	//
10570	//    * STOPPED: A stopped condition.
10571	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
10572
10573	// The date and time the remote access session was started.
10574	Started *time.Time `locationName:"started" type:"timestamp" timestampFormat:"unix"`
10575
10576	// The status of the remote access session. Can be any of the following:
10577	//
10578	//    * PENDING: A pending status.
10579	//
10580	//    * PENDING_CONCURRENCY: A pending concurrency status.
10581	//
10582	//    * PENDING_DEVICE: A pending device status.
10583	//
10584	//    * PROCESSING: A processing status.
10585	//
10586	//    * SCHEDULING: A scheduling status.
10587	//
10588	//    * PREPARING: A preparing status.
10589	//
10590	//    * RUNNING: A running status.
10591	//
10592	//    * COMPLETED: A completed status.
10593	//
10594	//    * STOPPING: A stopping status.
10595	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
10596
10597	// The date and time the remote access session was stopped.
10598	Stopped *time.Time `locationName:"stopped" type:"timestamp" timestampFormat:"unix"`
10599}
10600
10601// String returns the string representation
10602func (s RemoteAccessSession) String() string {
10603	return awsutil.Prettify(s)
10604}
10605
10606// GoString returns the string representation
10607func (s RemoteAccessSession) GoString() string {
10608	return s.String()
10609}
10610
10611// SetArn sets the Arn field's value.
10612func (s *RemoteAccessSession) SetArn(v string) *RemoteAccessSession {
10613	s.Arn = &v
10614	return s
10615}
10616
10617// SetBillingMethod sets the BillingMethod field's value.
10618func (s *RemoteAccessSession) SetBillingMethod(v string) *RemoteAccessSession {
10619	s.BillingMethod = &v
10620	return s
10621}
10622
10623// SetClientId sets the ClientId field's value.
10624func (s *RemoteAccessSession) SetClientId(v string) *RemoteAccessSession {
10625	s.ClientId = &v
10626	return s
10627}
10628
10629// SetCreated sets the Created field's value.
10630func (s *RemoteAccessSession) SetCreated(v time.Time) *RemoteAccessSession {
10631	s.Created = &v
10632	return s
10633}
10634
10635// SetDevice sets the Device field's value.
10636func (s *RemoteAccessSession) SetDevice(v *Device) *RemoteAccessSession {
10637	s.Device = v
10638	return s
10639}
10640
10641// SetDeviceMinutes sets the DeviceMinutes field's value.
10642func (s *RemoteAccessSession) SetDeviceMinutes(v *DeviceMinutes) *RemoteAccessSession {
10643	s.DeviceMinutes = v
10644	return s
10645}
10646
10647// SetDeviceUdid sets the DeviceUdid field's value.
10648func (s *RemoteAccessSession) SetDeviceUdid(v string) *RemoteAccessSession {
10649	s.DeviceUdid = &v
10650	return s
10651}
10652
10653// SetEndpoint sets the Endpoint field's value.
10654func (s *RemoteAccessSession) SetEndpoint(v string) *RemoteAccessSession {
10655	s.Endpoint = &v
10656	return s
10657}
10658
10659// SetHostAddress sets the HostAddress field's value.
10660func (s *RemoteAccessSession) SetHostAddress(v string) *RemoteAccessSession {
10661	s.HostAddress = &v
10662	return s
10663}
10664
10665// SetMessage sets the Message field's value.
10666func (s *RemoteAccessSession) SetMessage(v string) *RemoteAccessSession {
10667	s.Message = &v
10668	return s
10669}
10670
10671// SetName sets the Name field's value.
10672func (s *RemoteAccessSession) SetName(v string) *RemoteAccessSession {
10673	s.Name = &v
10674	return s
10675}
10676
10677// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
10678func (s *RemoteAccessSession) SetRemoteDebugEnabled(v bool) *RemoteAccessSession {
10679	s.RemoteDebugEnabled = &v
10680	return s
10681}
10682
10683// SetResult sets the Result field's value.
10684func (s *RemoteAccessSession) SetResult(v string) *RemoteAccessSession {
10685	s.Result = &v
10686	return s
10687}
10688
10689// SetStarted sets the Started field's value.
10690func (s *RemoteAccessSession) SetStarted(v time.Time) *RemoteAccessSession {
10691	s.Started = &v
10692	return s
10693}
10694
10695// SetStatus sets the Status field's value.
10696func (s *RemoteAccessSession) SetStatus(v string) *RemoteAccessSession {
10697	s.Status = &v
10698	return s
10699}
10700
10701// SetStopped sets the Stopped field's value.
10702func (s *RemoteAccessSession) SetStopped(v time.Time) *RemoteAccessSession {
10703	s.Stopped = &v
10704	return s
10705}
10706
10707// A request representing an offering renewal.
10708// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RenewOfferingRequest
10709type RenewOfferingInput struct {
10710	_ struct{} `type:"structure"`
10711
10712	// The ID of a request to renew an offering.
10713	OfferingId *string `locationName:"offeringId" min:"32" type:"string"`
10714
10715	// The quantity requested in an offering renewal.
10716	Quantity *int64 `locationName:"quantity" type:"integer"`
10717}
10718
10719// String returns the string representation
10720func (s RenewOfferingInput) String() string {
10721	return awsutil.Prettify(s)
10722}
10723
10724// GoString returns the string representation
10725func (s RenewOfferingInput) GoString() string {
10726	return s.String()
10727}
10728
10729// Validate inspects the fields of the type to determine if they are valid.
10730func (s *RenewOfferingInput) Validate() error {
10731	invalidParams := request.ErrInvalidParams{Context: "RenewOfferingInput"}
10732	if s.OfferingId != nil && len(*s.OfferingId) < 32 {
10733		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 32))
10734	}
10735
10736	if invalidParams.Len() > 0 {
10737		return invalidParams
10738	}
10739	return nil
10740}
10741
10742// SetOfferingId sets the OfferingId field's value.
10743func (s *RenewOfferingInput) SetOfferingId(v string) *RenewOfferingInput {
10744	s.OfferingId = &v
10745	return s
10746}
10747
10748// SetQuantity sets the Quantity field's value.
10749func (s *RenewOfferingInput) SetQuantity(v int64) *RenewOfferingInput {
10750	s.Quantity = &v
10751	return s
10752}
10753
10754// The result of a renewal offering.
10755// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RenewOfferingResult
10756type RenewOfferingOutput struct {
10757	_ struct{} `type:"structure"`
10758
10759	// Represents the status of the offering transaction for the renewal.
10760	OfferingTransaction *OfferingTransaction `locationName:"offeringTransaction" type:"structure"`
10761}
10762
10763// String returns the string representation
10764func (s RenewOfferingOutput) String() string {
10765	return awsutil.Prettify(s)
10766}
10767
10768// GoString returns the string representation
10769func (s RenewOfferingOutput) GoString() string {
10770	return s.String()
10771}
10772
10773// SetOfferingTransaction sets the OfferingTransaction field's value.
10774func (s *RenewOfferingOutput) SetOfferingTransaction(v *OfferingTransaction) *RenewOfferingOutput {
10775	s.OfferingTransaction = v
10776	return s
10777}
10778
10779// Represents the screen resolution of a device in height and width, expressed
10780// in pixels.
10781// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Resolution
10782type Resolution struct {
10783	_ struct{} `type:"structure"`
10784
10785	// The screen resolution's height, expressed in pixels.
10786	Height *int64 `locationName:"height" type:"integer"`
10787
10788	// The screen resolution's width, expressed in pixels.
10789	Width *int64 `locationName:"width" type:"integer"`
10790}
10791
10792// String returns the string representation
10793func (s Resolution) String() string {
10794	return awsutil.Prettify(s)
10795}
10796
10797// GoString returns the string representation
10798func (s Resolution) GoString() string {
10799	return s.String()
10800}
10801
10802// SetHeight sets the Height field's value.
10803func (s *Resolution) SetHeight(v int64) *Resolution {
10804	s.Height = &v
10805	return s
10806}
10807
10808// SetWidth sets the Width field's value.
10809func (s *Resolution) SetWidth(v int64) *Resolution {
10810	s.Width = &v
10811	return s
10812}
10813
10814// Represents a condition for a device pool.
10815// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Rule
10816type Rule struct {
10817	_ struct{} `type:"structure"`
10818
10819	// The rule's stringified attribute. For example, specify the value as "\"abc\"".
10820	//
10821	// Allowed values include:
10822	//
10823	//    * ARN: The ARN.
10824	//
10825	//    * FORM_FACTOR: The form factor (for example, phone or tablet).
10826	//
10827	//    * MANUFACTURER: The manufacturer.
10828	//
10829	//    * PLATFORM: The platform (for example, Android or iOS).
10830	//
10831	//    * REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote access.
10832	//
10833	//    * APPIUM_VERSION: The Appium version for the test.
10834	Attribute *string `locationName:"attribute" type:"string" enum:"DeviceAttribute"`
10835
10836	// The rule's operator.
10837	//
10838	//    * EQUALS: The equals operator.
10839	//
10840	//    * GREATER_THAN: The greater-than operator.
10841	//
10842	//    * IN: The in operator.
10843	//
10844	//    * LESS_THAN: The less-than operator.
10845	//
10846	//    * NOT_IN: The not-in operator.
10847	//
10848	//    * CONTAINS: The contains operator.
10849	Operator *string `locationName:"operator" type:"string" enum:"RuleOperator"`
10850
10851	// The rule's value.
10852	Value *string `locationName:"value" type:"string"`
10853}
10854
10855// String returns the string representation
10856func (s Rule) String() string {
10857	return awsutil.Prettify(s)
10858}
10859
10860// GoString returns the string representation
10861func (s Rule) GoString() string {
10862	return s.String()
10863}
10864
10865// SetAttribute sets the Attribute field's value.
10866func (s *Rule) SetAttribute(v string) *Rule {
10867	s.Attribute = &v
10868	return s
10869}
10870
10871// SetOperator sets the Operator field's value.
10872func (s *Rule) SetOperator(v string) *Rule {
10873	s.Operator = &v
10874	return s
10875}
10876
10877// SetValue sets the Value field's value.
10878func (s *Rule) SetValue(v string) *Rule {
10879	s.Value = &v
10880	return s
10881}
10882
10883// Represents a test run on a set of devices with a given app package, test
10884// parameters, etc.
10885// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Run
10886type Run struct {
10887	_ struct{} `type:"structure"`
10888
10889	// The run's ARN.
10890	Arn *string `locationName:"arn" min:"32" type:"string"`
10891
10892	// Specifies the billing method for a test run: metered or unmetered. If the
10893	// parameter is not specified, the default value is metered.
10894	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
10895
10896	// The total number of completed jobs.
10897	CompletedJobs *int64 `locationName:"completedJobs" type:"integer"`
10898
10899	// The run's result counters.
10900	Counters *Counters `locationName:"counters" type:"structure"`
10901
10902	// When the run was created.
10903	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"unix"`
10904
10905	// Output CustomerArtifactPaths object for the test run.
10906	CustomerArtifactPaths *CustomerArtifactPaths `locationName:"customerArtifactPaths" type:"structure"`
10907
10908	// Represents the total (metered or unmetered) minutes used by the test run.
10909	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
10910
10911	// A message about the run's result.
10912	Message *string `locationName:"message" type:"string"`
10913
10914	// The run's name.
10915	Name *string `locationName:"name" type:"string"`
10916
10917	// The network profile being used for a test run.
10918	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
10919
10920	// Read-only URL for an object in S3 bucket where you can get the parsing results
10921	// of the test package. If the test package doesn't parse, the reason why it
10922	// doesn't parse appears in the file that this URL points to.
10923	ParsingResultUrl *string `locationName:"parsingResultUrl" type:"string"`
10924
10925	// The run's platform.
10926	//
10927	// Allowed values include:
10928	//
10929	//    * ANDROID: The Android platform.
10930	//
10931	//    * IOS: The iOS platform.
10932	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
10933
10934	// The run's result.
10935	//
10936	// Allowed values include:
10937	//
10938	//    * PENDING: A pending condition.
10939	//
10940	//    * PASSED: A passing condition.
10941	//
10942	//    * WARNED: A warning condition.
10943	//
10944	//    * FAILED: A failed condition.
10945	//
10946	//    * SKIPPED: A skipped condition.
10947	//
10948	//    * ERRORED: An error condition.
10949	//
10950	//    * STOPPED: A stopped condition.
10951	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
10952
10953	// Supporting field for the result field. Set only if result is SKIPPED. PARSING_FAILED
10954	// if the result is skipped because of test package parsing failure.
10955	ResultCode *string `locationName:"resultCode" type:"string" enum:"ExecutionResultCode"`
10956
10957	// The run's start time.
10958	Started *time.Time `locationName:"started" type:"timestamp" timestampFormat:"unix"`
10959
10960	// The run's status.
10961	//
10962	// Allowed values include:
10963	//
10964	//    * PENDING: A pending status.
10965	//
10966	//    * PENDING_CONCURRENCY: A pending concurrency status.
10967	//
10968	//    * PENDING_DEVICE: A pending device status.
10969	//
10970	//    * PROCESSING: A processing status.
10971	//
10972	//    * SCHEDULING: A scheduling status.
10973	//
10974	//    * PREPARING: A preparing status.
10975	//
10976	//    * RUNNING: A running status.
10977	//
10978	//    * COMPLETED: A completed status.
10979	//
10980	//    * STOPPING: A stopping status.
10981	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
10982
10983	// The run's stop time.
10984	Stopped *time.Time `locationName:"stopped" type:"timestamp" timestampFormat:"unix"`
10985
10986	// The total number of jobs for the run.
10987	TotalJobs *int64 `locationName:"totalJobs" type:"integer"`
10988
10989	// The run's type.
10990	//
10991	// Must be one of the following values:
10992	//
10993	//    * BUILTIN_FUZZ: The built-in fuzz type.
10994	//
10995	//    * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an
10996	//    Android app, interacting with it and capturing screenshots at the same
10997	//    time.
10998	//
10999	//    * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
11000	//
11001	//    * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
11002	//
11003	//    * APPIUM_PYTHON: The Appium Python type.
11004	//
11005	//    * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
11006	//
11007	//    * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
11008	//
11009	//    * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
11010	//
11011	//    * CALABASH: The Calabash type.
11012	//
11013	//    * INSTRUMENTATION: The Instrumentation type.
11014	//
11015	//    * UIAUTOMATION: The uiautomation type.
11016	//
11017	//    * UIAUTOMATOR: The uiautomator type.
11018	//
11019	//    * XCTEST: The XCode test type.
11020	//
11021	//    * XCTEST_UI: The XCode UI test type.
11022	Type *string `locationName:"type" type:"string" enum:"TestType"`
11023}
11024
11025// String returns the string representation
11026func (s Run) String() string {
11027	return awsutil.Prettify(s)
11028}
11029
11030// GoString returns the string representation
11031func (s Run) GoString() string {
11032	return s.String()
11033}
11034
11035// SetArn sets the Arn field's value.
11036func (s *Run) SetArn(v string) *Run {
11037	s.Arn = &v
11038	return s
11039}
11040
11041// SetBillingMethod sets the BillingMethod field's value.
11042func (s *Run) SetBillingMethod(v string) *Run {
11043	s.BillingMethod = &v
11044	return s
11045}
11046
11047// SetCompletedJobs sets the CompletedJobs field's value.
11048func (s *Run) SetCompletedJobs(v int64) *Run {
11049	s.CompletedJobs = &v
11050	return s
11051}
11052
11053// SetCounters sets the Counters field's value.
11054func (s *Run) SetCounters(v *Counters) *Run {
11055	s.Counters = v
11056	return s
11057}
11058
11059// SetCreated sets the Created field's value.
11060func (s *Run) SetCreated(v time.Time) *Run {
11061	s.Created = &v
11062	return s
11063}
11064
11065// SetCustomerArtifactPaths sets the CustomerArtifactPaths field's value.
11066func (s *Run) SetCustomerArtifactPaths(v *CustomerArtifactPaths) *Run {
11067	s.CustomerArtifactPaths = v
11068	return s
11069}
11070
11071// SetDeviceMinutes sets the DeviceMinutes field's value.
11072func (s *Run) SetDeviceMinutes(v *DeviceMinutes) *Run {
11073	s.DeviceMinutes = v
11074	return s
11075}
11076
11077// SetMessage sets the Message field's value.
11078func (s *Run) SetMessage(v string) *Run {
11079	s.Message = &v
11080	return s
11081}
11082
11083// SetName sets the Name field's value.
11084func (s *Run) SetName(v string) *Run {
11085	s.Name = &v
11086	return s
11087}
11088
11089// SetNetworkProfile sets the NetworkProfile field's value.
11090func (s *Run) SetNetworkProfile(v *NetworkProfile) *Run {
11091	s.NetworkProfile = v
11092	return s
11093}
11094
11095// SetParsingResultUrl sets the ParsingResultUrl field's value.
11096func (s *Run) SetParsingResultUrl(v string) *Run {
11097	s.ParsingResultUrl = &v
11098	return s
11099}
11100
11101// SetPlatform sets the Platform field's value.
11102func (s *Run) SetPlatform(v string) *Run {
11103	s.Platform = &v
11104	return s
11105}
11106
11107// SetResult sets the Result field's value.
11108func (s *Run) SetResult(v string) *Run {
11109	s.Result = &v
11110	return s
11111}
11112
11113// SetResultCode sets the ResultCode field's value.
11114func (s *Run) SetResultCode(v string) *Run {
11115	s.ResultCode = &v
11116	return s
11117}
11118
11119// SetStarted sets the Started field's value.
11120func (s *Run) SetStarted(v time.Time) *Run {
11121	s.Started = &v
11122	return s
11123}
11124
11125// SetStatus sets the Status field's value.
11126func (s *Run) SetStatus(v string) *Run {
11127	s.Status = &v
11128	return s
11129}
11130
11131// SetStopped sets the Stopped field's value.
11132func (s *Run) SetStopped(v time.Time) *Run {
11133	s.Stopped = &v
11134	return s
11135}
11136
11137// SetTotalJobs sets the TotalJobs field's value.
11138func (s *Run) SetTotalJobs(v int64) *Run {
11139	s.TotalJobs = &v
11140	return s
11141}
11142
11143// SetType sets the Type field's value.
11144func (s *Run) SetType(v string) *Run {
11145	s.Type = &v
11146	return s
11147}
11148
11149// Represents a sample of performance data.
11150// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Sample
11151type Sample struct {
11152	_ struct{} `type:"structure"`
11153
11154	// The sample's ARN.
11155	Arn *string `locationName:"arn" min:"32" type:"string"`
11156
11157	// The sample's type.
11158	//
11159	// Must be one of the following values:
11160	//
11161	//    * CPU: A CPU sample type. This is expressed as the app processing CPU
11162	//    time (including child processes) as reported by process, as a percentage.
11163	//
11164	//    * MEMORY: A memory usage sample type. This is expressed as the total proportional
11165	//    set size of an app process, in kilobytes.
11166	//
11167	//    * NATIVE_AVG_DRAWTIME
11168	//
11169	//    * NATIVE_FPS
11170	//
11171	//    * NATIVE_FRAMES
11172	//
11173	//    * NATIVE_MAX_DRAWTIME
11174	//
11175	//    * NATIVE_MIN_DRAWTIME
11176	//
11177	//    * OPENGL_AVG_DRAWTIME
11178	//
11179	//    * OPENGL_FPS
11180	//
11181	//    * OPENGL_FRAMES
11182	//
11183	//    * OPENGL_MAX_DRAWTIME
11184	//
11185	//    * OPENGL_MIN_DRAWTIME
11186	//
11187	//    * RX
11188	//
11189	//    * RX_RATE: The total number of bytes per second (TCP and UDP) that are
11190	//    sent, by app process.
11191	//
11192	//    * THREADS: A threads sample type. This is expressed as the total number
11193	//    of threads per app process.
11194	//
11195	//    * TX
11196	//
11197	//    * TX_RATE: The total number of bytes per second (TCP and UDP) that are
11198	//    received, by app process.
11199	Type *string `locationName:"type" type:"string" enum:"SampleType"`
11200
11201	// The pre-signed Amazon S3 URL that can be used with a corresponding GET request
11202	// to download the sample's file.
11203	Url *string `locationName:"url" type:"string"`
11204}
11205
11206// String returns the string representation
11207func (s Sample) String() string {
11208	return awsutil.Prettify(s)
11209}
11210
11211// GoString returns the string representation
11212func (s Sample) GoString() string {
11213	return s.String()
11214}
11215
11216// SetArn sets the Arn field's value.
11217func (s *Sample) SetArn(v string) *Sample {
11218	s.Arn = &v
11219	return s
11220}
11221
11222// SetType sets the Type field's value.
11223func (s *Sample) SetType(v string) *Sample {
11224	s.Type = &v
11225	return s
11226}
11227
11228// SetUrl sets the Url field's value.
11229func (s *Sample) SetUrl(v string) *Sample {
11230	s.Url = &v
11231	return s
11232}
11233
11234// Represents the settings for a run. Includes things like location, radio states,
11235// auxiliary apps, and network profiles.
11236// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRunConfiguration
11237type ScheduleRunConfiguration struct {
11238	_ struct{} `type:"structure"`
11239
11240	// A list of auxiliary apps for the run.
11241	AuxiliaryApps []*string `locationName:"auxiliaryApps" type:"list"`
11242
11243	// Specifies the billing method for a test run: metered or unmetered. If the
11244	// parameter is not specified, the default value is metered.
11245	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
11246
11247	// Input CustomerArtifactPaths object for the scheduled run configuration.
11248	CustomerArtifactPaths *CustomerArtifactPaths `locationName:"customerArtifactPaths" type:"structure"`
11249
11250	// The ARN of the extra data for the run. The extra data is a .zip file that
11251	// AWS Device Farm will extract to external data for Android or the app's sandbox
11252	// for iOS.
11253	ExtraDataPackageArn *string `locationName:"extraDataPackageArn" min:"32" type:"string"`
11254
11255	// Information about the locale that is used for the run.
11256	Locale *string `locationName:"locale" type:"string"`
11257
11258	// Information about the location that is used for the run.
11259	Location *Location `locationName:"location" type:"structure"`
11260
11261	// Reserved for internal use.
11262	NetworkProfileArn *string `locationName:"networkProfileArn" min:"32" type:"string"`
11263
11264	// Information about the radio states for the run.
11265	Radios *Radios `locationName:"radios" type:"structure"`
11266}
11267
11268// String returns the string representation
11269func (s ScheduleRunConfiguration) String() string {
11270	return awsutil.Prettify(s)
11271}
11272
11273// GoString returns the string representation
11274func (s ScheduleRunConfiguration) GoString() string {
11275	return s.String()
11276}
11277
11278// Validate inspects the fields of the type to determine if they are valid.
11279func (s *ScheduleRunConfiguration) Validate() error {
11280	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunConfiguration"}
11281	if s.ExtraDataPackageArn != nil && len(*s.ExtraDataPackageArn) < 32 {
11282		invalidParams.Add(request.NewErrParamMinLen("ExtraDataPackageArn", 32))
11283	}
11284	if s.NetworkProfileArn != nil && len(*s.NetworkProfileArn) < 32 {
11285		invalidParams.Add(request.NewErrParamMinLen("NetworkProfileArn", 32))
11286	}
11287	if s.Location != nil {
11288		if err := s.Location.Validate(); err != nil {
11289			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
11290		}
11291	}
11292
11293	if invalidParams.Len() > 0 {
11294		return invalidParams
11295	}
11296	return nil
11297}
11298
11299// SetAuxiliaryApps sets the AuxiliaryApps field's value.
11300func (s *ScheduleRunConfiguration) SetAuxiliaryApps(v []*string) *ScheduleRunConfiguration {
11301	s.AuxiliaryApps = v
11302	return s
11303}
11304
11305// SetBillingMethod sets the BillingMethod field's value.
11306func (s *ScheduleRunConfiguration) SetBillingMethod(v string) *ScheduleRunConfiguration {
11307	s.BillingMethod = &v
11308	return s
11309}
11310
11311// SetCustomerArtifactPaths sets the CustomerArtifactPaths field's value.
11312func (s *ScheduleRunConfiguration) SetCustomerArtifactPaths(v *CustomerArtifactPaths) *ScheduleRunConfiguration {
11313	s.CustomerArtifactPaths = v
11314	return s
11315}
11316
11317// SetExtraDataPackageArn sets the ExtraDataPackageArn field's value.
11318func (s *ScheduleRunConfiguration) SetExtraDataPackageArn(v string) *ScheduleRunConfiguration {
11319	s.ExtraDataPackageArn = &v
11320	return s
11321}
11322
11323// SetLocale sets the Locale field's value.
11324func (s *ScheduleRunConfiguration) SetLocale(v string) *ScheduleRunConfiguration {
11325	s.Locale = &v
11326	return s
11327}
11328
11329// SetLocation sets the Location field's value.
11330func (s *ScheduleRunConfiguration) SetLocation(v *Location) *ScheduleRunConfiguration {
11331	s.Location = v
11332	return s
11333}
11334
11335// SetNetworkProfileArn sets the NetworkProfileArn field's value.
11336func (s *ScheduleRunConfiguration) SetNetworkProfileArn(v string) *ScheduleRunConfiguration {
11337	s.NetworkProfileArn = &v
11338	return s
11339}
11340
11341// SetRadios sets the Radios field's value.
11342func (s *ScheduleRunConfiguration) SetRadios(v *Radios) *ScheduleRunConfiguration {
11343	s.Radios = v
11344	return s
11345}
11346
11347// Represents a request to the schedule run operation.
11348// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRunRequest
11349type ScheduleRunInput struct {
11350	_ struct{} `type:"structure"`
11351
11352	// The ARN of the app to schedule a run.
11353	AppArn *string `locationName:"appArn" min:"32" type:"string"`
11354
11355	// Information about the settings for the run to be scheduled.
11356	Configuration *ScheduleRunConfiguration `locationName:"configuration" type:"structure"`
11357
11358	// The ARN of the device pool for the run to be scheduled.
11359	//
11360	// DevicePoolArn is a required field
11361	DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string" required:"true"`
11362
11363	// Specifies configuration information about a test run, such as the execution
11364	// timeout (in minutes).
11365	ExecutionConfiguration *ExecutionConfiguration `locationName:"executionConfiguration" type:"structure"`
11366
11367	// The name for the run to be scheduled.
11368	Name *string `locationName:"name" type:"string"`
11369
11370	// The ARN of the project for the run to be scheduled.
11371	//
11372	// ProjectArn is a required field
11373	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
11374
11375	// Information about the test for the run to be scheduled.
11376	//
11377	// Test is a required field
11378	Test *ScheduleRunTest `locationName:"test" type:"structure" required:"true"`
11379}
11380
11381// String returns the string representation
11382func (s ScheduleRunInput) String() string {
11383	return awsutil.Prettify(s)
11384}
11385
11386// GoString returns the string representation
11387func (s ScheduleRunInput) GoString() string {
11388	return s.String()
11389}
11390
11391// Validate inspects the fields of the type to determine if they are valid.
11392func (s *ScheduleRunInput) Validate() error {
11393	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunInput"}
11394	if s.AppArn != nil && len(*s.AppArn) < 32 {
11395		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
11396	}
11397	if s.DevicePoolArn == nil {
11398		invalidParams.Add(request.NewErrParamRequired("DevicePoolArn"))
11399	}
11400	if s.DevicePoolArn != nil && len(*s.DevicePoolArn) < 32 {
11401		invalidParams.Add(request.NewErrParamMinLen("DevicePoolArn", 32))
11402	}
11403	if s.ProjectArn == nil {
11404		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
11405	}
11406	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
11407		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
11408	}
11409	if s.Test == nil {
11410		invalidParams.Add(request.NewErrParamRequired("Test"))
11411	}
11412	if s.Configuration != nil {
11413		if err := s.Configuration.Validate(); err != nil {
11414			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
11415		}
11416	}
11417	if s.Test != nil {
11418		if err := s.Test.Validate(); err != nil {
11419			invalidParams.AddNested("Test", err.(request.ErrInvalidParams))
11420		}
11421	}
11422
11423	if invalidParams.Len() > 0 {
11424		return invalidParams
11425	}
11426	return nil
11427}
11428
11429// SetAppArn sets the AppArn field's value.
11430func (s *ScheduleRunInput) SetAppArn(v string) *ScheduleRunInput {
11431	s.AppArn = &v
11432	return s
11433}
11434
11435// SetConfiguration sets the Configuration field's value.
11436func (s *ScheduleRunInput) SetConfiguration(v *ScheduleRunConfiguration) *ScheduleRunInput {
11437	s.Configuration = v
11438	return s
11439}
11440
11441// SetDevicePoolArn sets the DevicePoolArn field's value.
11442func (s *ScheduleRunInput) SetDevicePoolArn(v string) *ScheduleRunInput {
11443	s.DevicePoolArn = &v
11444	return s
11445}
11446
11447// SetExecutionConfiguration sets the ExecutionConfiguration field's value.
11448func (s *ScheduleRunInput) SetExecutionConfiguration(v *ExecutionConfiguration) *ScheduleRunInput {
11449	s.ExecutionConfiguration = v
11450	return s
11451}
11452
11453// SetName sets the Name field's value.
11454func (s *ScheduleRunInput) SetName(v string) *ScheduleRunInput {
11455	s.Name = &v
11456	return s
11457}
11458
11459// SetProjectArn sets the ProjectArn field's value.
11460func (s *ScheduleRunInput) SetProjectArn(v string) *ScheduleRunInput {
11461	s.ProjectArn = &v
11462	return s
11463}
11464
11465// SetTest sets the Test field's value.
11466func (s *ScheduleRunInput) SetTest(v *ScheduleRunTest) *ScheduleRunInput {
11467	s.Test = v
11468	return s
11469}
11470
11471// Represents the result of a schedule run request.
11472// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRunResult
11473type ScheduleRunOutput struct {
11474	_ struct{} `type:"structure"`
11475
11476	// Information about the scheduled run.
11477	Run *Run `locationName:"run" type:"structure"`
11478}
11479
11480// String returns the string representation
11481func (s ScheduleRunOutput) String() string {
11482	return awsutil.Prettify(s)
11483}
11484
11485// GoString returns the string representation
11486func (s ScheduleRunOutput) GoString() string {
11487	return s.String()
11488}
11489
11490// SetRun sets the Run field's value.
11491func (s *ScheduleRunOutput) SetRun(v *Run) *ScheduleRunOutput {
11492	s.Run = v
11493	return s
11494}
11495
11496// Represents additional test settings.
11497// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRunTest
11498type ScheduleRunTest struct {
11499	_ struct{} `type:"structure"`
11500
11501	// The test's filter.
11502	Filter *string `locationName:"filter" type:"string"`
11503
11504	// The test's parameters, such as the following test framework parameters and
11505	// fixture settings:
11506	//
11507	// For Calabash tests:
11508	//
11509	//    * profile: A cucumber profile, for example, "my_profile_name".
11510	//
11511	//    * tags: You can limit execution to features or scenarios that have (or
11512	//    don't have) certain tags, for example, "@smoke" or "@smoke,~@wip".
11513	//
11514	// For Appium tests (all types):
11515	//
11516	//    * appium_version: The Appium version. Currently supported values are "1.4.16",
11517	//    "1.6.3", "latest", and "default".
11518	//
11519	// “latest” will run the latest Appium version supported by Device Farm (1.6.3).
11520	//
11521	// For “default”, Device Farm will choose a compatible version of Appium for
11522	//    the device. The current behavior is to run 1.4.16 on Android devices and
11523	//    iOS 9 and earlier, 1.6.3 for iOS 10 and later.
11524	//
11525	// This behavior is subject to change.
11526	//
11527	// For Fuzz tests (Android only):
11528	//
11529	//    * event_count: The number of events, between 1 and 10000, that the UI
11530	//    fuzz test should perform.
11531	//
11532	//    * throttle: The time, in ms, between 0 and 1000, that the UI fuzz test
11533	//    should wait between events.
11534	//
11535	//    * seed: A seed to use for randomizing the UI fuzz test. Using the same
11536	//    seed value between tests ensures identical event sequences.
11537	//
11538	// For Explorer tests:
11539	//
11540	//    * username: A username to use if the Explorer encounters a login form.
11541	//    If not supplied, no username will be inserted.
11542	//
11543	//    * password: A password to use if the Explorer encounters a login form.
11544	//    If not supplied, no password will be inserted.
11545	//
11546	// For Instrumentation:
11547	//
11548	//    * filter: A test filter string. Examples:
11549	//
11550	// Running a single test case: "com.android.abc.Test1"
11551	//
11552	// Running a single test: "com.android.abc.Test1#smoke"
11553	//
11554	// Running multiple tests: "com.android.abc.Test1,com.android.abc.Test2"
11555	//
11556	// For XCTest and XCTestUI:
11557	//
11558	//    * filter: A test filter string. Examples:
11559	//
11560	// Running a single test class: "LoginTests"
11561	//
11562	// Running a multiple test classes: "LoginTests,SmokeTests"
11563	//
11564	// Running a single test: "LoginTests/testValid"
11565	//
11566	// Running multiple tests: "LoginTests/testValid,LoginTests/testInvalid"
11567	//
11568	// For UIAutomator:
11569	//
11570	//    * filter: A test filter string. Examples:
11571	//
11572	// Running a single test case: "com.android.abc.Test1"
11573	//
11574	// Running a single test: "com.android.abc.Test1#smoke"
11575	//
11576	// Running multiple tests: "com.android.abc.Test1,com.android.abc.Test2"
11577	Parameters map[string]*string `locationName:"parameters" type:"map"`
11578
11579	// The ARN of the uploaded test that will be run.
11580	TestPackageArn *string `locationName:"testPackageArn" min:"32" type:"string"`
11581
11582	// The test's type.
11583	//
11584	// Must be one of the following values:
11585	//
11586	//    * BUILTIN_FUZZ: The built-in fuzz type.
11587	//
11588	//    * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an
11589	//    Android app, interacting with it and capturing screenshots at the same
11590	//    time.
11591	//
11592	//    * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
11593	//
11594	//    * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
11595	//
11596	//    * APPIUM_PYTHON: The Appium Python type.
11597	//
11598	//    * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
11599	//
11600	//    * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
11601	//
11602	//    * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
11603	//
11604	//    * CALABASH: The Calabash type.
11605	//
11606	//    * INSTRUMENTATION: The Instrumentation type.
11607	//
11608	//    * UIAUTOMATION: The uiautomation type.
11609	//
11610	//    * UIAUTOMATOR: The uiautomator type.
11611	//
11612	//    * XCTEST: The XCode test type.
11613	//
11614	//    * XCTEST_UI: The XCode UI test type.
11615	//
11616	// Type is a required field
11617	Type *string `locationName:"type" type:"string" required:"true" enum:"TestType"`
11618}
11619
11620// String returns the string representation
11621func (s ScheduleRunTest) String() string {
11622	return awsutil.Prettify(s)
11623}
11624
11625// GoString returns the string representation
11626func (s ScheduleRunTest) GoString() string {
11627	return s.String()
11628}
11629
11630// Validate inspects the fields of the type to determine if they are valid.
11631func (s *ScheduleRunTest) Validate() error {
11632	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunTest"}
11633	if s.TestPackageArn != nil && len(*s.TestPackageArn) < 32 {
11634		invalidParams.Add(request.NewErrParamMinLen("TestPackageArn", 32))
11635	}
11636	if s.Type == nil {
11637		invalidParams.Add(request.NewErrParamRequired("Type"))
11638	}
11639
11640	if invalidParams.Len() > 0 {
11641		return invalidParams
11642	}
11643	return nil
11644}
11645
11646// SetFilter sets the Filter field's value.
11647func (s *ScheduleRunTest) SetFilter(v string) *ScheduleRunTest {
11648	s.Filter = &v
11649	return s
11650}
11651
11652// SetParameters sets the Parameters field's value.
11653func (s *ScheduleRunTest) SetParameters(v map[string]*string) *ScheduleRunTest {
11654	s.Parameters = v
11655	return s
11656}
11657
11658// SetTestPackageArn sets the TestPackageArn field's value.
11659func (s *ScheduleRunTest) SetTestPackageArn(v string) *ScheduleRunTest {
11660	s.TestPackageArn = &v
11661	return s
11662}
11663
11664// SetType sets the Type field's value.
11665func (s *ScheduleRunTest) SetType(v string) *ScheduleRunTest {
11666	s.Type = &v
11667	return s
11668}
11669
11670// Represents the request to stop the remote access session.
11671// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRemoteAccessSessionRequest
11672type StopRemoteAccessSessionInput struct {
11673	_ struct{} `type:"structure"`
11674
11675	// The Amazon Resource Name (ARN) of the remote access session you wish to stop.
11676	//
11677	// Arn is a required field
11678	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11679}
11680
11681// String returns the string representation
11682func (s StopRemoteAccessSessionInput) String() string {
11683	return awsutil.Prettify(s)
11684}
11685
11686// GoString returns the string representation
11687func (s StopRemoteAccessSessionInput) GoString() string {
11688	return s.String()
11689}
11690
11691// Validate inspects the fields of the type to determine if they are valid.
11692func (s *StopRemoteAccessSessionInput) Validate() error {
11693	invalidParams := request.ErrInvalidParams{Context: "StopRemoteAccessSessionInput"}
11694	if s.Arn == nil {
11695		invalidParams.Add(request.NewErrParamRequired("Arn"))
11696	}
11697	if s.Arn != nil && len(*s.Arn) < 32 {
11698		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11699	}
11700
11701	if invalidParams.Len() > 0 {
11702		return invalidParams
11703	}
11704	return nil
11705}
11706
11707// SetArn sets the Arn field's value.
11708func (s *StopRemoteAccessSessionInput) SetArn(v string) *StopRemoteAccessSessionInput {
11709	s.Arn = &v
11710	return s
11711}
11712
11713// Represents the response from the server that describes the remote access
11714// session when AWS Device Farm stops the session.
11715// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRemoteAccessSessionResult
11716type StopRemoteAccessSessionOutput struct {
11717	_ struct{} `type:"structure"`
11718
11719	// A container representing the metadata from the service about the remote access
11720	// session you are stopping.
11721	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
11722}
11723
11724// String returns the string representation
11725func (s StopRemoteAccessSessionOutput) String() string {
11726	return awsutil.Prettify(s)
11727}
11728
11729// GoString returns the string representation
11730func (s StopRemoteAccessSessionOutput) GoString() string {
11731	return s.String()
11732}
11733
11734// SetRemoteAccessSession sets the RemoteAccessSession field's value.
11735func (s *StopRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *StopRemoteAccessSessionOutput {
11736	s.RemoteAccessSession = v
11737	return s
11738}
11739
11740// Represents the request to stop a specific run.
11741// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRunRequest
11742type StopRunInput struct {
11743	_ struct{} `type:"structure"`
11744
11745	// Represents the Amazon Resource Name (ARN) of the Device Farm run you wish
11746	// to stop.
11747	//
11748	// Arn is a required field
11749	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11750}
11751
11752// String returns the string representation
11753func (s StopRunInput) String() string {
11754	return awsutil.Prettify(s)
11755}
11756
11757// GoString returns the string representation
11758func (s StopRunInput) GoString() string {
11759	return s.String()
11760}
11761
11762// Validate inspects the fields of the type to determine if they are valid.
11763func (s *StopRunInput) Validate() error {
11764	invalidParams := request.ErrInvalidParams{Context: "StopRunInput"}
11765	if s.Arn == nil {
11766		invalidParams.Add(request.NewErrParamRequired("Arn"))
11767	}
11768	if s.Arn != nil && len(*s.Arn) < 32 {
11769		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11770	}
11771
11772	if invalidParams.Len() > 0 {
11773		return invalidParams
11774	}
11775	return nil
11776}
11777
11778// SetArn sets the Arn field's value.
11779func (s *StopRunInput) SetArn(v string) *StopRunInput {
11780	s.Arn = &v
11781	return s
11782}
11783
11784// Represents the results of your stop run attempt.
11785// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRunResult
11786type StopRunOutput struct {
11787	_ struct{} `type:"structure"`
11788
11789	// The run that was stopped.
11790	Run *Run `locationName:"run" type:"structure"`
11791}
11792
11793// String returns the string representation
11794func (s StopRunOutput) String() string {
11795	return awsutil.Prettify(s)
11796}
11797
11798// GoString returns the string representation
11799func (s StopRunOutput) GoString() string {
11800	return s.String()
11801}
11802
11803// SetRun sets the Run field's value.
11804func (s *StopRunOutput) SetRun(v *Run) *StopRunOutput {
11805	s.Run = v
11806	return s
11807}
11808
11809// Represents a collection of one or more tests.
11810// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Suite
11811type Suite struct {
11812	_ struct{} `type:"structure"`
11813
11814	// The suite's ARN.
11815	Arn *string `locationName:"arn" min:"32" type:"string"`
11816
11817	// The suite's result counters.
11818	Counters *Counters `locationName:"counters" type:"structure"`
11819
11820	// When the suite was created.
11821	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"unix"`
11822
11823	// Represents the total (metered or unmetered) minutes used by the test suite.
11824	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
11825
11826	// A message about the suite's result.
11827	Message *string `locationName:"message" type:"string"`
11828
11829	// The suite's name.
11830	Name *string `locationName:"name" type:"string"`
11831
11832	// The suite's result.
11833	//
11834	// Allowed values include:
11835	//
11836	//    * PENDING: A pending condition.
11837	//
11838	//    * PASSED: A passing condition.
11839	//
11840	//    * WARNED: A warning condition.
11841	//
11842	//    * FAILED: A failed condition.
11843	//
11844	//    * SKIPPED: A skipped condition.
11845	//
11846	//    * ERRORED: An error condition.
11847	//
11848	//    * STOPPED: A stopped condition.
11849	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
11850
11851	// The suite's start time.
11852	Started *time.Time `locationName:"started" type:"timestamp" timestampFormat:"unix"`
11853
11854	// The suite's status.
11855	//
11856	// Allowed values include:
11857	//
11858	//    * PENDING: A pending status.
11859	//
11860	//    * PENDING_CONCURRENCY: A pending concurrency status.
11861	//
11862	//    * PENDING_DEVICE: A pending device status.
11863	//
11864	//    * PROCESSING: A processing status.
11865	//
11866	//    * SCHEDULING: A scheduling status.
11867	//
11868	//    * PREPARING: A preparing status.
11869	//
11870	//    * RUNNING: A running status.
11871	//
11872	//    * COMPLETED: A completed status.
11873	//
11874	//    * STOPPING: A stopping status.
11875	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
11876
11877	// The suite's stop time.
11878	Stopped *time.Time `locationName:"stopped" type:"timestamp" timestampFormat:"unix"`
11879
11880	// The suite's type.
11881	//
11882	// Must be one of the following values:
11883	//
11884	//    * BUILTIN_FUZZ: The built-in fuzz type.
11885	//
11886	//    * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an
11887	//    Android app, interacting with it and capturing screenshots at the same
11888	//    time.
11889	//
11890	//    * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
11891	//
11892	//    * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
11893	//
11894	//    * APPIUM_PYTHON: The Appium Python type.
11895	//
11896	//    * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
11897	//
11898	//    * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
11899	//
11900	//    * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
11901	//
11902	//    * CALABASH: The Calabash type.
11903	//
11904	//    * INSTRUMENTATION: The Instrumentation type.
11905	//
11906	//    * UIAUTOMATION: The uiautomation type.
11907	//
11908	//    * UIAUTOMATOR: The uiautomator type.
11909	//
11910	//    * XCTEST: The XCode test type.
11911	//
11912	//    * XCTEST_UI: The XCode UI test type.
11913	Type *string `locationName:"type" type:"string" enum:"TestType"`
11914}
11915
11916// String returns the string representation
11917func (s Suite) String() string {
11918	return awsutil.Prettify(s)
11919}
11920
11921// GoString returns the string representation
11922func (s Suite) GoString() string {
11923	return s.String()
11924}
11925
11926// SetArn sets the Arn field's value.
11927func (s *Suite) SetArn(v string) *Suite {
11928	s.Arn = &v
11929	return s
11930}
11931
11932// SetCounters sets the Counters field's value.
11933func (s *Suite) SetCounters(v *Counters) *Suite {
11934	s.Counters = v
11935	return s
11936}
11937
11938// SetCreated sets the Created field's value.
11939func (s *Suite) SetCreated(v time.Time) *Suite {
11940	s.Created = &v
11941	return s
11942}
11943
11944// SetDeviceMinutes sets the DeviceMinutes field's value.
11945func (s *Suite) SetDeviceMinutes(v *DeviceMinutes) *Suite {
11946	s.DeviceMinutes = v
11947	return s
11948}
11949
11950// SetMessage sets the Message field's value.
11951func (s *Suite) SetMessage(v string) *Suite {
11952	s.Message = &v
11953	return s
11954}
11955
11956// SetName sets the Name field's value.
11957func (s *Suite) SetName(v string) *Suite {
11958	s.Name = &v
11959	return s
11960}
11961
11962// SetResult sets the Result field's value.
11963func (s *Suite) SetResult(v string) *Suite {
11964	s.Result = &v
11965	return s
11966}
11967
11968// SetStarted sets the Started field's value.
11969func (s *Suite) SetStarted(v time.Time) *Suite {
11970	s.Started = &v
11971	return s
11972}
11973
11974// SetStatus sets the Status field's value.
11975func (s *Suite) SetStatus(v string) *Suite {
11976	s.Status = &v
11977	return s
11978}
11979
11980// SetStopped sets the Stopped field's value.
11981func (s *Suite) SetStopped(v time.Time) *Suite {
11982	s.Stopped = &v
11983	return s
11984}
11985
11986// SetType sets the Type field's value.
11987func (s *Suite) SetType(v string) *Suite {
11988	s.Type = &v
11989	return s
11990}
11991
11992// Represents a condition that is evaluated.
11993// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Test
11994type Test struct {
11995	_ struct{} `type:"structure"`
11996
11997	// The test's ARN.
11998	Arn *string `locationName:"arn" min:"32" type:"string"`
11999
12000	// The test's result counters.
12001	Counters *Counters `locationName:"counters" type:"structure"`
12002
12003	// When the test was created.
12004	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"unix"`
12005
12006	// Represents the total (metered or unmetered) minutes used by the test.
12007	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
12008
12009	// A message about the test's result.
12010	Message *string `locationName:"message" type:"string"`
12011
12012	// The test's name.
12013	Name *string `locationName:"name" type:"string"`
12014
12015	// The test's result.
12016	//
12017	// Allowed values include:
12018	//
12019	//    * PENDING: A pending condition.
12020	//
12021	//    * PASSED: A passing condition.
12022	//
12023	//    * WARNED: A warning condition.
12024	//
12025	//    * FAILED: A failed condition.
12026	//
12027	//    * SKIPPED: A skipped condition.
12028	//
12029	//    * ERRORED: An error condition.
12030	//
12031	//    * STOPPED: A stopped condition.
12032	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
12033
12034	// The test's start time.
12035	Started *time.Time `locationName:"started" type:"timestamp" timestampFormat:"unix"`
12036
12037	// The test's status.
12038	//
12039	// Allowed values include:
12040	//
12041	//    * PENDING: A pending status.
12042	//
12043	//    * PENDING_CONCURRENCY: A pending concurrency status.
12044	//
12045	//    * PENDING_DEVICE: A pending device status.
12046	//
12047	//    * PROCESSING: A processing status.
12048	//
12049	//    * SCHEDULING: A scheduling status.
12050	//
12051	//    * PREPARING: A preparing status.
12052	//
12053	//    * RUNNING: A running status.
12054	//
12055	//    * COMPLETED: A completed status.
12056	//
12057	//    * STOPPING: A stopping status.
12058	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
12059
12060	// The test's stop time.
12061	Stopped *time.Time `locationName:"stopped" type:"timestamp" timestampFormat:"unix"`
12062
12063	// The test's type.
12064	//
12065	// Must be one of the following values:
12066	//
12067	//    * BUILTIN_FUZZ: The built-in fuzz type.
12068	//
12069	//    * BUILTIN_EXPLORER: For Android, an app explorer that will traverse an
12070	//    Android app, interacting with it and capturing screenshots at the same
12071	//    time.
12072	//
12073	//    * APPIUM_JAVA_JUNIT: The Appium Java JUnit type.
12074	//
12075	//    * APPIUM_JAVA_TESTNG: The Appium Java TestNG type.
12076	//
12077	//    * APPIUM_PYTHON: The Appium Python type.
12078	//
12079	//    * APPIUM_WEB_JAVA_JUNIT: The Appium Java JUnit type for Web apps.
12080	//
12081	//    * APPIUM_WEB_JAVA_TESTNG: The Appium Java TestNG type for Web apps.
12082	//
12083	//    * APPIUM_WEB_PYTHON: The Appium Python type for Web apps.
12084	//
12085	//    * CALABASH: The Calabash type.
12086	//
12087	//    * INSTRUMENTATION: The Instrumentation type.
12088	//
12089	//    * UIAUTOMATION: The uiautomation type.
12090	//
12091	//    * UIAUTOMATOR: The uiautomator type.
12092	//
12093	//    * XCTEST: The XCode test type.
12094	//
12095	//    * XCTEST_UI: The XCode UI test type.
12096	Type *string `locationName:"type" type:"string" enum:"TestType"`
12097}
12098
12099// String returns the string representation
12100func (s Test) String() string {
12101	return awsutil.Prettify(s)
12102}
12103
12104// GoString returns the string representation
12105func (s Test) GoString() string {
12106	return s.String()
12107}
12108
12109// SetArn sets the Arn field's value.
12110func (s *Test) SetArn(v string) *Test {
12111	s.Arn = &v
12112	return s
12113}
12114
12115// SetCounters sets the Counters field's value.
12116func (s *Test) SetCounters(v *Counters) *Test {
12117	s.Counters = v
12118	return s
12119}
12120
12121// SetCreated sets the Created field's value.
12122func (s *Test) SetCreated(v time.Time) *Test {
12123	s.Created = &v
12124	return s
12125}
12126
12127// SetDeviceMinutes sets the DeviceMinutes field's value.
12128func (s *Test) SetDeviceMinutes(v *DeviceMinutes) *Test {
12129	s.DeviceMinutes = v
12130	return s
12131}
12132
12133// SetMessage sets the Message field's value.
12134func (s *Test) SetMessage(v string) *Test {
12135	s.Message = &v
12136	return s
12137}
12138
12139// SetName sets the Name field's value.
12140func (s *Test) SetName(v string) *Test {
12141	s.Name = &v
12142	return s
12143}
12144
12145// SetResult sets the Result field's value.
12146func (s *Test) SetResult(v string) *Test {
12147	s.Result = &v
12148	return s
12149}
12150
12151// SetStarted sets the Started field's value.
12152func (s *Test) SetStarted(v time.Time) *Test {
12153	s.Started = &v
12154	return s
12155}
12156
12157// SetStatus sets the Status field's value.
12158func (s *Test) SetStatus(v string) *Test {
12159	s.Status = &v
12160	return s
12161}
12162
12163// SetStopped sets the Stopped field's value.
12164func (s *Test) SetStopped(v time.Time) *Test {
12165	s.Stopped = &v
12166	return s
12167}
12168
12169// SetType sets the Type field's value.
12170func (s *Test) SetType(v string) *Test {
12171	s.Type = &v
12172	return s
12173}
12174
12175// Represents information about free trial device minutes for an AWS account.
12176// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/TrialMinutes
12177type TrialMinutes struct {
12178	_ struct{} `type:"structure"`
12179
12180	// The number of free trial minutes remaining in the account.
12181	Remaining *float64 `locationName:"remaining" type:"double"`
12182
12183	// The total number of free trial minutes that the account started with.
12184	Total *float64 `locationName:"total" type:"double"`
12185}
12186
12187// String returns the string representation
12188func (s TrialMinutes) String() string {
12189	return awsutil.Prettify(s)
12190}
12191
12192// GoString returns the string representation
12193func (s TrialMinutes) GoString() string {
12194	return s.String()
12195}
12196
12197// SetRemaining sets the Remaining field's value.
12198func (s *TrialMinutes) SetRemaining(v float64) *TrialMinutes {
12199	s.Remaining = &v
12200	return s
12201}
12202
12203// SetTotal sets the Total field's value.
12204func (s *TrialMinutes) SetTotal(v float64) *TrialMinutes {
12205	s.Total = &v
12206	return s
12207}
12208
12209// A collection of one or more problems, grouped by their result.
12210// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UniqueProblem
12211type UniqueProblem struct {
12212	_ struct{} `type:"structure"`
12213
12214	// A message about the unique problems' result.
12215	Message *string `locationName:"message" type:"string"`
12216
12217	// Information about the problems.
12218	Problems []*Problem `locationName:"problems" type:"list"`
12219}
12220
12221// String returns the string representation
12222func (s UniqueProblem) String() string {
12223	return awsutil.Prettify(s)
12224}
12225
12226// GoString returns the string representation
12227func (s UniqueProblem) GoString() string {
12228	return s.String()
12229}
12230
12231// SetMessage sets the Message field's value.
12232func (s *UniqueProblem) SetMessage(v string) *UniqueProblem {
12233	s.Message = &v
12234	return s
12235}
12236
12237// SetProblems sets the Problems field's value.
12238func (s *UniqueProblem) SetProblems(v []*Problem) *UniqueProblem {
12239	s.Problems = v
12240	return s
12241}
12242
12243// Represents a request to the update device pool operation.
12244// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDevicePoolRequest
12245type UpdateDevicePoolInput struct {
12246	_ struct{} `type:"structure"`
12247
12248	// The Amazon Resourc Name (ARN) of the Device Farm device pool you wish to
12249	// update.
12250	//
12251	// Arn is a required field
12252	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
12253
12254	// A description of the device pool you wish to update.
12255	Description *string `locationName:"description" type:"string"`
12256
12257	// A string representing the name of the device pool you wish to update.
12258	Name *string `locationName:"name" type:"string"`
12259
12260	// Represents the rules you wish to modify for the device pool. Updating rules
12261	// is optional; however, if you choose to update rules for your request, the
12262	// update will replace the existing rules.
12263	Rules []*Rule `locationName:"rules" type:"list"`
12264}
12265
12266// String returns the string representation
12267func (s UpdateDevicePoolInput) String() string {
12268	return awsutil.Prettify(s)
12269}
12270
12271// GoString returns the string representation
12272func (s UpdateDevicePoolInput) GoString() string {
12273	return s.String()
12274}
12275
12276// Validate inspects the fields of the type to determine if they are valid.
12277func (s *UpdateDevicePoolInput) Validate() error {
12278	invalidParams := request.ErrInvalidParams{Context: "UpdateDevicePoolInput"}
12279	if s.Arn == nil {
12280		invalidParams.Add(request.NewErrParamRequired("Arn"))
12281	}
12282	if s.Arn != nil && len(*s.Arn) < 32 {
12283		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
12284	}
12285
12286	if invalidParams.Len() > 0 {
12287		return invalidParams
12288	}
12289	return nil
12290}
12291
12292// SetArn sets the Arn field's value.
12293func (s *UpdateDevicePoolInput) SetArn(v string) *UpdateDevicePoolInput {
12294	s.Arn = &v
12295	return s
12296}
12297
12298// SetDescription sets the Description field's value.
12299func (s *UpdateDevicePoolInput) SetDescription(v string) *UpdateDevicePoolInput {
12300	s.Description = &v
12301	return s
12302}
12303
12304// SetName sets the Name field's value.
12305func (s *UpdateDevicePoolInput) SetName(v string) *UpdateDevicePoolInput {
12306	s.Name = &v
12307	return s
12308}
12309
12310// SetRules sets the Rules field's value.
12311func (s *UpdateDevicePoolInput) SetRules(v []*Rule) *UpdateDevicePoolInput {
12312	s.Rules = v
12313	return s
12314}
12315
12316// Represents the result of an update device pool request.
12317// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDevicePoolResult
12318type UpdateDevicePoolOutput struct {
12319	_ struct{} `type:"structure"`
12320
12321	// The device pool you just updated.
12322	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
12323}
12324
12325// String returns the string representation
12326func (s UpdateDevicePoolOutput) String() string {
12327	return awsutil.Prettify(s)
12328}
12329
12330// GoString returns the string representation
12331func (s UpdateDevicePoolOutput) GoString() string {
12332	return s.String()
12333}
12334
12335// SetDevicePool sets the DevicePool field's value.
12336func (s *UpdateDevicePoolOutput) SetDevicePool(v *DevicePool) *UpdateDevicePoolOutput {
12337	s.DevicePool = v
12338	return s
12339}
12340
12341// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateNetworkProfileRequest
12342type UpdateNetworkProfileInput struct {
12343	_ struct{} `type:"structure"`
12344
12345	// The Amazon Resource Name (ARN) of the project that you wish to update network
12346	// profile settings.
12347	//
12348	// Arn is a required field
12349	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
12350
12351	// The descriptoin of the network profile about which you are returning information.
12352	Description *string `locationName:"description" type:"string"`
12353
12354	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
12355	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
12356
12357	// Delay time for all packets to destination in milliseconds as an integer from
12358	// 0 to 2000.
12359	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
12360
12361	// Time variation in the delay of received packets in milliseconds as an integer
12362	// from 0 to 2000.
12363	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
12364
12365	// Proportion of received packets that fail to arrive from 0 to 100 percent.
12366	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
12367
12368	// The name of the network profile about which you are returning information.
12369	Name *string `locationName:"name" type:"string"`
12370
12371	// The type of network profile you wish to return information about. Valid values
12372	// are listed below.
12373	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
12374
12375	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
12376	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
12377
12378	// Delay time for all packets to destination in milliseconds as an integer from
12379	// 0 to 2000.
12380	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
12381
12382	// Time variation in the delay of received packets in milliseconds as an integer
12383	// from 0 to 2000.
12384	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
12385
12386	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
12387	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
12388}
12389
12390// String returns the string representation
12391func (s UpdateNetworkProfileInput) String() string {
12392	return awsutil.Prettify(s)
12393}
12394
12395// GoString returns the string representation
12396func (s UpdateNetworkProfileInput) GoString() string {
12397	return s.String()
12398}
12399
12400// Validate inspects the fields of the type to determine if they are valid.
12401func (s *UpdateNetworkProfileInput) Validate() error {
12402	invalidParams := request.ErrInvalidParams{Context: "UpdateNetworkProfileInput"}
12403	if s.Arn == nil {
12404		invalidParams.Add(request.NewErrParamRequired("Arn"))
12405	}
12406	if s.Arn != nil && len(*s.Arn) < 32 {
12407		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
12408	}
12409
12410	if invalidParams.Len() > 0 {
12411		return invalidParams
12412	}
12413	return nil
12414}
12415
12416// SetArn sets the Arn field's value.
12417func (s *UpdateNetworkProfileInput) SetArn(v string) *UpdateNetworkProfileInput {
12418	s.Arn = &v
12419	return s
12420}
12421
12422// SetDescription sets the Description field's value.
12423func (s *UpdateNetworkProfileInput) SetDescription(v string) *UpdateNetworkProfileInput {
12424	s.Description = &v
12425	return s
12426}
12427
12428// SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
12429func (s *UpdateNetworkProfileInput) SetDownlinkBandwidthBits(v int64) *UpdateNetworkProfileInput {
12430	s.DownlinkBandwidthBits = &v
12431	return s
12432}
12433
12434// SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
12435func (s *UpdateNetworkProfileInput) SetDownlinkDelayMs(v int64) *UpdateNetworkProfileInput {
12436	s.DownlinkDelayMs = &v
12437	return s
12438}
12439
12440// SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
12441func (s *UpdateNetworkProfileInput) SetDownlinkJitterMs(v int64) *UpdateNetworkProfileInput {
12442	s.DownlinkJitterMs = &v
12443	return s
12444}
12445
12446// SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
12447func (s *UpdateNetworkProfileInput) SetDownlinkLossPercent(v int64) *UpdateNetworkProfileInput {
12448	s.DownlinkLossPercent = &v
12449	return s
12450}
12451
12452// SetName sets the Name field's value.
12453func (s *UpdateNetworkProfileInput) SetName(v string) *UpdateNetworkProfileInput {
12454	s.Name = &v
12455	return s
12456}
12457
12458// SetType sets the Type field's value.
12459func (s *UpdateNetworkProfileInput) SetType(v string) *UpdateNetworkProfileInput {
12460	s.Type = &v
12461	return s
12462}
12463
12464// SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
12465func (s *UpdateNetworkProfileInput) SetUplinkBandwidthBits(v int64) *UpdateNetworkProfileInput {
12466	s.UplinkBandwidthBits = &v
12467	return s
12468}
12469
12470// SetUplinkDelayMs sets the UplinkDelayMs field's value.
12471func (s *UpdateNetworkProfileInput) SetUplinkDelayMs(v int64) *UpdateNetworkProfileInput {
12472	s.UplinkDelayMs = &v
12473	return s
12474}
12475
12476// SetUplinkJitterMs sets the UplinkJitterMs field's value.
12477func (s *UpdateNetworkProfileInput) SetUplinkJitterMs(v int64) *UpdateNetworkProfileInput {
12478	s.UplinkJitterMs = &v
12479	return s
12480}
12481
12482// SetUplinkLossPercent sets the UplinkLossPercent field's value.
12483func (s *UpdateNetworkProfileInput) SetUplinkLossPercent(v int64) *UpdateNetworkProfileInput {
12484	s.UplinkLossPercent = &v
12485	return s
12486}
12487
12488// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateNetworkProfileResult
12489type UpdateNetworkProfileOutput struct {
12490	_ struct{} `type:"structure"`
12491
12492	// A list of the available network profiles.
12493	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
12494}
12495
12496// String returns the string representation
12497func (s UpdateNetworkProfileOutput) String() string {
12498	return awsutil.Prettify(s)
12499}
12500
12501// GoString returns the string representation
12502func (s UpdateNetworkProfileOutput) GoString() string {
12503	return s.String()
12504}
12505
12506// SetNetworkProfile sets the NetworkProfile field's value.
12507func (s *UpdateNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *UpdateNetworkProfileOutput {
12508	s.NetworkProfile = v
12509	return s
12510}
12511
12512// Represents a request to the update project operation.
12513// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateProjectRequest
12514type UpdateProjectInput struct {
12515	_ struct{} `type:"structure"`
12516
12517	// The Amazon Resource Name (ARN) of the project whose name you wish to update.
12518	//
12519	// Arn is a required field
12520	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
12521
12522	// The number of minutes a test run in the project will execute before it times
12523	// out.
12524	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
12525
12526	// A string representing the new name of the project that you are updating.
12527	Name *string `locationName:"name" type:"string"`
12528}
12529
12530// String returns the string representation
12531func (s UpdateProjectInput) String() string {
12532	return awsutil.Prettify(s)
12533}
12534
12535// GoString returns the string representation
12536func (s UpdateProjectInput) GoString() string {
12537	return s.String()
12538}
12539
12540// Validate inspects the fields of the type to determine if they are valid.
12541func (s *UpdateProjectInput) Validate() error {
12542	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
12543	if s.Arn == nil {
12544		invalidParams.Add(request.NewErrParamRequired("Arn"))
12545	}
12546	if s.Arn != nil && len(*s.Arn) < 32 {
12547		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
12548	}
12549
12550	if invalidParams.Len() > 0 {
12551		return invalidParams
12552	}
12553	return nil
12554}
12555
12556// SetArn sets the Arn field's value.
12557func (s *UpdateProjectInput) SetArn(v string) *UpdateProjectInput {
12558	s.Arn = &v
12559	return s
12560}
12561
12562// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
12563func (s *UpdateProjectInput) SetDefaultJobTimeoutMinutes(v int64) *UpdateProjectInput {
12564	s.DefaultJobTimeoutMinutes = &v
12565	return s
12566}
12567
12568// SetName sets the Name field's value.
12569func (s *UpdateProjectInput) SetName(v string) *UpdateProjectInput {
12570	s.Name = &v
12571	return s
12572}
12573
12574// Represents the result of an update project request.
12575// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateProjectResult
12576type UpdateProjectOutput struct {
12577	_ struct{} `type:"structure"`
12578
12579	// The project you wish to update.
12580	Project *Project `locationName:"project" type:"structure"`
12581}
12582
12583// String returns the string representation
12584func (s UpdateProjectOutput) String() string {
12585	return awsutil.Prettify(s)
12586}
12587
12588// GoString returns the string representation
12589func (s UpdateProjectOutput) GoString() string {
12590	return s.String()
12591}
12592
12593// SetProject sets the Project field's value.
12594func (s *UpdateProjectOutput) SetProject(v *Project) *UpdateProjectOutput {
12595	s.Project = v
12596	return s
12597}
12598
12599// An app or a set of one or more tests to upload or that have been uploaded.
12600// Please also see https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/Upload
12601type Upload struct {
12602	_ struct{} `type:"structure"`
12603
12604	// The upload's ARN.
12605	Arn *string `locationName:"arn" min:"32" type:"string"`
12606
12607	// The upload's content type (for example, "application/octet-stream").
12608	ContentType *string `locationName:"contentType" type:"string"`
12609
12610	// When the upload was created.
12611	Created *time.Time `locationName:"created" type:"timestamp" timestampFormat:"unix"`
12612
12613	// A message about the upload's result.
12614	Message *string `locationName:"message" type:"string"`
12615
12616	// The upload's metadata. For example, for Android, this contains information
12617	// that is parsed from the manifest and is displayed in the AWS Device Farm
12618	// console after the associated app is uploaded.
12619	Metadata *string `locationName:"metadata" type:"string"`
12620
12621	// The upload's file name.
12622	Name *string `locationName:"name" type:"string"`
12623
12624	// The upload's status.
12625	//
12626	// Must be one of the following values:
12627	//
12628	//    * FAILED: A failed status.
12629	//
12630	//    * INITIALIZED: An initialized status.
12631	//
12632	//    * PROCESSING: A processing status.
12633	//
12634	//    * SUCCEEDED: A succeeded status.
12635	Status *string `locationName:"status" type:"string" enum:"UploadStatus"`
12636
12637	// The upload's type.
12638	//
12639	// Must be one of the following values:
12640	//
12641	//    * ANDROID_APP: An Android upload.
12642	//
12643	//    * IOS_APP: An iOS upload.
12644	//
12645	//    * WEB_APP: A web appliction upload.
12646	//
12647	//    * EXTERNAL_DATA: An external data upload.
12648	//
12649	//    * APPIUM_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package upload.
12650	//
12651	//    * APPIUM_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package
12652	//    upload.
12653	//
12654	//    * APPIUM_PYTHON_TEST_PACKAGE: An Appium Python test package upload.
12655	//
12656	//    * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE: An Appium Java JUnit test package
12657	//    upload.
12658	//
12659	//    * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE: An Appium Java TestNG test package
12660	//    upload.
12661	//
12662	//    * APPIUM_WEB_PYTHON_TEST_PACKAGE: An Appium Python test package upload.
12663	//
12664	//    * CALABASH_TEST_PACKAGE: A Calabash test package upload.
12665	//
12666	//    * INSTRUMENTATION_TEST_PACKAGE: An instrumentation upload.
12667	//
12668	//    * UIAUTOMATION_TEST_PACKAGE: A uiautomation test package upload.
12669	//
12670	//    * UIAUTOMATOR_TEST_PACKAGE: A uiautomator test package upload.
12671	//
12672	//    * XCTEST_TEST_PACKAGE: An XCode test package upload.
12673	//
12674	//    * XCTEST_UI_TEST_PACKAGE: An XCode UI test package upload.
12675	Type *string `locationName:"type" type:"string" enum:"UploadType"`
12676
12677	// The pre-signed Amazon S3 URL that was used to store a file through a corresponding
12678	// PUT request.
12679	Url *string `locationName:"url" type:"string"`
12680}
12681
12682// String returns the string representation
12683func (s Upload) String() string {
12684	return awsutil.Prettify(s)
12685}
12686
12687// GoString returns the string representation
12688func (s Upload) GoString() string {
12689	return s.String()
12690}
12691
12692// SetArn sets the Arn field's value.
12693func (s *Upload) SetArn(v string) *Upload {
12694	s.Arn = &v
12695	return s
12696}
12697
12698// SetContentType sets the ContentType field's value.
12699func (s *Upload) SetContentType(v string) *Upload {
12700	s.ContentType = &v
12701	return s
12702}
12703
12704// SetCreated sets the Created field's value.
12705func (s *Upload) SetCreated(v time.Time) *Upload {
12706	s.Created = &v
12707	return s
12708}
12709
12710// SetMessage sets the Message field's value.
12711func (s *Upload) SetMessage(v string) *Upload {
12712	s.Message = &v
12713	return s
12714}
12715
12716// SetMetadata sets the Metadata field's value.
12717func (s *Upload) SetMetadata(v string) *Upload {
12718	s.Metadata = &v
12719	return s
12720}
12721
12722// SetName sets the Name field's value.
12723func (s *Upload) SetName(v string) *Upload {
12724	s.Name = &v
12725	return s
12726}
12727
12728// SetStatus sets the Status field's value.
12729func (s *Upload) SetStatus(v string) *Upload {
12730	s.Status = &v
12731	return s
12732}
12733
12734// SetType sets the Type field's value.
12735func (s *Upload) SetType(v string) *Upload {
12736	s.Type = &v
12737	return s
12738}
12739
12740// SetUrl sets the Url field's value.
12741func (s *Upload) SetUrl(v string) *Upload {
12742	s.Url = &v
12743	return s
12744}
12745
12746const (
12747	// ArtifactCategoryScreenshot is a ArtifactCategory enum value
12748	ArtifactCategoryScreenshot = "SCREENSHOT"
12749
12750	// ArtifactCategoryFile is a ArtifactCategory enum value
12751	ArtifactCategoryFile = "FILE"
12752
12753	// ArtifactCategoryLog is a ArtifactCategory enum value
12754	ArtifactCategoryLog = "LOG"
12755)
12756
12757const (
12758	// ArtifactTypeUnknown is a ArtifactType enum value
12759	ArtifactTypeUnknown = "UNKNOWN"
12760
12761	// ArtifactTypeScreenshot is a ArtifactType enum value
12762	ArtifactTypeScreenshot = "SCREENSHOT"
12763
12764	// ArtifactTypeDeviceLog is a ArtifactType enum value
12765	ArtifactTypeDeviceLog = "DEVICE_LOG"
12766
12767	// ArtifactTypeMessageLog is a ArtifactType enum value
12768	ArtifactTypeMessageLog = "MESSAGE_LOG"
12769
12770	// ArtifactTypeVideoLog is a ArtifactType enum value
12771	ArtifactTypeVideoLog = "VIDEO_LOG"
12772
12773	// ArtifactTypeResultLog is a ArtifactType enum value
12774	ArtifactTypeResultLog = "RESULT_LOG"
12775
12776	// ArtifactTypeServiceLog is a ArtifactType enum value
12777	ArtifactTypeServiceLog = "SERVICE_LOG"
12778
12779	// ArtifactTypeWebkitLog is a ArtifactType enum value
12780	ArtifactTypeWebkitLog = "WEBKIT_LOG"
12781
12782	// ArtifactTypeInstrumentationOutput is a ArtifactType enum value
12783	ArtifactTypeInstrumentationOutput = "INSTRUMENTATION_OUTPUT"
12784
12785	// ArtifactTypeExerciserMonkeyOutput is a ArtifactType enum value
12786	ArtifactTypeExerciserMonkeyOutput = "EXERCISER_MONKEY_OUTPUT"
12787
12788	// ArtifactTypeCalabashJsonOutput is a ArtifactType enum value
12789	ArtifactTypeCalabashJsonOutput = "CALABASH_JSON_OUTPUT"
12790
12791	// ArtifactTypeCalabashPrettyOutput is a ArtifactType enum value
12792	ArtifactTypeCalabashPrettyOutput = "CALABASH_PRETTY_OUTPUT"
12793
12794	// ArtifactTypeCalabashStandardOutput is a ArtifactType enum value
12795	ArtifactTypeCalabashStandardOutput = "CALABASH_STANDARD_OUTPUT"
12796
12797	// ArtifactTypeCalabashJavaXmlOutput is a ArtifactType enum value
12798	ArtifactTypeCalabashJavaXmlOutput = "CALABASH_JAVA_XML_OUTPUT"
12799
12800	// ArtifactTypeAutomationOutput is a ArtifactType enum value
12801	ArtifactTypeAutomationOutput = "AUTOMATION_OUTPUT"
12802
12803	// ArtifactTypeAppiumServerOutput is a ArtifactType enum value
12804	ArtifactTypeAppiumServerOutput = "APPIUM_SERVER_OUTPUT"
12805
12806	// ArtifactTypeAppiumJavaOutput is a ArtifactType enum value
12807	ArtifactTypeAppiumJavaOutput = "APPIUM_JAVA_OUTPUT"
12808
12809	// ArtifactTypeAppiumJavaXmlOutput is a ArtifactType enum value
12810	ArtifactTypeAppiumJavaXmlOutput = "APPIUM_JAVA_XML_OUTPUT"
12811
12812	// ArtifactTypeAppiumPythonOutput is a ArtifactType enum value
12813	ArtifactTypeAppiumPythonOutput = "APPIUM_PYTHON_OUTPUT"
12814
12815	// ArtifactTypeAppiumPythonXmlOutput is a ArtifactType enum value
12816	ArtifactTypeAppiumPythonXmlOutput = "APPIUM_PYTHON_XML_OUTPUT"
12817
12818	// ArtifactTypeExplorerEventLog is a ArtifactType enum value
12819	ArtifactTypeExplorerEventLog = "EXPLORER_EVENT_LOG"
12820
12821	// ArtifactTypeExplorerSummaryLog is a ArtifactType enum value
12822	ArtifactTypeExplorerSummaryLog = "EXPLORER_SUMMARY_LOG"
12823
12824	// ArtifactTypeApplicationCrashReport is a ArtifactType enum value
12825	ArtifactTypeApplicationCrashReport = "APPLICATION_CRASH_REPORT"
12826
12827	// ArtifactTypeXctestLog is a ArtifactType enum value
12828	ArtifactTypeXctestLog = "XCTEST_LOG"
12829
12830	// ArtifactTypeVideo is a ArtifactType enum value
12831	ArtifactTypeVideo = "VIDEO"
12832
12833	// ArtifactTypeCustomerArtifact is a ArtifactType enum value
12834	ArtifactTypeCustomerArtifact = "CUSTOMER_ARTIFACT"
12835
12836	// ArtifactTypeCustomerArtifactLog is a ArtifactType enum value
12837	ArtifactTypeCustomerArtifactLog = "CUSTOMER_ARTIFACT_LOG"
12838)
12839
12840const (
12841	// BillingMethodMetered is a BillingMethod enum value
12842	BillingMethodMetered = "METERED"
12843
12844	// BillingMethodUnmetered is a BillingMethod enum value
12845	BillingMethodUnmetered = "UNMETERED"
12846)
12847
12848const (
12849	// CurrencyCodeUsd is a CurrencyCode enum value
12850	CurrencyCodeUsd = "USD"
12851)
12852
12853const (
12854	// DeviceAttributeArn is a DeviceAttribute enum value
12855	DeviceAttributeArn = "ARN"
12856
12857	// DeviceAttributePlatform is a DeviceAttribute enum value
12858	DeviceAttributePlatform = "PLATFORM"
12859
12860	// DeviceAttributeFormFactor is a DeviceAttribute enum value
12861	DeviceAttributeFormFactor = "FORM_FACTOR"
12862
12863	// DeviceAttributeManufacturer is a DeviceAttribute enum value
12864	DeviceAttributeManufacturer = "MANUFACTURER"
12865
12866	// DeviceAttributeRemoteAccessEnabled is a DeviceAttribute enum value
12867	DeviceAttributeRemoteAccessEnabled = "REMOTE_ACCESS_ENABLED"
12868
12869	// DeviceAttributeRemoteDebugEnabled is a DeviceAttribute enum value
12870	DeviceAttributeRemoteDebugEnabled = "REMOTE_DEBUG_ENABLED"
12871
12872	// DeviceAttributeAppiumVersion is a DeviceAttribute enum value
12873	DeviceAttributeAppiumVersion = "APPIUM_VERSION"
12874)
12875
12876const (
12877	// DeviceFormFactorPhone is a DeviceFormFactor enum value
12878	DeviceFormFactorPhone = "PHONE"
12879
12880	// DeviceFormFactorTablet is a DeviceFormFactor enum value
12881	DeviceFormFactorTablet = "TABLET"
12882)
12883
12884const (
12885	// DevicePlatformAndroid is a DevicePlatform enum value
12886	DevicePlatformAndroid = "ANDROID"
12887
12888	// DevicePlatformIos is a DevicePlatform enum value
12889	DevicePlatformIos = "IOS"
12890)
12891
12892const (
12893	// DevicePoolTypeCurated is a DevicePoolType enum value
12894	DevicePoolTypeCurated = "CURATED"
12895
12896	// DevicePoolTypePrivate is a DevicePoolType enum value
12897	DevicePoolTypePrivate = "PRIVATE"
12898)
12899
12900const (
12901	// ExecutionResultPending is a ExecutionResult enum value
12902	ExecutionResultPending = "PENDING"
12903
12904	// ExecutionResultPassed is a ExecutionResult enum value
12905	ExecutionResultPassed = "PASSED"
12906
12907	// ExecutionResultWarned is a ExecutionResult enum value
12908	ExecutionResultWarned = "WARNED"
12909
12910	// ExecutionResultFailed is a ExecutionResult enum value
12911	ExecutionResultFailed = "FAILED"
12912
12913	// ExecutionResultSkipped is a ExecutionResult enum value
12914	ExecutionResultSkipped = "SKIPPED"
12915
12916	// ExecutionResultErrored is a ExecutionResult enum value
12917	ExecutionResultErrored = "ERRORED"
12918
12919	// ExecutionResultStopped is a ExecutionResult enum value
12920	ExecutionResultStopped = "STOPPED"
12921)
12922
12923const (
12924	// ExecutionResultCodeParsingFailed is a ExecutionResultCode enum value
12925	ExecutionResultCodeParsingFailed = "PARSING_FAILED"
12926)
12927
12928const (
12929	// ExecutionStatusPending is a ExecutionStatus enum value
12930	ExecutionStatusPending = "PENDING"
12931
12932	// ExecutionStatusPendingConcurrency is a ExecutionStatus enum value
12933	ExecutionStatusPendingConcurrency = "PENDING_CONCURRENCY"
12934
12935	// ExecutionStatusPendingDevice is a ExecutionStatus enum value
12936	ExecutionStatusPendingDevice = "PENDING_DEVICE"
12937
12938	// ExecutionStatusProcessing is a ExecutionStatus enum value
12939	ExecutionStatusProcessing = "PROCESSING"
12940
12941	// ExecutionStatusScheduling is a ExecutionStatus enum value
12942	ExecutionStatusScheduling = "SCHEDULING"
12943
12944	// ExecutionStatusPreparing is a ExecutionStatus enum value
12945	ExecutionStatusPreparing = "PREPARING"
12946
12947	// ExecutionStatusRunning is a ExecutionStatus enum value
12948	ExecutionStatusRunning = "RUNNING"
12949
12950	// ExecutionStatusCompleted is a ExecutionStatus enum value
12951	ExecutionStatusCompleted = "COMPLETED"
12952
12953	// ExecutionStatusStopping is a ExecutionStatus enum value
12954	ExecutionStatusStopping = "STOPPING"
12955)
12956
12957const (
12958	// NetworkProfileTypeCurated is a NetworkProfileType enum value
12959	NetworkProfileTypeCurated = "CURATED"
12960
12961	// NetworkProfileTypePrivate is a NetworkProfileType enum value
12962	NetworkProfileTypePrivate = "PRIVATE"
12963)
12964
12965const (
12966	// OfferingTransactionTypePurchase is a OfferingTransactionType enum value
12967	OfferingTransactionTypePurchase = "PURCHASE"
12968
12969	// OfferingTransactionTypeRenew is a OfferingTransactionType enum value
12970	OfferingTransactionTypeRenew = "RENEW"
12971
12972	// OfferingTransactionTypeSystem is a OfferingTransactionType enum value
12973	OfferingTransactionTypeSystem = "SYSTEM"
12974)
12975
12976const (
12977	// OfferingTypeRecurring is a OfferingType enum value
12978	OfferingTypeRecurring = "RECURRING"
12979)
12980
12981const (
12982	// RecurringChargeFrequencyMonthly is a RecurringChargeFrequency enum value
12983	RecurringChargeFrequencyMonthly = "MONTHLY"
12984)
12985
12986const (
12987	// RuleOperatorEquals is a RuleOperator enum value
12988	RuleOperatorEquals = "EQUALS"
12989
12990	// RuleOperatorLessThan is a RuleOperator enum value
12991	RuleOperatorLessThan = "LESS_THAN"
12992
12993	// RuleOperatorGreaterThan is a RuleOperator enum value
12994	RuleOperatorGreaterThan = "GREATER_THAN"
12995
12996	// RuleOperatorIn is a RuleOperator enum value
12997	RuleOperatorIn = "IN"
12998
12999	// RuleOperatorNotIn is a RuleOperator enum value
13000	RuleOperatorNotIn = "NOT_IN"
13001
13002	// RuleOperatorContains is a RuleOperator enum value
13003	RuleOperatorContains = "CONTAINS"
13004)
13005
13006const (
13007	// SampleTypeCpu is a SampleType enum value
13008	SampleTypeCpu = "CPU"
13009
13010	// SampleTypeMemory is a SampleType enum value
13011	SampleTypeMemory = "MEMORY"
13012
13013	// SampleTypeThreads is a SampleType enum value
13014	SampleTypeThreads = "THREADS"
13015
13016	// SampleTypeRxRate is a SampleType enum value
13017	SampleTypeRxRate = "RX_RATE"
13018
13019	// SampleTypeTxRate is a SampleType enum value
13020	SampleTypeTxRate = "TX_RATE"
13021
13022	// SampleTypeRx is a SampleType enum value
13023	SampleTypeRx = "RX"
13024
13025	// SampleTypeTx is a SampleType enum value
13026	SampleTypeTx = "TX"
13027
13028	// SampleTypeNativeFrames is a SampleType enum value
13029	SampleTypeNativeFrames = "NATIVE_FRAMES"
13030
13031	// SampleTypeNativeFps is a SampleType enum value
13032	SampleTypeNativeFps = "NATIVE_FPS"
13033
13034	// SampleTypeNativeMinDrawtime is a SampleType enum value
13035	SampleTypeNativeMinDrawtime = "NATIVE_MIN_DRAWTIME"
13036
13037	// SampleTypeNativeAvgDrawtime is a SampleType enum value
13038	SampleTypeNativeAvgDrawtime = "NATIVE_AVG_DRAWTIME"
13039
13040	// SampleTypeNativeMaxDrawtime is a SampleType enum value
13041	SampleTypeNativeMaxDrawtime = "NATIVE_MAX_DRAWTIME"
13042
13043	// SampleTypeOpenglFrames is a SampleType enum value
13044	SampleTypeOpenglFrames = "OPENGL_FRAMES"
13045
13046	// SampleTypeOpenglFps is a SampleType enum value
13047	SampleTypeOpenglFps = "OPENGL_FPS"
13048
13049	// SampleTypeOpenglMinDrawtime is a SampleType enum value
13050	SampleTypeOpenglMinDrawtime = "OPENGL_MIN_DRAWTIME"
13051
13052	// SampleTypeOpenglAvgDrawtime is a SampleType enum value
13053	SampleTypeOpenglAvgDrawtime = "OPENGL_AVG_DRAWTIME"
13054
13055	// SampleTypeOpenglMaxDrawtime is a SampleType enum value
13056	SampleTypeOpenglMaxDrawtime = "OPENGL_MAX_DRAWTIME"
13057)
13058
13059const (
13060	// TestTypeBuiltinFuzz is a TestType enum value
13061	TestTypeBuiltinFuzz = "BUILTIN_FUZZ"
13062
13063	// TestTypeBuiltinExplorer is a TestType enum value
13064	TestTypeBuiltinExplorer = "BUILTIN_EXPLORER"
13065
13066	// TestTypeAppiumJavaJunit is a TestType enum value
13067	TestTypeAppiumJavaJunit = "APPIUM_JAVA_JUNIT"
13068
13069	// TestTypeAppiumJavaTestng is a TestType enum value
13070	TestTypeAppiumJavaTestng = "APPIUM_JAVA_TESTNG"
13071
13072	// TestTypeAppiumPython is a TestType enum value
13073	TestTypeAppiumPython = "APPIUM_PYTHON"
13074
13075	// TestTypeAppiumWebJavaJunit is a TestType enum value
13076	TestTypeAppiumWebJavaJunit = "APPIUM_WEB_JAVA_JUNIT"
13077
13078	// TestTypeAppiumWebJavaTestng is a TestType enum value
13079	TestTypeAppiumWebJavaTestng = "APPIUM_WEB_JAVA_TESTNG"
13080
13081	// TestTypeAppiumWebPython is a TestType enum value
13082	TestTypeAppiumWebPython = "APPIUM_WEB_PYTHON"
13083
13084	// TestTypeCalabash is a TestType enum value
13085	TestTypeCalabash = "CALABASH"
13086
13087	// TestTypeInstrumentation is a TestType enum value
13088	TestTypeInstrumentation = "INSTRUMENTATION"
13089
13090	// TestTypeUiautomation is a TestType enum value
13091	TestTypeUiautomation = "UIAUTOMATION"
13092
13093	// TestTypeUiautomator is a TestType enum value
13094	TestTypeUiautomator = "UIAUTOMATOR"
13095
13096	// TestTypeXctest is a TestType enum value
13097	TestTypeXctest = "XCTEST"
13098
13099	// TestTypeXctestUi is a TestType enum value
13100	TestTypeXctestUi = "XCTEST_UI"
13101)
13102
13103const (
13104	// UploadStatusInitialized is a UploadStatus enum value
13105	UploadStatusInitialized = "INITIALIZED"
13106
13107	// UploadStatusProcessing is a UploadStatus enum value
13108	UploadStatusProcessing = "PROCESSING"
13109
13110	// UploadStatusSucceeded is a UploadStatus enum value
13111	UploadStatusSucceeded = "SUCCEEDED"
13112
13113	// UploadStatusFailed is a UploadStatus enum value
13114	UploadStatusFailed = "FAILED"
13115)
13116
13117const (
13118	// UploadTypeAndroidApp is a UploadType enum value
13119	UploadTypeAndroidApp = "ANDROID_APP"
13120
13121	// UploadTypeIosApp is a UploadType enum value
13122	UploadTypeIosApp = "IOS_APP"
13123
13124	// UploadTypeWebApp is a UploadType enum value
13125	UploadTypeWebApp = "WEB_APP"
13126
13127	// UploadTypeExternalData is a UploadType enum value
13128	UploadTypeExternalData = "EXTERNAL_DATA"
13129
13130	// UploadTypeAppiumJavaJunitTestPackage is a UploadType enum value
13131	UploadTypeAppiumJavaJunitTestPackage = "APPIUM_JAVA_JUNIT_TEST_PACKAGE"
13132
13133	// UploadTypeAppiumJavaTestngTestPackage is a UploadType enum value
13134	UploadTypeAppiumJavaTestngTestPackage = "APPIUM_JAVA_TESTNG_TEST_PACKAGE"
13135
13136	// UploadTypeAppiumPythonTestPackage is a UploadType enum value
13137	UploadTypeAppiumPythonTestPackage = "APPIUM_PYTHON_TEST_PACKAGE"
13138
13139	// UploadTypeAppiumWebJavaJunitTestPackage is a UploadType enum value
13140	UploadTypeAppiumWebJavaJunitTestPackage = "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE"
13141
13142	// UploadTypeAppiumWebJavaTestngTestPackage is a UploadType enum value
13143	UploadTypeAppiumWebJavaTestngTestPackage = "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE"
13144
13145	// UploadTypeAppiumWebPythonTestPackage is a UploadType enum value
13146	UploadTypeAppiumWebPythonTestPackage = "APPIUM_WEB_PYTHON_TEST_PACKAGE"
13147
13148	// UploadTypeCalabashTestPackage is a UploadType enum value
13149	UploadTypeCalabashTestPackage = "CALABASH_TEST_PACKAGE"
13150
13151	// UploadTypeInstrumentationTestPackage is a UploadType enum value
13152	UploadTypeInstrumentationTestPackage = "INSTRUMENTATION_TEST_PACKAGE"
13153
13154	// UploadTypeUiautomationTestPackage is a UploadType enum value
13155	UploadTypeUiautomationTestPackage = "UIAUTOMATION_TEST_PACKAGE"
13156
13157	// UploadTypeUiautomatorTestPackage is a UploadType enum value
13158	UploadTypeUiautomatorTestPackage = "UIAUTOMATOR_TEST_PACKAGE"
13159
13160	// UploadTypeXctestTestPackage is a UploadType enum value
13161	UploadTypeXctestTestPackage = "XCTEST_TEST_PACKAGE"
13162
13163	// UploadTypeXctestUiTestPackage is a UploadType enum value
13164	UploadTypeXctestUiTestPackage = "XCTEST_UI_TEST_PACKAGE"
13165)
13166