1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package devicefarm
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
14)
15
16const opCreateDevicePool = "CreateDevicePool"
17
18// CreateDevicePoolRequest generates a "aws/request.Request" representing the
19// client's request for the CreateDevicePool operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See CreateDevicePool for more information on using the CreateDevicePool
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the CreateDevicePoolRequest method.
34//    req, resp := client.CreateDevicePoolRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateDevicePool
42func (c *DeviceFarm) CreateDevicePoolRequest(input *CreateDevicePoolInput) (req *request.Request, output *CreateDevicePoolOutput) {
43	op := &request.Operation{
44		Name:       opCreateDevicePool,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &CreateDevicePoolInput{}
51	}
52
53	output = &CreateDevicePoolOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// CreateDevicePool API operation for AWS Device Farm.
59//
60// Creates a device pool.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for AWS Device Farm's
67// API operation CreateDevicePool for usage and error information.
68//
69// Returned Error Types:
70//   * ArgumentException
71//   An invalid argument was specified.
72//
73//   * NotFoundException
74//   The specified entity was not found.
75//
76//   * LimitExceededException
77//   A limit was exceeded.
78//
79//   * ServiceAccountException
80//   There was a problem with the service account.
81//
82// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateDevicePool
83func (c *DeviceFarm) CreateDevicePool(input *CreateDevicePoolInput) (*CreateDevicePoolOutput, error) {
84	req, out := c.CreateDevicePoolRequest(input)
85	return out, req.Send()
86}
87
88// CreateDevicePoolWithContext is the same as CreateDevicePool with the addition of
89// the ability to pass a context and additional request options.
90//
91// See CreateDevicePool for details on how to use this API operation.
92//
93// The context must be non-nil and will be used for request cancellation. If
94// the context is nil a panic will occur. In the future the SDK may create
95// sub-contexts for http.Requests. See https://golang.org/pkg/context/
96// for more information on using Contexts.
97func (c *DeviceFarm) CreateDevicePoolWithContext(ctx aws.Context, input *CreateDevicePoolInput, opts ...request.Option) (*CreateDevicePoolOutput, error) {
98	req, out := c.CreateDevicePoolRequest(input)
99	req.SetContext(ctx)
100	req.ApplyOptions(opts...)
101	return out, req.Send()
102}
103
104const opCreateInstanceProfile = "CreateInstanceProfile"
105
106// CreateInstanceProfileRequest generates a "aws/request.Request" representing the
107// client's request for the CreateInstanceProfile operation. The "output" return
108// value will be populated with the request's response once the request completes
109// successfully.
110//
111// Use "Send" method on the returned Request to send the API call to the service.
112// the "output" return value is not valid until after Send returns without error.
113//
114// See CreateInstanceProfile for more information on using the CreateInstanceProfile
115// API call, and error handling.
116//
117// This method is useful when you want to inject custom logic or configuration
118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
119//
120//
121//    // Example sending a request using the CreateInstanceProfileRequest method.
122//    req, resp := client.CreateInstanceProfileRequest(params)
123//
124//    err := req.Send()
125//    if err == nil { // resp is now filled
126//        fmt.Println(resp)
127//    }
128//
129// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateInstanceProfile
130func (c *DeviceFarm) CreateInstanceProfileRequest(input *CreateInstanceProfileInput) (req *request.Request, output *CreateInstanceProfileOutput) {
131	op := &request.Operation{
132		Name:       opCreateInstanceProfile,
133		HTTPMethod: "POST",
134		HTTPPath:   "/",
135	}
136
137	if input == nil {
138		input = &CreateInstanceProfileInput{}
139	}
140
141	output = &CreateInstanceProfileOutput{}
142	req = c.newRequest(op, input, output)
143	return
144}
145
146// CreateInstanceProfile API operation for AWS Device Farm.
147//
148// Creates a profile that can be applied to one or more private fleet device
149// instances.
150//
151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
152// with awserr.Error's Code and Message methods to get detailed information about
153// the error.
154//
155// See the AWS API reference guide for AWS Device Farm's
156// API operation CreateInstanceProfile for usage and error information.
157//
158// Returned Error Types:
159//   * ArgumentException
160//   An invalid argument was specified.
161//
162//   * NotFoundException
163//   The specified entity was not found.
164//
165//   * LimitExceededException
166//   A limit was exceeded.
167//
168//   * ServiceAccountException
169//   There was a problem with the service account.
170//
171// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateInstanceProfile
172func (c *DeviceFarm) CreateInstanceProfile(input *CreateInstanceProfileInput) (*CreateInstanceProfileOutput, error) {
173	req, out := c.CreateInstanceProfileRequest(input)
174	return out, req.Send()
175}
176
177// CreateInstanceProfileWithContext is the same as CreateInstanceProfile with the addition of
178// the ability to pass a context and additional request options.
179//
180// See CreateInstanceProfile for details on how to use this API operation.
181//
182// The context must be non-nil and will be used for request cancellation. If
183// the context is nil a panic will occur. In the future the SDK may create
184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
185// for more information on using Contexts.
186func (c *DeviceFarm) CreateInstanceProfileWithContext(ctx aws.Context, input *CreateInstanceProfileInput, opts ...request.Option) (*CreateInstanceProfileOutput, error) {
187	req, out := c.CreateInstanceProfileRequest(input)
188	req.SetContext(ctx)
189	req.ApplyOptions(opts...)
190	return out, req.Send()
191}
192
193const opCreateNetworkProfile = "CreateNetworkProfile"
194
195// CreateNetworkProfileRequest generates a "aws/request.Request" representing the
196// client's request for the CreateNetworkProfile operation. The "output" return
197// value will be populated with the request's response once the request completes
198// successfully.
199//
200// Use "Send" method on the returned Request to send the API call to the service.
201// the "output" return value is not valid until after Send returns without error.
202//
203// See CreateNetworkProfile for more information on using the CreateNetworkProfile
204// API call, and error handling.
205//
206// This method is useful when you want to inject custom logic or configuration
207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
208//
209//
210//    // Example sending a request using the CreateNetworkProfileRequest method.
211//    req, resp := client.CreateNetworkProfileRequest(params)
212//
213//    err := req.Send()
214//    if err == nil { // resp is now filled
215//        fmt.Println(resp)
216//    }
217//
218// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateNetworkProfile
219func (c *DeviceFarm) CreateNetworkProfileRequest(input *CreateNetworkProfileInput) (req *request.Request, output *CreateNetworkProfileOutput) {
220	op := &request.Operation{
221		Name:       opCreateNetworkProfile,
222		HTTPMethod: "POST",
223		HTTPPath:   "/",
224	}
225
226	if input == nil {
227		input = &CreateNetworkProfileInput{}
228	}
229
230	output = &CreateNetworkProfileOutput{}
231	req = c.newRequest(op, input, output)
232	return
233}
234
235// CreateNetworkProfile API operation for AWS Device Farm.
236//
237// Creates a network profile.
238//
239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
240// with awserr.Error's Code and Message methods to get detailed information about
241// the error.
242//
243// See the AWS API reference guide for AWS Device Farm's
244// API operation CreateNetworkProfile for usage and error information.
245//
246// Returned Error Types:
247//   * ArgumentException
248//   An invalid argument was specified.
249//
250//   * NotFoundException
251//   The specified entity was not found.
252//
253//   * LimitExceededException
254//   A limit was exceeded.
255//
256//   * ServiceAccountException
257//   There was a problem with the service account.
258//
259// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateNetworkProfile
260func (c *DeviceFarm) CreateNetworkProfile(input *CreateNetworkProfileInput) (*CreateNetworkProfileOutput, error) {
261	req, out := c.CreateNetworkProfileRequest(input)
262	return out, req.Send()
263}
264
265// CreateNetworkProfileWithContext is the same as CreateNetworkProfile with the addition of
266// the ability to pass a context and additional request options.
267//
268// See CreateNetworkProfile for details on how to use this API operation.
269//
270// The context must be non-nil and will be used for request cancellation. If
271// the context is nil a panic will occur. In the future the SDK may create
272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
273// for more information on using Contexts.
274func (c *DeviceFarm) CreateNetworkProfileWithContext(ctx aws.Context, input *CreateNetworkProfileInput, opts ...request.Option) (*CreateNetworkProfileOutput, error) {
275	req, out := c.CreateNetworkProfileRequest(input)
276	req.SetContext(ctx)
277	req.ApplyOptions(opts...)
278	return out, req.Send()
279}
280
281const opCreateProject = "CreateProject"
282
283// CreateProjectRequest generates a "aws/request.Request" representing the
284// client's request for the CreateProject operation. The "output" return
285// value will be populated with the request's response once the request completes
286// successfully.
287//
288// Use "Send" method on the returned Request to send the API call to the service.
289// the "output" return value is not valid until after Send returns without error.
290//
291// See CreateProject for more information on using the CreateProject
292// API call, and error handling.
293//
294// This method is useful when you want to inject custom logic or configuration
295// into the SDK's request lifecycle. Such as custom headers, or retry logic.
296//
297//
298//    // Example sending a request using the CreateProjectRequest method.
299//    req, resp := client.CreateProjectRequest(params)
300//
301//    err := req.Send()
302//    if err == nil { // resp is now filled
303//        fmt.Println(resp)
304//    }
305//
306// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateProject
307func (c *DeviceFarm) CreateProjectRequest(input *CreateProjectInput) (req *request.Request, output *CreateProjectOutput) {
308	op := &request.Operation{
309		Name:       opCreateProject,
310		HTTPMethod: "POST",
311		HTTPPath:   "/",
312	}
313
314	if input == nil {
315		input = &CreateProjectInput{}
316	}
317
318	output = &CreateProjectOutput{}
319	req = c.newRequest(op, input, output)
320	return
321}
322
323// CreateProject API operation for AWS Device Farm.
324//
325// Creates a project.
326//
327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
328// with awserr.Error's Code and Message methods to get detailed information about
329// the error.
330//
331// See the AWS API reference guide for AWS Device Farm's
332// API operation CreateProject for usage and error information.
333//
334// Returned Error Types:
335//   * ArgumentException
336//   An invalid argument was specified.
337//
338//   * NotFoundException
339//   The specified entity was not found.
340//
341//   * LimitExceededException
342//   A limit was exceeded.
343//
344//   * ServiceAccountException
345//   There was a problem with the service account.
346//
347//   * TagOperationException
348//   The operation was not successful. Try again.
349//
350// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateProject
351func (c *DeviceFarm) CreateProject(input *CreateProjectInput) (*CreateProjectOutput, error) {
352	req, out := c.CreateProjectRequest(input)
353	return out, req.Send()
354}
355
356// CreateProjectWithContext is the same as CreateProject with the addition of
357// the ability to pass a context and additional request options.
358//
359// See CreateProject for details on how to use this API operation.
360//
361// The context must be non-nil and will be used for request cancellation. If
362// the context is nil a panic will occur. In the future the SDK may create
363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
364// for more information on using Contexts.
365func (c *DeviceFarm) CreateProjectWithContext(ctx aws.Context, input *CreateProjectInput, opts ...request.Option) (*CreateProjectOutput, error) {
366	req, out := c.CreateProjectRequest(input)
367	req.SetContext(ctx)
368	req.ApplyOptions(opts...)
369	return out, req.Send()
370}
371
372const opCreateRemoteAccessSession = "CreateRemoteAccessSession"
373
374// CreateRemoteAccessSessionRequest generates a "aws/request.Request" representing the
375// client's request for the CreateRemoteAccessSession operation. The "output" return
376// value will be populated with the request's response once the request completes
377// successfully.
378//
379// Use "Send" method on the returned Request to send the API call to the service.
380// the "output" return value is not valid until after Send returns without error.
381//
382// See CreateRemoteAccessSession for more information on using the CreateRemoteAccessSession
383// API call, and error handling.
384//
385// This method is useful when you want to inject custom logic or configuration
386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
387//
388//
389//    // Example sending a request using the CreateRemoteAccessSessionRequest method.
390//    req, resp := client.CreateRemoteAccessSessionRequest(params)
391//
392//    err := req.Send()
393//    if err == nil { // resp is now filled
394//        fmt.Println(resp)
395//    }
396//
397// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSession
398func (c *DeviceFarm) CreateRemoteAccessSessionRequest(input *CreateRemoteAccessSessionInput) (req *request.Request, output *CreateRemoteAccessSessionOutput) {
399	op := &request.Operation{
400		Name:       opCreateRemoteAccessSession,
401		HTTPMethod: "POST",
402		HTTPPath:   "/",
403	}
404
405	if input == nil {
406		input = &CreateRemoteAccessSessionInput{}
407	}
408
409	output = &CreateRemoteAccessSessionOutput{}
410	req = c.newRequest(op, input, output)
411	return
412}
413
414// CreateRemoteAccessSession API operation for AWS Device Farm.
415//
416// Specifies and starts a remote access session.
417//
418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
419// with awserr.Error's Code and Message methods to get detailed information about
420// the error.
421//
422// See the AWS API reference guide for AWS Device Farm's
423// API operation CreateRemoteAccessSession for usage and error information.
424//
425// Returned Error Types:
426//   * ArgumentException
427//   An invalid argument was specified.
428//
429//   * NotFoundException
430//   The specified entity was not found.
431//
432//   * LimitExceededException
433//   A limit was exceeded.
434//
435//   * ServiceAccountException
436//   There was a problem with the service account.
437//
438// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateRemoteAccessSession
439func (c *DeviceFarm) CreateRemoteAccessSession(input *CreateRemoteAccessSessionInput) (*CreateRemoteAccessSessionOutput, error) {
440	req, out := c.CreateRemoteAccessSessionRequest(input)
441	return out, req.Send()
442}
443
444// CreateRemoteAccessSessionWithContext is the same as CreateRemoteAccessSession with the addition of
445// the ability to pass a context and additional request options.
446//
447// See CreateRemoteAccessSession for details on how to use this API operation.
448//
449// The context must be non-nil and will be used for request cancellation. If
450// the context is nil a panic will occur. In the future the SDK may create
451// sub-contexts for http.Requests. See https://golang.org/pkg/context/
452// for more information on using Contexts.
453func (c *DeviceFarm) CreateRemoteAccessSessionWithContext(ctx aws.Context, input *CreateRemoteAccessSessionInput, opts ...request.Option) (*CreateRemoteAccessSessionOutput, error) {
454	req, out := c.CreateRemoteAccessSessionRequest(input)
455	req.SetContext(ctx)
456	req.ApplyOptions(opts...)
457	return out, req.Send()
458}
459
460const opCreateTestGridProject = "CreateTestGridProject"
461
462// CreateTestGridProjectRequest generates a "aws/request.Request" representing the
463// client's request for the CreateTestGridProject operation. The "output" return
464// value will be populated with the request's response once the request completes
465// successfully.
466//
467// Use "Send" method on the returned Request to send the API call to the service.
468// the "output" return value is not valid until after Send returns without error.
469//
470// See CreateTestGridProject for more information on using the CreateTestGridProject
471// API call, and error handling.
472//
473// This method is useful when you want to inject custom logic or configuration
474// into the SDK's request lifecycle. Such as custom headers, or retry logic.
475//
476//
477//    // Example sending a request using the CreateTestGridProjectRequest method.
478//    req, resp := client.CreateTestGridProjectRequest(params)
479//
480//    err := req.Send()
481//    if err == nil { // resp is now filled
482//        fmt.Println(resp)
483//    }
484//
485// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateTestGridProject
486func (c *DeviceFarm) CreateTestGridProjectRequest(input *CreateTestGridProjectInput) (req *request.Request, output *CreateTestGridProjectOutput) {
487	op := &request.Operation{
488		Name:       opCreateTestGridProject,
489		HTTPMethod: "POST",
490		HTTPPath:   "/",
491	}
492
493	if input == nil {
494		input = &CreateTestGridProjectInput{}
495	}
496
497	output = &CreateTestGridProjectOutput{}
498	req = c.newRequest(op, input, output)
499	return
500}
501
502// CreateTestGridProject API operation for AWS Device Farm.
503//
504// Creates a Selenium testing project. Projects are used to track TestGridSession
505// instances.
506//
507// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
508// with awserr.Error's Code and Message methods to get detailed information about
509// the error.
510//
511// See the AWS API reference guide for AWS Device Farm's
512// API operation CreateTestGridProject for usage and error information.
513//
514// Returned Error Types:
515//   * InternalServiceException
516//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
517//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
518//
519// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateTestGridProject
520func (c *DeviceFarm) CreateTestGridProject(input *CreateTestGridProjectInput) (*CreateTestGridProjectOutput, error) {
521	req, out := c.CreateTestGridProjectRequest(input)
522	return out, req.Send()
523}
524
525// CreateTestGridProjectWithContext is the same as CreateTestGridProject with the addition of
526// the ability to pass a context and additional request options.
527//
528// See CreateTestGridProject for details on how to use this API operation.
529//
530// The context must be non-nil and will be used for request cancellation. If
531// the context is nil a panic will occur. In the future the SDK may create
532// sub-contexts for http.Requests. See https://golang.org/pkg/context/
533// for more information on using Contexts.
534func (c *DeviceFarm) CreateTestGridProjectWithContext(ctx aws.Context, input *CreateTestGridProjectInput, opts ...request.Option) (*CreateTestGridProjectOutput, error) {
535	req, out := c.CreateTestGridProjectRequest(input)
536	req.SetContext(ctx)
537	req.ApplyOptions(opts...)
538	return out, req.Send()
539}
540
541const opCreateTestGridUrl = "CreateTestGridUrl"
542
543// CreateTestGridUrlRequest generates a "aws/request.Request" representing the
544// client's request for the CreateTestGridUrl operation. The "output" return
545// value will be populated with the request's response once the request completes
546// successfully.
547//
548// Use "Send" method on the returned Request to send the API call to the service.
549// the "output" return value is not valid until after Send returns without error.
550//
551// See CreateTestGridUrl for more information on using the CreateTestGridUrl
552// API call, and error handling.
553//
554// This method is useful when you want to inject custom logic or configuration
555// into the SDK's request lifecycle. Such as custom headers, or retry logic.
556//
557//
558//    // Example sending a request using the CreateTestGridUrlRequest method.
559//    req, resp := client.CreateTestGridUrlRequest(params)
560//
561//    err := req.Send()
562//    if err == nil { // resp is now filled
563//        fmt.Println(resp)
564//    }
565//
566// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateTestGridUrl
567func (c *DeviceFarm) CreateTestGridUrlRequest(input *CreateTestGridUrlInput) (req *request.Request, output *CreateTestGridUrlOutput) {
568	op := &request.Operation{
569		Name:       opCreateTestGridUrl,
570		HTTPMethod: "POST",
571		HTTPPath:   "/",
572	}
573
574	if input == nil {
575		input = &CreateTestGridUrlInput{}
576	}
577
578	output = &CreateTestGridUrlOutput{}
579	req = c.newRequest(op, input, output)
580	return
581}
582
583// CreateTestGridUrl API operation for AWS Device Farm.
584//
585// Creates a signed, short-term URL that can be passed to a Selenium RemoteWebDriver
586// constructor.
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 CreateTestGridUrl for usage and error information.
594//
595// Returned Error Types:
596//   * NotFoundException
597//   The specified entity was not found.
598//
599//   * ArgumentException
600//   An invalid argument was specified.
601//
602//   * InternalServiceException
603//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
604//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
605//
606// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateTestGridUrl
607func (c *DeviceFarm) CreateTestGridUrl(input *CreateTestGridUrlInput) (*CreateTestGridUrlOutput, error) {
608	req, out := c.CreateTestGridUrlRequest(input)
609	return out, req.Send()
610}
611
612// CreateTestGridUrlWithContext is the same as CreateTestGridUrl with the addition of
613// the ability to pass a context and additional request options.
614//
615// See CreateTestGridUrl for details on how to use this API operation.
616//
617// The context must be non-nil and will be used for request cancellation. If
618// the context is nil a panic will occur. In the future the SDK may create
619// sub-contexts for http.Requests. See https://golang.org/pkg/context/
620// for more information on using Contexts.
621func (c *DeviceFarm) CreateTestGridUrlWithContext(ctx aws.Context, input *CreateTestGridUrlInput, opts ...request.Option) (*CreateTestGridUrlOutput, error) {
622	req, out := c.CreateTestGridUrlRequest(input)
623	req.SetContext(ctx)
624	req.ApplyOptions(opts...)
625	return out, req.Send()
626}
627
628const opCreateUpload = "CreateUpload"
629
630// CreateUploadRequest generates a "aws/request.Request" representing the
631// client's request for the CreateUpload operation. The "output" return
632// value will be populated with the request's response once the request completes
633// successfully.
634//
635// Use "Send" method on the returned Request to send the API call to the service.
636// the "output" return value is not valid until after Send returns without error.
637//
638// See CreateUpload for more information on using the CreateUpload
639// API call, and error handling.
640//
641// This method is useful when you want to inject custom logic or configuration
642// into the SDK's request lifecycle. Such as custom headers, or retry logic.
643//
644//
645//    // Example sending a request using the CreateUploadRequest method.
646//    req, resp := client.CreateUploadRequest(params)
647//
648//    err := req.Send()
649//    if err == nil { // resp is now filled
650//        fmt.Println(resp)
651//    }
652//
653// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUpload
654func (c *DeviceFarm) CreateUploadRequest(input *CreateUploadInput) (req *request.Request, output *CreateUploadOutput) {
655	op := &request.Operation{
656		Name:       opCreateUpload,
657		HTTPMethod: "POST",
658		HTTPPath:   "/",
659	}
660
661	if input == nil {
662		input = &CreateUploadInput{}
663	}
664
665	output = &CreateUploadOutput{}
666	req = c.newRequest(op, input, output)
667	return
668}
669
670// CreateUpload API operation for AWS Device Farm.
671//
672// Uploads an app or test scripts.
673//
674// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
675// with awserr.Error's Code and Message methods to get detailed information about
676// the error.
677//
678// See the AWS API reference guide for AWS Device Farm's
679// API operation CreateUpload for usage and error information.
680//
681// Returned Error Types:
682//   * ArgumentException
683//   An invalid argument was specified.
684//
685//   * NotFoundException
686//   The specified entity was not found.
687//
688//   * LimitExceededException
689//   A limit was exceeded.
690//
691//   * ServiceAccountException
692//   There was a problem with the service account.
693//
694// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateUpload
695func (c *DeviceFarm) CreateUpload(input *CreateUploadInput) (*CreateUploadOutput, error) {
696	req, out := c.CreateUploadRequest(input)
697	return out, req.Send()
698}
699
700// CreateUploadWithContext is the same as CreateUpload with the addition of
701// the ability to pass a context and additional request options.
702//
703// See CreateUpload for details on how to use this API operation.
704//
705// The context must be non-nil and will be used for request cancellation. If
706// the context is nil a panic will occur. In the future the SDK may create
707// sub-contexts for http.Requests. See https://golang.org/pkg/context/
708// for more information on using Contexts.
709func (c *DeviceFarm) CreateUploadWithContext(ctx aws.Context, input *CreateUploadInput, opts ...request.Option) (*CreateUploadOutput, error) {
710	req, out := c.CreateUploadRequest(input)
711	req.SetContext(ctx)
712	req.ApplyOptions(opts...)
713	return out, req.Send()
714}
715
716const opCreateVPCEConfiguration = "CreateVPCEConfiguration"
717
718// CreateVPCEConfigurationRequest generates a "aws/request.Request" representing the
719// client's request for the CreateVPCEConfiguration operation. The "output" return
720// value will be populated with the request's response once the request completes
721// successfully.
722//
723// Use "Send" method on the returned Request to send the API call to the service.
724// the "output" return value is not valid until after Send returns without error.
725//
726// See CreateVPCEConfiguration for more information on using the CreateVPCEConfiguration
727// API call, and error handling.
728//
729// This method is useful when you want to inject custom logic or configuration
730// into the SDK's request lifecycle. Such as custom headers, or retry logic.
731//
732//
733//    // Example sending a request using the CreateVPCEConfigurationRequest method.
734//    req, resp := client.CreateVPCEConfigurationRequest(params)
735//
736//    err := req.Send()
737//    if err == nil { // resp is now filled
738//        fmt.Println(resp)
739//    }
740//
741// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateVPCEConfiguration
742func (c *DeviceFarm) CreateVPCEConfigurationRequest(input *CreateVPCEConfigurationInput) (req *request.Request, output *CreateVPCEConfigurationOutput) {
743	op := &request.Operation{
744		Name:       opCreateVPCEConfiguration,
745		HTTPMethod: "POST",
746		HTTPPath:   "/",
747	}
748
749	if input == nil {
750		input = &CreateVPCEConfigurationInput{}
751	}
752
753	output = &CreateVPCEConfigurationOutput{}
754	req = c.newRequest(op, input, output)
755	return
756}
757
758// CreateVPCEConfiguration API operation for AWS Device Farm.
759//
760// Creates a configuration record in Device Farm for your Amazon Virtual Private
761// Cloud (VPC) endpoint.
762//
763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
764// with awserr.Error's Code and Message methods to get detailed information about
765// the error.
766//
767// See the AWS API reference guide for AWS Device Farm's
768// API operation CreateVPCEConfiguration for usage and error information.
769//
770// Returned Error Types:
771//   * ArgumentException
772//   An invalid argument was specified.
773//
774//   * LimitExceededException
775//   A limit was exceeded.
776//
777//   * ServiceAccountException
778//   There was a problem with the service account.
779//
780// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/CreateVPCEConfiguration
781func (c *DeviceFarm) CreateVPCEConfiguration(input *CreateVPCEConfigurationInput) (*CreateVPCEConfigurationOutput, error) {
782	req, out := c.CreateVPCEConfigurationRequest(input)
783	return out, req.Send()
784}
785
786// CreateVPCEConfigurationWithContext is the same as CreateVPCEConfiguration with the addition of
787// the ability to pass a context and additional request options.
788//
789// See CreateVPCEConfiguration for details on how to use this API operation.
790//
791// The context must be non-nil and will be used for request cancellation. If
792// the context is nil a panic will occur. In the future the SDK may create
793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
794// for more information on using Contexts.
795func (c *DeviceFarm) CreateVPCEConfigurationWithContext(ctx aws.Context, input *CreateVPCEConfigurationInput, opts ...request.Option) (*CreateVPCEConfigurationOutput, error) {
796	req, out := c.CreateVPCEConfigurationRequest(input)
797	req.SetContext(ctx)
798	req.ApplyOptions(opts...)
799	return out, req.Send()
800}
801
802const opDeleteDevicePool = "DeleteDevicePool"
803
804// DeleteDevicePoolRequest generates a "aws/request.Request" representing the
805// client's request for the DeleteDevicePool operation. The "output" return
806// value will be populated with the request's response once the request completes
807// successfully.
808//
809// Use "Send" method on the returned Request to send the API call to the service.
810// the "output" return value is not valid until after Send returns without error.
811//
812// See DeleteDevicePool for more information on using the DeleteDevicePool
813// API call, and error handling.
814//
815// This method is useful when you want to inject custom logic or configuration
816// into the SDK's request lifecycle. Such as custom headers, or retry logic.
817//
818//
819//    // Example sending a request using the DeleteDevicePoolRequest method.
820//    req, resp := client.DeleteDevicePoolRequest(params)
821//
822//    err := req.Send()
823//    if err == nil { // resp is now filled
824//        fmt.Println(resp)
825//    }
826//
827// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePool
828func (c *DeviceFarm) DeleteDevicePoolRequest(input *DeleteDevicePoolInput) (req *request.Request, output *DeleteDevicePoolOutput) {
829	op := &request.Operation{
830		Name:       opDeleteDevicePool,
831		HTTPMethod: "POST",
832		HTTPPath:   "/",
833	}
834
835	if input == nil {
836		input = &DeleteDevicePoolInput{}
837	}
838
839	output = &DeleteDevicePoolOutput{}
840	req = c.newRequest(op, input, output)
841	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
842	return
843}
844
845// DeleteDevicePool API operation for AWS Device Farm.
846//
847// Deletes a device pool given the pool ARN. Does not allow deletion of curated
848// pools owned by the system.
849//
850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
851// with awserr.Error's Code and Message methods to get detailed information about
852// the error.
853//
854// See the AWS API reference guide for AWS Device Farm's
855// API operation DeleteDevicePool for usage and error information.
856//
857// Returned Error Types:
858//   * ArgumentException
859//   An invalid argument was specified.
860//
861//   * NotFoundException
862//   The specified entity was not found.
863//
864//   * LimitExceededException
865//   A limit was exceeded.
866//
867//   * ServiceAccountException
868//   There was a problem with the service account.
869//
870// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteDevicePool
871func (c *DeviceFarm) DeleteDevicePool(input *DeleteDevicePoolInput) (*DeleteDevicePoolOutput, error) {
872	req, out := c.DeleteDevicePoolRequest(input)
873	return out, req.Send()
874}
875
876// DeleteDevicePoolWithContext is the same as DeleteDevicePool with the addition of
877// the ability to pass a context and additional request options.
878//
879// See DeleteDevicePool for details on how to use this API operation.
880//
881// The context must be non-nil and will be used for request cancellation. If
882// the context is nil a panic will occur. In the future the SDK may create
883// sub-contexts for http.Requests. See https://golang.org/pkg/context/
884// for more information on using Contexts.
885func (c *DeviceFarm) DeleteDevicePoolWithContext(ctx aws.Context, input *DeleteDevicePoolInput, opts ...request.Option) (*DeleteDevicePoolOutput, error) {
886	req, out := c.DeleteDevicePoolRequest(input)
887	req.SetContext(ctx)
888	req.ApplyOptions(opts...)
889	return out, req.Send()
890}
891
892const opDeleteInstanceProfile = "DeleteInstanceProfile"
893
894// DeleteInstanceProfileRequest generates a "aws/request.Request" representing the
895// client's request for the DeleteInstanceProfile operation. The "output" return
896// value will be populated with the request's response once the request completes
897// successfully.
898//
899// Use "Send" method on the returned Request to send the API call to the service.
900// the "output" return value is not valid until after Send returns without error.
901//
902// See DeleteInstanceProfile for more information on using the DeleteInstanceProfile
903// API call, and error handling.
904//
905// This method is useful when you want to inject custom logic or configuration
906// into the SDK's request lifecycle. Such as custom headers, or retry logic.
907//
908//
909//    // Example sending a request using the DeleteInstanceProfileRequest method.
910//    req, resp := client.DeleteInstanceProfileRequest(params)
911//
912//    err := req.Send()
913//    if err == nil { // resp is now filled
914//        fmt.Println(resp)
915//    }
916//
917// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteInstanceProfile
918func (c *DeviceFarm) DeleteInstanceProfileRequest(input *DeleteInstanceProfileInput) (req *request.Request, output *DeleteInstanceProfileOutput) {
919	op := &request.Operation{
920		Name:       opDeleteInstanceProfile,
921		HTTPMethod: "POST",
922		HTTPPath:   "/",
923	}
924
925	if input == nil {
926		input = &DeleteInstanceProfileInput{}
927	}
928
929	output = &DeleteInstanceProfileOutput{}
930	req = c.newRequest(op, input, output)
931	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
932	return
933}
934
935// DeleteInstanceProfile API operation for AWS Device Farm.
936//
937// Deletes a profile that can be applied to one or more private device instances.
938//
939// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
940// with awserr.Error's Code and Message methods to get detailed information about
941// the error.
942//
943// See the AWS API reference guide for AWS Device Farm's
944// API operation DeleteInstanceProfile for usage and error information.
945//
946// Returned Error Types:
947//   * ArgumentException
948//   An invalid argument was specified.
949//
950//   * NotFoundException
951//   The specified entity was not found.
952//
953//   * LimitExceededException
954//   A limit was exceeded.
955//
956//   * ServiceAccountException
957//   There was a problem with the service account.
958//
959// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteInstanceProfile
960func (c *DeviceFarm) DeleteInstanceProfile(input *DeleteInstanceProfileInput) (*DeleteInstanceProfileOutput, error) {
961	req, out := c.DeleteInstanceProfileRequest(input)
962	return out, req.Send()
963}
964
965// DeleteInstanceProfileWithContext is the same as DeleteInstanceProfile with the addition of
966// the ability to pass a context and additional request options.
967//
968// See DeleteInstanceProfile for details on how to use this API operation.
969//
970// The context must be non-nil and will be used for request cancellation. If
971// the context is nil a panic will occur. In the future the SDK may create
972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
973// for more information on using Contexts.
974func (c *DeviceFarm) DeleteInstanceProfileWithContext(ctx aws.Context, input *DeleteInstanceProfileInput, opts ...request.Option) (*DeleteInstanceProfileOutput, error) {
975	req, out := c.DeleteInstanceProfileRequest(input)
976	req.SetContext(ctx)
977	req.ApplyOptions(opts...)
978	return out, req.Send()
979}
980
981const opDeleteNetworkProfile = "DeleteNetworkProfile"
982
983// DeleteNetworkProfileRequest generates a "aws/request.Request" representing the
984// client's request for the DeleteNetworkProfile operation. The "output" return
985// value will be populated with the request's response once the request completes
986// successfully.
987//
988// Use "Send" method on the returned Request to send the API call to the service.
989// the "output" return value is not valid until after Send returns without error.
990//
991// See DeleteNetworkProfile for more information on using the DeleteNetworkProfile
992// API call, and error handling.
993//
994// This method is useful when you want to inject custom logic or configuration
995// into the SDK's request lifecycle. Such as custom headers, or retry logic.
996//
997//
998//    // Example sending a request using the DeleteNetworkProfileRequest method.
999//    req, resp := client.DeleteNetworkProfileRequest(params)
1000//
1001//    err := req.Send()
1002//    if err == nil { // resp is now filled
1003//        fmt.Println(resp)
1004//    }
1005//
1006// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteNetworkProfile
1007func (c *DeviceFarm) DeleteNetworkProfileRequest(input *DeleteNetworkProfileInput) (req *request.Request, output *DeleteNetworkProfileOutput) {
1008	op := &request.Operation{
1009		Name:       opDeleteNetworkProfile,
1010		HTTPMethod: "POST",
1011		HTTPPath:   "/",
1012	}
1013
1014	if input == nil {
1015		input = &DeleteNetworkProfileInput{}
1016	}
1017
1018	output = &DeleteNetworkProfileOutput{}
1019	req = c.newRequest(op, input, output)
1020	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1021	return
1022}
1023
1024// DeleteNetworkProfile API operation for AWS Device Farm.
1025//
1026// Deletes a network profile.
1027//
1028// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1029// with awserr.Error's Code and Message methods to get detailed information about
1030// the error.
1031//
1032// See the AWS API reference guide for AWS Device Farm's
1033// API operation DeleteNetworkProfile for usage and error information.
1034//
1035// Returned Error Types:
1036//   * ArgumentException
1037//   An invalid argument was specified.
1038//
1039//   * NotFoundException
1040//   The specified entity was not found.
1041//
1042//   * LimitExceededException
1043//   A limit was exceeded.
1044//
1045//   * ServiceAccountException
1046//   There was a problem with the service account.
1047//
1048// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteNetworkProfile
1049func (c *DeviceFarm) DeleteNetworkProfile(input *DeleteNetworkProfileInput) (*DeleteNetworkProfileOutput, error) {
1050	req, out := c.DeleteNetworkProfileRequest(input)
1051	return out, req.Send()
1052}
1053
1054// DeleteNetworkProfileWithContext is the same as DeleteNetworkProfile with the addition of
1055// the ability to pass a context and additional request options.
1056//
1057// See DeleteNetworkProfile for details on how to use this API operation.
1058//
1059// The context must be non-nil and will be used for request cancellation. If
1060// the context is nil a panic will occur. In the future the SDK may create
1061// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1062// for more information on using Contexts.
1063func (c *DeviceFarm) DeleteNetworkProfileWithContext(ctx aws.Context, input *DeleteNetworkProfileInput, opts ...request.Option) (*DeleteNetworkProfileOutput, error) {
1064	req, out := c.DeleteNetworkProfileRequest(input)
1065	req.SetContext(ctx)
1066	req.ApplyOptions(opts...)
1067	return out, req.Send()
1068}
1069
1070const opDeleteProject = "DeleteProject"
1071
1072// DeleteProjectRequest generates a "aws/request.Request" representing the
1073// client's request for the DeleteProject operation. The "output" return
1074// value will be populated with the request's response once the request completes
1075// successfully.
1076//
1077// Use "Send" method on the returned Request to send the API call to the service.
1078// the "output" return value is not valid until after Send returns without error.
1079//
1080// See DeleteProject for more information on using the DeleteProject
1081// API call, and error handling.
1082//
1083// This method is useful when you want to inject custom logic or configuration
1084// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1085//
1086//
1087//    // Example sending a request using the DeleteProjectRequest method.
1088//    req, resp := client.DeleteProjectRequest(params)
1089//
1090//    err := req.Send()
1091//    if err == nil { // resp is now filled
1092//        fmt.Println(resp)
1093//    }
1094//
1095// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteProject
1096func (c *DeviceFarm) DeleteProjectRequest(input *DeleteProjectInput) (req *request.Request, output *DeleteProjectOutput) {
1097	op := &request.Operation{
1098		Name:       opDeleteProject,
1099		HTTPMethod: "POST",
1100		HTTPPath:   "/",
1101	}
1102
1103	if input == nil {
1104		input = &DeleteProjectInput{}
1105	}
1106
1107	output = &DeleteProjectOutput{}
1108	req = c.newRequest(op, input, output)
1109	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1110	return
1111}
1112
1113// DeleteProject API operation for AWS Device Farm.
1114//
1115// Deletes an AWS Device Farm project, given the project ARN.
1116//
1117// Deleting this resource does not stop an in-progress run.
1118//
1119// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1120// with awserr.Error's Code and Message methods to get detailed information about
1121// the error.
1122//
1123// See the AWS API reference guide for AWS Device Farm's
1124// API operation DeleteProject for usage and error information.
1125//
1126// Returned Error Types:
1127//   * ArgumentException
1128//   An invalid argument was specified.
1129//
1130//   * NotFoundException
1131//   The specified entity was not found.
1132//
1133//   * LimitExceededException
1134//   A limit was exceeded.
1135//
1136//   * ServiceAccountException
1137//   There was a problem with the service account.
1138//
1139// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteProject
1140func (c *DeviceFarm) DeleteProject(input *DeleteProjectInput) (*DeleteProjectOutput, error) {
1141	req, out := c.DeleteProjectRequest(input)
1142	return out, req.Send()
1143}
1144
1145// DeleteProjectWithContext is the same as DeleteProject with the addition of
1146// the ability to pass a context and additional request options.
1147//
1148// See DeleteProject for details on how to use this API operation.
1149//
1150// The context must be non-nil and will be used for request cancellation. If
1151// the context is nil a panic will occur. In the future the SDK may create
1152// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1153// for more information on using Contexts.
1154func (c *DeviceFarm) DeleteProjectWithContext(ctx aws.Context, input *DeleteProjectInput, opts ...request.Option) (*DeleteProjectOutput, error) {
1155	req, out := c.DeleteProjectRequest(input)
1156	req.SetContext(ctx)
1157	req.ApplyOptions(opts...)
1158	return out, req.Send()
1159}
1160
1161const opDeleteRemoteAccessSession = "DeleteRemoteAccessSession"
1162
1163// DeleteRemoteAccessSessionRequest generates a "aws/request.Request" representing the
1164// client's request for the DeleteRemoteAccessSession operation. The "output" return
1165// value will be populated with the request's response once the request completes
1166// successfully.
1167//
1168// Use "Send" method on the returned Request to send the API call to the service.
1169// the "output" return value is not valid until after Send returns without error.
1170//
1171// See DeleteRemoteAccessSession for more information on using the DeleteRemoteAccessSession
1172// API call, and error handling.
1173//
1174// This method is useful when you want to inject custom logic or configuration
1175// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1176//
1177//
1178//    // Example sending a request using the DeleteRemoteAccessSessionRequest method.
1179//    req, resp := client.DeleteRemoteAccessSessionRequest(params)
1180//
1181//    err := req.Send()
1182//    if err == nil { // resp is now filled
1183//        fmt.Println(resp)
1184//    }
1185//
1186// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRemoteAccessSession
1187func (c *DeviceFarm) DeleteRemoteAccessSessionRequest(input *DeleteRemoteAccessSessionInput) (req *request.Request, output *DeleteRemoteAccessSessionOutput) {
1188	op := &request.Operation{
1189		Name:       opDeleteRemoteAccessSession,
1190		HTTPMethod: "POST",
1191		HTTPPath:   "/",
1192	}
1193
1194	if input == nil {
1195		input = &DeleteRemoteAccessSessionInput{}
1196	}
1197
1198	output = &DeleteRemoteAccessSessionOutput{}
1199	req = c.newRequest(op, input, output)
1200	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1201	return
1202}
1203
1204// DeleteRemoteAccessSession API operation for AWS Device Farm.
1205//
1206// Deletes a completed remote access session and its results.
1207//
1208// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1209// with awserr.Error's Code and Message methods to get detailed information about
1210// the error.
1211//
1212// See the AWS API reference guide for AWS Device Farm's
1213// API operation DeleteRemoteAccessSession for usage and error information.
1214//
1215// Returned Error Types:
1216//   * ArgumentException
1217//   An invalid argument was specified.
1218//
1219//   * NotFoundException
1220//   The specified entity was not found.
1221//
1222//   * LimitExceededException
1223//   A limit was exceeded.
1224//
1225//   * ServiceAccountException
1226//   There was a problem with the service account.
1227//
1228// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRemoteAccessSession
1229func (c *DeviceFarm) DeleteRemoteAccessSession(input *DeleteRemoteAccessSessionInput) (*DeleteRemoteAccessSessionOutput, error) {
1230	req, out := c.DeleteRemoteAccessSessionRequest(input)
1231	return out, req.Send()
1232}
1233
1234// DeleteRemoteAccessSessionWithContext is the same as DeleteRemoteAccessSession with the addition of
1235// the ability to pass a context and additional request options.
1236//
1237// See DeleteRemoteAccessSession for details on how to use this API operation.
1238//
1239// The context must be non-nil and will be used for request cancellation. If
1240// the context is nil a panic will occur. In the future the SDK may create
1241// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1242// for more information on using Contexts.
1243func (c *DeviceFarm) DeleteRemoteAccessSessionWithContext(ctx aws.Context, input *DeleteRemoteAccessSessionInput, opts ...request.Option) (*DeleteRemoteAccessSessionOutput, error) {
1244	req, out := c.DeleteRemoteAccessSessionRequest(input)
1245	req.SetContext(ctx)
1246	req.ApplyOptions(opts...)
1247	return out, req.Send()
1248}
1249
1250const opDeleteRun = "DeleteRun"
1251
1252// DeleteRunRequest generates a "aws/request.Request" representing the
1253// client's request for the DeleteRun operation. The "output" return
1254// value will be populated with the request's response once the request completes
1255// successfully.
1256//
1257// Use "Send" method on the returned Request to send the API call to the service.
1258// the "output" return value is not valid until after Send returns without error.
1259//
1260// See DeleteRun for more information on using the DeleteRun
1261// API call, and error handling.
1262//
1263// This method is useful when you want to inject custom logic or configuration
1264// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1265//
1266//
1267//    // Example sending a request using the DeleteRunRequest method.
1268//    req, resp := client.DeleteRunRequest(params)
1269//
1270//    err := req.Send()
1271//    if err == nil { // resp is now filled
1272//        fmt.Println(resp)
1273//    }
1274//
1275// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRun
1276func (c *DeviceFarm) DeleteRunRequest(input *DeleteRunInput) (req *request.Request, output *DeleteRunOutput) {
1277	op := &request.Operation{
1278		Name:       opDeleteRun,
1279		HTTPMethod: "POST",
1280		HTTPPath:   "/",
1281	}
1282
1283	if input == nil {
1284		input = &DeleteRunInput{}
1285	}
1286
1287	output = &DeleteRunOutput{}
1288	req = c.newRequest(op, input, output)
1289	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1290	return
1291}
1292
1293// DeleteRun API operation for AWS Device Farm.
1294//
1295// Deletes the run, given the run ARN.
1296//
1297// Deleting this resource does not stop an in-progress run.
1298//
1299// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1300// with awserr.Error's Code and Message methods to get detailed information about
1301// the error.
1302//
1303// See the AWS API reference guide for AWS Device Farm's
1304// API operation DeleteRun for usage and error information.
1305//
1306// Returned Error Types:
1307//   * ArgumentException
1308//   An invalid argument was specified.
1309//
1310//   * NotFoundException
1311//   The specified entity was not found.
1312//
1313//   * LimitExceededException
1314//   A limit was exceeded.
1315//
1316//   * ServiceAccountException
1317//   There was a problem with the service account.
1318//
1319// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteRun
1320func (c *DeviceFarm) DeleteRun(input *DeleteRunInput) (*DeleteRunOutput, error) {
1321	req, out := c.DeleteRunRequest(input)
1322	return out, req.Send()
1323}
1324
1325// DeleteRunWithContext is the same as DeleteRun with the addition of
1326// the ability to pass a context and additional request options.
1327//
1328// See DeleteRun for details on how to use this API operation.
1329//
1330// The context must be non-nil and will be used for request cancellation. If
1331// the context is nil a panic will occur. In the future the SDK may create
1332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1333// for more information on using Contexts.
1334func (c *DeviceFarm) DeleteRunWithContext(ctx aws.Context, input *DeleteRunInput, opts ...request.Option) (*DeleteRunOutput, error) {
1335	req, out := c.DeleteRunRequest(input)
1336	req.SetContext(ctx)
1337	req.ApplyOptions(opts...)
1338	return out, req.Send()
1339}
1340
1341const opDeleteTestGridProject = "DeleteTestGridProject"
1342
1343// DeleteTestGridProjectRequest generates a "aws/request.Request" representing the
1344// client's request for the DeleteTestGridProject operation. The "output" return
1345// value will be populated with the request's response once the request completes
1346// successfully.
1347//
1348// Use "Send" method on the returned Request to send the API call to the service.
1349// the "output" return value is not valid until after Send returns without error.
1350//
1351// See DeleteTestGridProject for more information on using the DeleteTestGridProject
1352// API call, and error handling.
1353//
1354// This method is useful when you want to inject custom logic or configuration
1355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1356//
1357//
1358//    // Example sending a request using the DeleteTestGridProjectRequest method.
1359//    req, resp := client.DeleteTestGridProjectRequest(params)
1360//
1361//    err := req.Send()
1362//    if err == nil { // resp is now filled
1363//        fmt.Println(resp)
1364//    }
1365//
1366// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteTestGridProject
1367func (c *DeviceFarm) DeleteTestGridProjectRequest(input *DeleteTestGridProjectInput) (req *request.Request, output *DeleteTestGridProjectOutput) {
1368	op := &request.Operation{
1369		Name:       opDeleteTestGridProject,
1370		HTTPMethod: "POST",
1371		HTTPPath:   "/",
1372	}
1373
1374	if input == nil {
1375		input = &DeleteTestGridProjectInput{}
1376	}
1377
1378	output = &DeleteTestGridProjectOutput{}
1379	req = c.newRequest(op, input, output)
1380	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1381	return
1382}
1383
1384// DeleteTestGridProject API operation for AWS Device Farm.
1385//
1386// Deletes a Selenium testing project and all content generated under it.
1387//
1388// You cannot undo this operation.
1389//
1390// You cannot delete a project if it has active sessions.
1391//
1392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1393// with awserr.Error's Code and Message methods to get detailed information about
1394// the error.
1395//
1396// See the AWS API reference guide for AWS Device Farm's
1397// API operation DeleteTestGridProject for usage and error information.
1398//
1399// Returned Error Types:
1400//   * NotFoundException
1401//   The specified entity was not found.
1402//
1403//   * ArgumentException
1404//   An invalid argument was specified.
1405//
1406//   * CannotDeleteException
1407//   The requested object could not be deleted.
1408//
1409//   * InternalServiceException
1410//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
1411//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
1412//
1413// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteTestGridProject
1414func (c *DeviceFarm) DeleteTestGridProject(input *DeleteTestGridProjectInput) (*DeleteTestGridProjectOutput, error) {
1415	req, out := c.DeleteTestGridProjectRequest(input)
1416	return out, req.Send()
1417}
1418
1419// DeleteTestGridProjectWithContext is the same as DeleteTestGridProject with the addition of
1420// the ability to pass a context and additional request options.
1421//
1422// See DeleteTestGridProject for details on how to use this API operation.
1423//
1424// The context must be non-nil and will be used for request cancellation. If
1425// the context is nil a panic will occur. In the future the SDK may create
1426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1427// for more information on using Contexts.
1428func (c *DeviceFarm) DeleteTestGridProjectWithContext(ctx aws.Context, input *DeleteTestGridProjectInput, opts ...request.Option) (*DeleteTestGridProjectOutput, error) {
1429	req, out := c.DeleteTestGridProjectRequest(input)
1430	req.SetContext(ctx)
1431	req.ApplyOptions(opts...)
1432	return out, req.Send()
1433}
1434
1435const opDeleteUpload = "DeleteUpload"
1436
1437// DeleteUploadRequest generates a "aws/request.Request" representing the
1438// client's request for the DeleteUpload operation. The "output" return
1439// value will be populated with the request's response once the request completes
1440// successfully.
1441//
1442// Use "Send" method on the returned Request to send the API call to the service.
1443// the "output" return value is not valid until after Send returns without error.
1444//
1445// See DeleteUpload for more information on using the DeleteUpload
1446// API call, and error handling.
1447//
1448// This method is useful when you want to inject custom logic or configuration
1449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1450//
1451//
1452//    // Example sending a request using the DeleteUploadRequest method.
1453//    req, resp := client.DeleteUploadRequest(params)
1454//
1455//    err := req.Send()
1456//    if err == nil { // resp is now filled
1457//        fmt.Println(resp)
1458//    }
1459//
1460// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteUpload
1461func (c *DeviceFarm) DeleteUploadRequest(input *DeleteUploadInput) (req *request.Request, output *DeleteUploadOutput) {
1462	op := &request.Operation{
1463		Name:       opDeleteUpload,
1464		HTTPMethod: "POST",
1465		HTTPPath:   "/",
1466	}
1467
1468	if input == nil {
1469		input = &DeleteUploadInput{}
1470	}
1471
1472	output = &DeleteUploadOutput{}
1473	req = c.newRequest(op, input, output)
1474	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1475	return
1476}
1477
1478// DeleteUpload API operation for AWS Device Farm.
1479//
1480// Deletes an upload given the upload ARN.
1481//
1482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1483// with awserr.Error's Code and Message methods to get detailed information about
1484// the error.
1485//
1486// See the AWS API reference guide for AWS Device Farm's
1487// API operation DeleteUpload for usage and error information.
1488//
1489// Returned Error Types:
1490//   * ArgumentException
1491//   An invalid argument was specified.
1492//
1493//   * NotFoundException
1494//   The specified entity was not found.
1495//
1496//   * LimitExceededException
1497//   A limit was exceeded.
1498//
1499//   * ServiceAccountException
1500//   There was a problem with the service account.
1501//
1502// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteUpload
1503func (c *DeviceFarm) DeleteUpload(input *DeleteUploadInput) (*DeleteUploadOutput, error) {
1504	req, out := c.DeleteUploadRequest(input)
1505	return out, req.Send()
1506}
1507
1508// DeleteUploadWithContext is the same as DeleteUpload with the addition of
1509// the ability to pass a context and additional request options.
1510//
1511// See DeleteUpload for details on how to use this API operation.
1512//
1513// The context must be non-nil and will be used for request cancellation. If
1514// the context is nil a panic will occur. In the future the SDK may create
1515// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1516// for more information on using Contexts.
1517func (c *DeviceFarm) DeleteUploadWithContext(ctx aws.Context, input *DeleteUploadInput, opts ...request.Option) (*DeleteUploadOutput, error) {
1518	req, out := c.DeleteUploadRequest(input)
1519	req.SetContext(ctx)
1520	req.ApplyOptions(opts...)
1521	return out, req.Send()
1522}
1523
1524const opDeleteVPCEConfiguration = "DeleteVPCEConfiguration"
1525
1526// DeleteVPCEConfigurationRequest generates a "aws/request.Request" representing the
1527// client's request for the DeleteVPCEConfiguration operation. The "output" return
1528// value will be populated with the request's response once the request completes
1529// successfully.
1530//
1531// Use "Send" method on the returned Request to send the API call to the service.
1532// the "output" return value is not valid until after Send returns without error.
1533//
1534// See DeleteVPCEConfiguration for more information on using the DeleteVPCEConfiguration
1535// API call, and error handling.
1536//
1537// This method is useful when you want to inject custom logic or configuration
1538// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1539//
1540//
1541//    // Example sending a request using the DeleteVPCEConfigurationRequest method.
1542//    req, resp := client.DeleteVPCEConfigurationRequest(params)
1543//
1544//    err := req.Send()
1545//    if err == nil { // resp is now filled
1546//        fmt.Println(resp)
1547//    }
1548//
1549// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteVPCEConfiguration
1550func (c *DeviceFarm) DeleteVPCEConfigurationRequest(input *DeleteVPCEConfigurationInput) (req *request.Request, output *DeleteVPCEConfigurationOutput) {
1551	op := &request.Operation{
1552		Name:       opDeleteVPCEConfiguration,
1553		HTTPMethod: "POST",
1554		HTTPPath:   "/",
1555	}
1556
1557	if input == nil {
1558		input = &DeleteVPCEConfigurationInput{}
1559	}
1560
1561	output = &DeleteVPCEConfigurationOutput{}
1562	req = c.newRequest(op, input, output)
1563	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1564	return
1565}
1566
1567// DeleteVPCEConfiguration API operation for AWS Device Farm.
1568//
1569// Deletes a configuration for your Amazon Virtual Private Cloud (VPC) endpoint.
1570//
1571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1572// with awserr.Error's Code and Message methods to get detailed information about
1573// the error.
1574//
1575// See the AWS API reference guide for AWS Device Farm's
1576// API operation DeleteVPCEConfiguration for usage and error information.
1577//
1578// Returned Error Types:
1579//   * ArgumentException
1580//   An invalid argument was specified.
1581//
1582//   * NotFoundException
1583//   The specified entity was not found.
1584//
1585//   * ServiceAccountException
1586//   There was a problem with the service account.
1587//
1588//   * InvalidOperationException
1589//   There was an error with the update request, or you do not have sufficient
1590//   permissions to update this VPC endpoint configuration.
1591//
1592// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/DeleteVPCEConfiguration
1593func (c *DeviceFarm) DeleteVPCEConfiguration(input *DeleteVPCEConfigurationInput) (*DeleteVPCEConfigurationOutput, error) {
1594	req, out := c.DeleteVPCEConfigurationRequest(input)
1595	return out, req.Send()
1596}
1597
1598// DeleteVPCEConfigurationWithContext is the same as DeleteVPCEConfiguration with the addition of
1599// the ability to pass a context and additional request options.
1600//
1601// See DeleteVPCEConfiguration for details on how to use this API operation.
1602//
1603// The context must be non-nil and will be used for request cancellation. If
1604// the context is nil a panic will occur. In the future the SDK may create
1605// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1606// for more information on using Contexts.
1607func (c *DeviceFarm) DeleteVPCEConfigurationWithContext(ctx aws.Context, input *DeleteVPCEConfigurationInput, opts ...request.Option) (*DeleteVPCEConfigurationOutput, error) {
1608	req, out := c.DeleteVPCEConfigurationRequest(input)
1609	req.SetContext(ctx)
1610	req.ApplyOptions(opts...)
1611	return out, req.Send()
1612}
1613
1614const opGetAccountSettings = "GetAccountSettings"
1615
1616// GetAccountSettingsRequest generates a "aws/request.Request" representing the
1617// client's request for the GetAccountSettings operation. The "output" return
1618// value will be populated with the request's response once the request completes
1619// successfully.
1620//
1621// Use "Send" method on the returned Request to send the API call to the service.
1622// the "output" return value is not valid until after Send returns without error.
1623//
1624// See GetAccountSettings for more information on using the GetAccountSettings
1625// API call, and error handling.
1626//
1627// This method is useful when you want to inject custom logic or configuration
1628// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1629//
1630//
1631//    // Example sending a request using the GetAccountSettingsRequest method.
1632//    req, resp := client.GetAccountSettingsRequest(params)
1633//
1634//    err := req.Send()
1635//    if err == nil { // resp is now filled
1636//        fmt.Println(resp)
1637//    }
1638//
1639// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetAccountSettings
1640func (c *DeviceFarm) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req *request.Request, output *GetAccountSettingsOutput) {
1641	op := &request.Operation{
1642		Name:       opGetAccountSettings,
1643		HTTPMethod: "POST",
1644		HTTPPath:   "/",
1645	}
1646
1647	if input == nil {
1648		input = &GetAccountSettingsInput{}
1649	}
1650
1651	output = &GetAccountSettingsOutput{}
1652	req = c.newRequest(op, input, output)
1653	return
1654}
1655
1656// GetAccountSettings API operation for AWS Device Farm.
1657//
1658// Returns the number of unmetered iOS or unmetered Android devices that have
1659// been purchased by the account.
1660//
1661// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1662// with awserr.Error's Code and Message methods to get detailed information about
1663// the error.
1664//
1665// See the AWS API reference guide for AWS Device Farm's
1666// API operation GetAccountSettings for usage and error information.
1667//
1668// Returned Error Types:
1669//   * ArgumentException
1670//   An invalid argument was specified.
1671//
1672//   * NotFoundException
1673//   The specified entity was not found.
1674//
1675//   * LimitExceededException
1676//   A limit was exceeded.
1677//
1678//   * ServiceAccountException
1679//   There was a problem with the service account.
1680//
1681// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetAccountSettings
1682func (c *DeviceFarm) GetAccountSettings(input *GetAccountSettingsInput) (*GetAccountSettingsOutput, error) {
1683	req, out := c.GetAccountSettingsRequest(input)
1684	return out, req.Send()
1685}
1686
1687// GetAccountSettingsWithContext is the same as GetAccountSettings with the addition of
1688// the ability to pass a context and additional request options.
1689//
1690// See GetAccountSettings for details on how to use this API operation.
1691//
1692// The context must be non-nil and will be used for request cancellation. If
1693// the context is nil a panic will occur. In the future the SDK may create
1694// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1695// for more information on using Contexts.
1696func (c *DeviceFarm) GetAccountSettingsWithContext(ctx aws.Context, input *GetAccountSettingsInput, opts ...request.Option) (*GetAccountSettingsOutput, error) {
1697	req, out := c.GetAccountSettingsRequest(input)
1698	req.SetContext(ctx)
1699	req.ApplyOptions(opts...)
1700	return out, req.Send()
1701}
1702
1703const opGetDevice = "GetDevice"
1704
1705// GetDeviceRequest generates a "aws/request.Request" representing the
1706// client's request for the GetDevice operation. The "output" return
1707// value will be populated with the request's response once the request completes
1708// successfully.
1709//
1710// Use "Send" method on the returned Request to send the API call to the service.
1711// the "output" return value is not valid until after Send returns without error.
1712//
1713// See GetDevice for more information on using the GetDevice
1714// API call, and error handling.
1715//
1716// This method is useful when you want to inject custom logic or configuration
1717// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1718//
1719//
1720//    // Example sending a request using the GetDeviceRequest method.
1721//    req, resp := client.GetDeviceRequest(params)
1722//
1723//    err := req.Send()
1724//    if err == nil { // resp is now filled
1725//        fmt.Println(resp)
1726//    }
1727//
1728// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevice
1729func (c *DeviceFarm) GetDeviceRequest(input *GetDeviceInput) (req *request.Request, output *GetDeviceOutput) {
1730	op := &request.Operation{
1731		Name:       opGetDevice,
1732		HTTPMethod: "POST",
1733		HTTPPath:   "/",
1734	}
1735
1736	if input == nil {
1737		input = &GetDeviceInput{}
1738	}
1739
1740	output = &GetDeviceOutput{}
1741	req = c.newRequest(op, input, output)
1742	return
1743}
1744
1745// GetDevice API operation for AWS Device Farm.
1746//
1747// Gets information about a unique device type.
1748//
1749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1750// with awserr.Error's Code and Message methods to get detailed information about
1751// the error.
1752//
1753// See the AWS API reference guide for AWS Device Farm's
1754// API operation GetDevice for usage and error information.
1755//
1756// Returned Error Types:
1757//   * ArgumentException
1758//   An invalid argument was specified.
1759//
1760//   * NotFoundException
1761//   The specified entity was not found.
1762//
1763//   * LimitExceededException
1764//   A limit was exceeded.
1765//
1766//   * ServiceAccountException
1767//   There was a problem with the service account.
1768//
1769// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevice
1770func (c *DeviceFarm) GetDevice(input *GetDeviceInput) (*GetDeviceOutput, error) {
1771	req, out := c.GetDeviceRequest(input)
1772	return out, req.Send()
1773}
1774
1775// GetDeviceWithContext is the same as GetDevice with the addition of
1776// the ability to pass a context and additional request options.
1777//
1778// See GetDevice for details on how to use this API operation.
1779//
1780// The context must be non-nil and will be used for request cancellation. If
1781// the context is nil a panic will occur. In the future the SDK may create
1782// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1783// for more information on using Contexts.
1784func (c *DeviceFarm) GetDeviceWithContext(ctx aws.Context, input *GetDeviceInput, opts ...request.Option) (*GetDeviceOutput, error) {
1785	req, out := c.GetDeviceRequest(input)
1786	req.SetContext(ctx)
1787	req.ApplyOptions(opts...)
1788	return out, req.Send()
1789}
1790
1791const opGetDeviceInstance = "GetDeviceInstance"
1792
1793// GetDeviceInstanceRequest generates a "aws/request.Request" representing the
1794// client's request for the GetDeviceInstance operation. The "output" return
1795// value will be populated with the request's response once the request completes
1796// successfully.
1797//
1798// Use "Send" method on the returned Request to send the API call to the service.
1799// the "output" return value is not valid until after Send returns without error.
1800//
1801// See GetDeviceInstance for more information on using the GetDeviceInstance
1802// API call, and error handling.
1803//
1804// This method is useful when you want to inject custom logic or configuration
1805// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1806//
1807//
1808//    // Example sending a request using the GetDeviceInstanceRequest method.
1809//    req, resp := client.GetDeviceInstanceRequest(params)
1810//
1811//    err := req.Send()
1812//    if err == nil { // resp is now filled
1813//        fmt.Println(resp)
1814//    }
1815//
1816// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDeviceInstance
1817func (c *DeviceFarm) GetDeviceInstanceRequest(input *GetDeviceInstanceInput) (req *request.Request, output *GetDeviceInstanceOutput) {
1818	op := &request.Operation{
1819		Name:       opGetDeviceInstance,
1820		HTTPMethod: "POST",
1821		HTTPPath:   "/",
1822	}
1823
1824	if input == nil {
1825		input = &GetDeviceInstanceInput{}
1826	}
1827
1828	output = &GetDeviceInstanceOutput{}
1829	req = c.newRequest(op, input, output)
1830	return
1831}
1832
1833// GetDeviceInstance API operation for AWS Device Farm.
1834//
1835// Returns information about a device instance that belongs to a private device
1836// fleet.
1837//
1838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1839// with awserr.Error's Code and Message methods to get detailed information about
1840// the error.
1841//
1842// See the AWS API reference guide for AWS Device Farm's
1843// API operation GetDeviceInstance for usage and error information.
1844//
1845// Returned Error Types:
1846//   * ArgumentException
1847//   An invalid argument was specified.
1848//
1849//   * NotFoundException
1850//   The specified entity was not found.
1851//
1852//   * LimitExceededException
1853//   A limit was exceeded.
1854//
1855//   * ServiceAccountException
1856//   There was a problem with the service account.
1857//
1858// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDeviceInstance
1859func (c *DeviceFarm) GetDeviceInstance(input *GetDeviceInstanceInput) (*GetDeviceInstanceOutput, error) {
1860	req, out := c.GetDeviceInstanceRequest(input)
1861	return out, req.Send()
1862}
1863
1864// GetDeviceInstanceWithContext is the same as GetDeviceInstance with the addition of
1865// the ability to pass a context and additional request options.
1866//
1867// See GetDeviceInstance for details on how to use this API operation.
1868//
1869// The context must be non-nil and will be used for request cancellation. If
1870// the context is nil a panic will occur. In the future the SDK may create
1871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1872// for more information on using Contexts.
1873func (c *DeviceFarm) GetDeviceInstanceWithContext(ctx aws.Context, input *GetDeviceInstanceInput, opts ...request.Option) (*GetDeviceInstanceOutput, error) {
1874	req, out := c.GetDeviceInstanceRequest(input)
1875	req.SetContext(ctx)
1876	req.ApplyOptions(opts...)
1877	return out, req.Send()
1878}
1879
1880const opGetDevicePool = "GetDevicePool"
1881
1882// GetDevicePoolRequest generates a "aws/request.Request" representing the
1883// client's request for the GetDevicePool operation. The "output" return
1884// value will be populated with the request's response once the request completes
1885// successfully.
1886//
1887// Use "Send" method on the returned Request to send the API call to the service.
1888// the "output" return value is not valid until after Send returns without error.
1889//
1890// See GetDevicePool for more information on using the GetDevicePool
1891// API call, and error handling.
1892//
1893// This method is useful when you want to inject custom logic or configuration
1894// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1895//
1896//
1897//    // Example sending a request using the GetDevicePoolRequest method.
1898//    req, resp := client.GetDevicePoolRequest(params)
1899//
1900//    err := req.Send()
1901//    if err == nil { // resp is now filled
1902//        fmt.Println(resp)
1903//    }
1904//
1905// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePool
1906func (c *DeviceFarm) GetDevicePoolRequest(input *GetDevicePoolInput) (req *request.Request, output *GetDevicePoolOutput) {
1907	op := &request.Operation{
1908		Name:       opGetDevicePool,
1909		HTTPMethod: "POST",
1910		HTTPPath:   "/",
1911	}
1912
1913	if input == nil {
1914		input = &GetDevicePoolInput{}
1915	}
1916
1917	output = &GetDevicePoolOutput{}
1918	req = c.newRequest(op, input, output)
1919	return
1920}
1921
1922// GetDevicePool API operation for AWS Device Farm.
1923//
1924// Gets information about a device pool.
1925//
1926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1927// with awserr.Error's Code and Message methods to get detailed information about
1928// the error.
1929//
1930// See the AWS API reference guide for AWS Device Farm's
1931// API operation GetDevicePool for usage and error information.
1932//
1933// Returned Error Types:
1934//   * ArgumentException
1935//   An invalid argument was specified.
1936//
1937//   * NotFoundException
1938//   The specified entity was not found.
1939//
1940//   * LimitExceededException
1941//   A limit was exceeded.
1942//
1943//   * ServiceAccountException
1944//   There was a problem with the service account.
1945//
1946// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePool
1947func (c *DeviceFarm) GetDevicePool(input *GetDevicePoolInput) (*GetDevicePoolOutput, error) {
1948	req, out := c.GetDevicePoolRequest(input)
1949	return out, req.Send()
1950}
1951
1952// GetDevicePoolWithContext is the same as GetDevicePool with the addition of
1953// the ability to pass a context and additional request options.
1954//
1955// See GetDevicePool for details on how to use this API operation.
1956//
1957// The context must be non-nil and will be used for request cancellation. If
1958// the context is nil a panic will occur. In the future the SDK may create
1959// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1960// for more information on using Contexts.
1961func (c *DeviceFarm) GetDevicePoolWithContext(ctx aws.Context, input *GetDevicePoolInput, opts ...request.Option) (*GetDevicePoolOutput, error) {
1962	req, out := c.GetDevicePoolRequest(input)
1963	req.SetContext(ctx)
1964	req.ApplyOptions(opts...)
1965	return out, req.Send()
1966}
1967
1968const opGetDevicePoolCompatibility = "GetDevicePoolCompatibility"
1969
1970// GetDevicePoolCompatibilityRequest generates a "aws/request.Request" representing the
1971// client's request for the GetDevicePoolCompatibility operation. The "output" return
1972// value will be populated with the request's response once the request completes
1973// successfully.
1974//
1975// Use "Send" method on the returned Request to send the API call to the service.
1976// the "output" return value is not valid until after Send returns without error.
1977//
1978// See GetDevicePoolCompatibility for more information on using the GetDevicePoolCompatibility
1979// API call, and error handling.
1980//
1981// This method is useful when you want to inject custom logic or configuration
1982// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1983//
1984//
1985//    // Example sending a request using the GetDevicePoolCompatibilityRequest method.
1986//    req, resp := client.GetDevicePoolCompatibilityRequest(params)
1987//
1988//    err := req.Send()
1989//    if err == nil { // resp is now filled
1990//        fmt.Println(resp)
1991//    }
1992//
1993// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolCompatibility
1994func (c *DeviceFarm) GetDevicePoolCompatibilityRequest(input *GetDevicePoolCompatibilityInput) (req *request.Request, output *GetDevicePoolCompatibilityOutput) {
1995	op := &request.Operation{
1996		Name:       opGetDevicePoolCompatibility,
1997		HTTPMethod: "POST",
1998		HTTPPath:   "/",
1999	}
2000
2001	if input == nil {
2002		input = &GetDevicePoolCompatibilityInput{}
2003	}
2004
2005	output = &GetDevicePoolCompatibilityOutput{}
2006	req = c.newRequest(op, input, output)
2007	return
2008}
2009
2010// GetDevicePoolCompatibility API operation for AWS Device Farm.
2011//
2012// Gets information about compatibility with a device pool.
2013//
2014// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2015// with awserr.Error's Code and Message methods to get detailed information about
2016// the error.
2017//
2018// See the AWS API reference guide for AWS Device Farm's
2019// API operation GetDevicePoolCompatibility for usage and error information.
2020//
2021// Returned Error Types:
2022//   * ArgumentException
2023//   An invalid argument was specified.
2024//
2025//   * NotFoundException
2026//   The specified entity was not found.
2027//
2028//   * LimitExceededException
2029//   A limit was exceeded.
2030//
2031//   * ServiceAccountException
2032//   There was a problem with the service account.
2033//
2034// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetDevicePoolCompatibility
2035func (c *DeviceFarm) GetDevicePoolCompatibility(input *GetDevicePoolCompatibilityInput) (*GetDevicePoolCompatibilityOutput, error) {
2036	req, out := c.GetDevicePoolCompatibilityRequest(input)
2037	return out, req.Send()
2038}
2039
2040// GetDevicePoolCompatibilityWithContext is the same as GetDevicePoolCompatibility with the addition of
2041// the ability to pass a context and additional request options.
2042//
2043// See GetDevicePoolCompatibility for details on how to use this API operation.
2044//
2045// The context must be non-nil and will be used for request cancellation. If
2046// the context is nil a panic will occur. In the future the SDK may create
2047// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2048// for more information on using Contexts.
2049func (c *DeviceFarm) GetDevicePoolCompatibilityWithContext(ctx aws.Context, input *GetDevicePoolCompatibilityInput, opts ...request.Option) (*GetDevicePoolCompatibilityOutput, error) {
2050	req, out := c.GetDevicePoolCompatibilityRequest(input)
2051	req.SetContext(ctx)
2052	req.ApplyOptions(opts...)
2053	return out, req.Send()
2054}
2055
2056const opGetInstanceProfile = "GetInstanceProfile"
2057
2058// GetInstanceProfileRequest generates a "aws/request.Request" representing the
2059// client's request for the GetInstanceProfile operation. The "output" return
2060// value will be populated with the request's response once the request completes
2061// successfully.
2062//
2063// Use "Send" method on the returned Request to send the API call to the service.
2064// the "output" return value is not valid until after Send returns without error.
2065//
2066// See GetInstanceProfile for more information on using the GetInstanceProfile
2067// API call, and error handling.
2068//
2069// This method is useful when you want to inject custom logic or configuration
2070// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2071//
2072//
2073//    // Example sending a request using the GetInstanceProfileRequest method.
2074//    req, resp := client.GetInstanceProfileRequest(params)
2075//
2076//    err := req.Send()
2077//    if err == nil { // resp is now filled
2078//        fmt.Println(resp)
2079//    }
2080//
2081// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetInstanceProfile
2082func (c *DeviceFarm) GetInstanceProfileRequest(input *GetInstanceProfileInput) (req *request.Request, output *GetInstanceProfileOutput) {
2083	op := &request.Operation{
2084		Name:       opGetInstanceProfile,
2085		HTTPMethod: "POST",
2086		HTTPPath:   "/",
2087	}
2088
2089	if input == nil {
2090		input = &GetInstanceProfileInput{}
2091	}
2092
2093	output = &GetInstanceProfileOutput{}
2094	req = c.newRequest(op, input, output)
2095	return
2096}
2097
2098// GetInstanceProfile API operation for AWS Device Farm.
2099//
2100// Returns information about the specified instance profile.
2101//
2102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2103// with awserr.Error's Code and Message methods to get detailed information about
2104// the error.
2105//
2106// See the AWS API reference guide for AWS Device Farm's
2107// API operation GetInstanceProfile for usage and error information.
2108//
2109// Returned Error Types:
2110//   * ArgumentException
2111//   An invalid argument was specified.
2112//
2113//   * NotFoundException
2114//   The specified entity was not found.
2115//
2116//   * LimitExceededException
2117//   A limit was exceeded.
2118//
2119//   * ServiceAccountException
2120//   There was a problem with the service account.
2121//
2122// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetInstanceProfile
2123func (c *DeviceFarm) GetInstanceProfile(input *GetInstanceProfileInput) (*GetInstanceProfileOutput, error) {
2124	req, out := c.GetInstanceProfileRequest(input)
2125	return out, req.Send()
2126}
2127
2128// GetInstanceProfileWithContext is the same as GetInstanceProfile with the addition of
2129// the ability to pass a context and additional request options.
2130//
2131// See GetInstanceProfile for details on how to use this API operation.
2132//
2133// The context must be non-nil and will be used for request cancellation. If
2134// the context is nil a panic will occur. In the future the SDK may create
2135// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2136// for more information on using Contexts.
2137func (c *DeviceFarm) GetInstanceProfileWithContext(ctx aws.Context, input *GetInstanceProfileInput, opts ...request.Option) (*GetInstanceProfileOutput, error) {
2138	req, out := c.GetInstanceProfileRequest(input)
2139	req.SetContext(ctx)
2140	req.ApplyOptions(opts...)
2141	return out, req.Send()
2142}
2143
2144const opGetJob = "GetJob"
2145
2146// GetJobRequest generates a "aws/request.Request" representing the
2147// client's request for the GetJob operation. The "output" return
2148// value will be populated with the request's response once the request completes
2149// successfully.
2150//
2151// Use "Send" method on the returned Request to send the API call to the service.
2152// the "output" return value is not valid until after Send returns without error.
2153//
2154// See GetJob for more information on using the GetJob
2155// API call, and error handling.
2156//
2157// This method is useful when you want to inject custom logic or configuration
2158// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2159//
2160//
2161//    // Example sending a request using the GetJobRequest method.
2162//    req, resp := client.GetJobRequest(params)
2163//
2164//    err := req.Send()
2165//    if err == nil { // resp is now filled
2166//        fmt.Println(resp)
2167//    }
2168//
2169// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJob
2170func (c *DeviceFarm) GetJobRequest(input *GetJobInput) (req *request.Request, output *GetJobOutput) {
2171	op := &request.Operation{
2172		Name:       opGetJob,
2173		HTTPMethod: "POST",
2174		HTTPPath:   "/",
2175	}
2176
2177	if input == nil {
2178		input = &GetJobInput{}
2179	}
2180
2181	output = &GetJobOutput{}
2182	req = c.newRequest(op, input, output)
2183	return
2184}
2185
2186// GetJob API operation for AWS Device Farm.
2187//
2188// Gets information about a job.
2189//
2190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2191// with awserr.Error's Code and Message methods to get detailed information about
2192// the error.
2193//
2194// See the AWS API reference guide for AWS Device Farm's
2195// API operation GetJob for usage and error information.
2196//
2197// Returned Error Types:
2198//   * ArgumentException
2199//   An invalid argument was specified.
2200//
2201//   * NotFoundException
2202//   The specified entity was not found.
2203//
2204//   * LimitExceededException
2205//   A limit was exceeded.
2206//
2207//   * ServiceAccountException
2208//   There was a problem with the service account.
2209//
2210// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetJob
2211func (c *DeviceFarm) GetJob(input *GetJobInput) (*GetJobOutput, error) {
2212	req, out := c.GetJobRequest(input)
2213	return out, req.Send()
2214}
2215
2216// GetJobWithContext is the same as GetJob with the addition of
2217// the ability to pass a context and additional request options.
2218//
2219// See GetJob for details on how to use this API operation.
2220//
2221// The context must be non-nil and will be used for request cancellation. If
2222// the context is nil a panic will occur. In the future the SDK may create
2223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2224// for more information on using Contexts.
2225func (c *DeviceFarm) GetJobWithContext(ctx aws.Context, input *GetJobInput, opts ...request.Option) (*GetJobOutput, error) {
2226	req, out := c.GetJobRequest(input)
2227	req.SetContext(ctx)
2228	req.ApplyOptions(opts...)
2229	return out, req.Send()
2230}
2231
2232const opGetNetworkProfile = "GetNetworkProfile"
2233
2234// GetNetworkProfileRequest generates a "aws/request.Request" representing the
2235// client's request for the GetNetworkProfile operation. The "output" return
2236// value will be populated with the request's response once the request completes
2237// successfully.
2238//
2239// Use "Send" method on the returned Request to send the API call to the service.
2240// the "output" return value is not valid until after Send returns without error.
2241//
2242// See GetNetworkProfile for more information on using the GetNetworkProfile
2243// API call, and error handling.
2244//
2245// This method is useful when you want to inject custom logic or configuration
2246// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2247//
2248//
2249//    // Example sending a request using the GetNetworkProfileRequest method.
2250//    req, resp := client.GetNetworkProfileRequest(params)
2251//
2252//    err := req.Send()
2253//    if err == nil { // resp is now filled
2254//        fmt.Println(resp)
2255//    }
2256//
2257// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetNetworkProfile
2258func (c *DeviceFarm) GetNetworkProfileRequest(input *GetNetworkProfileInput) (req *request.Request, output *GetNetworkProfileOutput) {
2259	op := &request.Operation{
2260		Name:       opGetNetworkProfile,
2261		HTTPMethod: "POST",
2262		HTTPPath:   "/",
2263	}
2264
2265	if input == nil {
2266		input = &GetNetworkProfileInput{}
2267	}
2268
2269	output = &GetNetworkProfileOutput{}
2270	req = c.newRequest(op, input, output)
2271	return
2272}
2273
2274// GetNetworkProfile API operation for AWS Device Farm.
2275//
2276// Returns information about a network profile.
2277//
2278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2279// with awserr.Error's Code and Message methods to get detailed information about
2280// the error.
2281//
2282// See the AWS API reference guide for AWS Device Farm's
2283// API operation GetNetworkProfile for usage and error information.
2284//
2285// Returned Error Types:
2286//   * ArgumentException
2287//   An invalid argument was specified.
2288//
2289//   * NotFoundException
2290//   The specified entity was not found.
2291//
2292//   * LimitExceededException
2293//   A limit was exceeded.
2294//
2295//   * ServiceAccountException
2296//   There was a problem with the service account.
2297//
2298// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetNetworkProfile
2299func (c *DeviceFarm) GetNetworkProfile(input *GetNetworkProfileInput) (*GetNetworkProfileOutput, error) {
2300	req, out := c.GetNetworkProfileRequest(input)
2301	return out, req.Send()
2302}
2303
2304// GetNetworkProfileWithContext is the same as GetNetworkProfile with the addition of
2305// the ability to pass a context and additional request options.
2306//
2307// See GetNetworkProfile for details on how to use this API operation.
2308//
2309// The context must be non-nil and will be used for request cancellation. If
2310// the context is nil a panic will occur. In the future the SDK may create
2311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2312// for more information on using Contexts.
2313func (c *DeviceFarm) GetNetworkProfileWithContext(ctx aws.Context, input *GetNetworkProfileInput, opts ...request.Option) (*GetNetworkProfileOutput, error) {
2314	req, out := c.GetNetworkProfileRequest(input)
2315	req.SetContext(ctx)
2316	req.ApplyOptions(opts...)
2317	return out, req.Send()
2318}
2319
2320const opGetOfferingStatus = "GetOfferingStatus"
2321
2322// GetOfferingStatusRequest generates a "aws/request.Request" representing the
2323// client's request for the GetOfferingStatus operation. The "output" return
2324// value will be populated with the request's response once the request completes
2325// successfully.
2326//
2327// Use "Send" method on the returned Request to send the API call to the service.
2328// the "output" return value is not valid until after Send returns without error.
2329//
2330// See GetOfferingStatus for more information on using the GetOfferingStatus
2331// API call, and error handling.
2332//
2333// This method is useful when you want to inject custom logic or configuration
2334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2335//
2336//
2337//    // Example sending a request using the GetOfferingStatusRequest method.
2338//    req, resp := client.GetOfferingStatusRequest(params)
2339//
2340//    err := req.Send()
2341//    if err == nil { // resp is now filled
2342//        fmt.Println(resp)
2343//    }
2344//
2345// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetOfferingStatus
2346func (c *DeviceFarm) GetOfferingStatusRequest(input *GetOfferingStatusInput) (req *request.Request, output *GetOfferingStatusOutput) {
2347	op := &request.Operation{
2348		Name:       opGetOfferingStatus,
2349		HTTPMethod: "POST",
2350		HTTPPath:   "/",
2351		Paginator: &request.Paginator{
2352			InputTokens:     []string{"nextToken"},
2353			OutputTokens:    []string{"nextToken"},
2354			LimitToken:      "",
2355			TruncationToken: "",
2356		},
2357	}
2358
2359	if input == nil {
2360		input = &GetOfferingStatusInput{}
2361	}
2362
2363	output = &GetOfferingStatusOutput{}
2364	req = c.newRequest(op, input, output)
2365	return
2366}
2367
2368// GetOfferingStatus API operation for AWS Device Farm.
2369//
2370// Gets the current status and future status of all offerings purchased by an
2371// AWS account. The response indicates how many offerings are currently available
2372// and the offerings that will be available in the next period. The API returns
2373// a NotEligible error if the user is not permitted to invoke the operation.
2374// If you must be able to invoke this operation, contact aws-devicefarm-support@amazon.com
2375// (mailto:aws-devicefarm-support@amazon.com).
2376//
2377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2378// with awserr.Error's Code and Message methods to get detailed information about
2379// the error.
2380//
2381// See the AWS API reference guide for AWS Device Farm's
2382// API operation GetOfferingStatus for usage and error information.
2383//
2384// Returned Error Types:
2385//   * ArgumentException
2386//   An invalid argument was specified.
2387//
2388//   * NotFoundException
2389//   The specified entity was not found.
2390//
2391//   * NotEligibleException
2392//   Exception gets thrown when a user is not eligible to perform the specified
2393//   transaction.
2394//
2395//   * LimitExceededException
2396//   A limit was exceeded.
2397//
2398//   * ServiceAccountException
2399//   There was a problem with the service account.
2400//
2401// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetOfferingStatus
2402func (c *DeviceFarm) GetOfferingStatus(input *GetOfferingStatusInput) (*GetOfferingStatusOutput, error) {
2403	req, out := c.GetOfferingStatusRequest(input)
2404	return out, req.Send()
2405}
2406
2407// GetOfferingStatusWithContext is the same as GetOfferingStatus with the addition of
2408// the ability to pass a context and additional request options.
2409//
2410// See GetOfferingStatus for details on how to use this API operation.
2411//
2412// The context must be non-nil and will be used for request cancellation. If
2413// the context is nil a panic will occur. In the future the SDK may create
2414// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2415// for more information on using Contexts.
2416func (c *DeviceFarm) GetOfferingStatusWithContext(ctx aws.Context, input *GetOfferingStatusInput, opts ...request.Option) (*GetOfferingStatusOutput, error) {
2417	req, out := c.GetOfferingStatusRequest(input)
2418	req.SetContext(ctx)
2419	req.ApplyOptions(opts...)
2420	return out, req.Send()
2421}
2422
2423// GetOfferingStatusPages iterates over the pages of a GetOfferingStatus operation,
2424// calling the "fn" function with the response data for each page. To stop
2425// iterating, return false from the fn function.
2426//
2427// See GetOfferingStatus method for more information on how to use this operation.
2428//
2429// Note: This operation can generate multiple requests to a service.
2430//
2431//    // Example iterating over at most 3 pages of a GetOfferingStatus operation.
2432//    pageNum := 0
2433//    err := client.GetOfferingStatusPages(params,
2434//        func(page *devicefarm.GetOfferingStatusOutput, lastPage bool) bool {
2435//            pageNum++
2436//            fmt.Println(page)
2437//            return pageNum <= 3
2438//        })
2439//
2440func (c *DeviceFarm) GetOfferingStatusPages(input *GetOfferingStatusInput, fn func(*GetOfferingStatusOutput, bool) bool) error {
2441	return c.GetOfferingStatusPagesWithContext(aws.BackgroundContext(), input, fn)
2442}
2443
2444// GetOfferingStatusPagesWithContext same as GetOfferingStatusPages except
2445// it takes a Context and allows setting request options on the pages.
2446//
2447// The context must be non-nil and will be used for request cancellation. If
2448// the context is nil a panic will occur. In the future the SDK may create
2449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2450// for more information on using Contexts.
2451func (c *DeviceFarm) GetOfferingStatusPagesWithContext(ctx aws.Context, input *GetOfferingStatusInput, fn func(*GetOfferingStatusOutput, bool) bool, opts ...request.Option) error {
2452	p := request.Pagination{
2453		NewRequest: func() (*request.Request, error) {
2454			var inCpy *GetOfferingStatusInput
2455			if input != nil {
2456				tmp := *input
2457				inCpy = &tmp
2458			}
2459			req, _ := c.GetOfferingStatusRequest(inCpy)
2460			req.SetContext(ctx)
2461			req.ApplyOptions(opts...)
2462			return req, nil
2463		},
2464	}
2465
2466	for p.Next() {
2467		if !fn(p.Page().(*GetOfferingStatusOutput), !p.HasNextPage()) {
2468			break
2469		}
2470	}
2471
2472	return p.Err()
2473}
2474
2475const opGetProject = "GetProject"
2476
2477// GetProjectRequest generates a "aws/request.Request" representing the
2478// client's request for the GetProject operation. The "output" return
2479// value will be populated with the request's response once the request completes
2480// successfully.
2481//
2482// Use "Send" method on the returned Request to send the API call to the service.
2483// the "output" return value is not valid until after Send returns without error.
2484//
2485// See GetProject for more information on using the GetProject
2486// API call, and error handling.
2487//
2488// This method is useful when you want to inject custom logic or configuration
2489// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2490//
2491//
2492//    // Example sending a request using the GetProjectRequest method.
2493//    req, resp := client.GetProjectRequest(params)
2494//
2495//    err := req.Send()
2496//    if err == nil { // resp is now filled
2497//        fmt.Println(resp)
2498//    }
2499//
2500// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetProject
2501func (c *DeviceFarm) GetProjectRequest(input *GetProjectInput) (req *request.Request, output *GetProjectOutput) {
2502	op := &request.Operation{
2503		Name:       opGetProject,
2504		HTTPMethod: "POST",
2505		HTTPPath:   "/",
2506	}
2507
2508	if input == nil {
2509		input = &GetProjectInput{}
2510	}
2511
2512	output = &GetProjectOutput{}
2513	req = c.newRequest(op, input, output)
2514	return
2515}
2516
2517// GetProject API operation for AWS Device Farm.
2518//
2519// Gets information about a project.
2520//
2521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2522// with awserr.Error's Code and Message methods to get detailed information about
2523// the error.
2524//
2525// See the AWS API reference guide for AWS Device Farm's
2526// API operation GetProject for usage and error information.
2527//
2528// Returned Error Types:
2529//   * ArgumentException
2530//   An invalid argument was specified.
2531//
2532//   * NotFoundException
2533//   The specified entity was not found.
2534//
2535//   * LimitExceededException
2536//   A limit was exceeded.
2537//
2538//   * ServiceAccountException
2539//   There was a problem with the service account.
2540//
2541// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetProject
2542func (c *DeviceFarm) GetProject(input *GetProjectInput) (*GetProjectOutput, error) {
2543	req, out := c.GetProjectRequest(input)
2544	return out, req.Send()
2545}
2546
2547// GetProjectWithContext is the same as GetProject with the addition of
2548// the ability to pass a context and additional request options.
2549//
2550// See GetProject for details on how to use this API operation.
2551//
2552// The context must be non-nil and will be used for request cancellation. If
2553// the context is nil a panic will occur. In the future the SDK may create
2554// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2555// for more information on using Contexts.
2556func (c *DeviceFarm) GetProjectWithContext(ctx aws.Context, input *GetProjectInput, opts ...request.Option) (*GetProjectOutput, error) {
2557	req, out := c.GetProjectRequest(input)
2558	req.SetContext(ctx)
2559	req.ApplyOptions(opts...)
2560	return out, req.Send()
2561}
2562
2563const opGetRemoteAccessSession = "GetRemoteAccessSession"
2564
2565// GetRemoteAccessSessionRequest generates a "aws/request.Request" representing the
2566// client's request for the GetRemoteAccessSession operation. The "output" return
2567// value will be populated with the request's response once the request completes
2568// successfully.
2569//
2570// Use "Send" method on the returned Request to send the API call to the service.
2571// the "output" return value is not valid until after Send returns without error.
2572//
2573// See GetRemoteAccessSession for more information on using the GetRemoteAccessSession
2574// API call, and error handling.
2575//
2576// This method is useful when you want to inject custom logic or configuration
2577// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2578//
2579//
2580//    // Example sending a request using the GetRemoteAccessSessionRequest method.
2581//    req, resp := client.GetRemoteAccessSessionRequest(params)
2582//
2583//    err := req.Send()
2584//    if err == nil { // resp is now filled
2585//        fmt.Println(resp)
2586//    }
2587//
2588// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRemoteAccessSession
2589func (c *DeviceFarm) GetRemoteAccessSessionRequest(input *GetRemoteAccessSessionInput) (req *request.Request, output *GetRemoteAccessSessionOutput) {
2590	op := &request.Operation{
2591		Name:       opGetRemoteAccessSession,
2592		HTTPMethod: "POST",
2593		HTTPPath:   "/",
2594	}
2595
2596	if input == nil {
2597		input = &GetRemoteAccessSessionInput{}
2598	}
2599
2600	output = &GetRemoteAccessSessionOutput{}
2601	req = c.newRequest(op, input, output)
2602	return
2603}
2604
2605// GetRemoteAccessSession API operation for AWS Device Farm.
2606//
2607// Returns a link to a currently running remote access session.
2608//
2609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2610// with awserr.Error's Code and Message methods to get detailed information about
2611// the error.
2612//
2613// See the AWS API reference guide for AWS Device Farm's
2614// API operation GetRemoteAccessSession for usage and error information.
2615//
2616// Returned Error Types:
2617//   * ArgumentException
2618//   An invalid argument was specified.
2619//
2620//   * NotFoundException
2621//   The specified entity was not found.
2622//
2623//   * LimitExceededException
2624//   A limit was exceeded.
2625//
2626//   * ServiceAccountException
2627//   There was a problem with the service account.
2628//
2629// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRemoteAccessSession
2630func (c *DeviceFarm) GetRemoteAccessSession(input *GetRemoteAccessSessionInput) (*GetRemoteAccessSessionOutput, error) {
2631	req, out := c.GetRemoteAccessSessionRequest(input)
2632	return out, req.Send()
2633}
2634
2635// GetRemoteAccessSessionWithContext is the same as GetRemoteAccessSession with the addition of
2636// the ability to pass a context and additional request options.
2637//
2638// See GetRemoteAccessSession for details on how to use this API operation.
2639//
2640// The context must be non-nil and will be used for request cancellation. If
2641// the context is nil a panic will occur. In the future the SDK may create
2642// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2643// for more information on using Contexts.
2644func (c *DeviceFarm) GetRemoteAccessSessionWithContext(ctx aws.Context, input *GetRemoteAccessSessionInput, opts ...request.Option) (*GetRemoteAccessSessionOutput, error) {
2645	req, out := c.GetRemoteAccessSessionRequest(input)
2646	req.SetContext(ctx)
2647	req.ApplyOptions(opts...)
2648	return out, req.Send()
2649}
2650
2651const opGetRun = "GetRun"
2652
2653// GetRunRequest generates a "aws/request.Request" representing the
2654// client's request for the GetRun operation. The "output" return
2655// value will be populated with the request's response once the request completes
2656// successfully.
2657//
2658// Use "Send" method on the returned Request to send the API call to the service.
2659// the "output" return value is not valid until after Send returns without error.
2660//
2661// See GetRun for more information on using the GetRun
2662// API call, and error handling.
2663//
2664// This method is useful when you want to inject custom logic or configuration
2665// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2666//
2667//
2668//    // Example sending a request using the GetRunRequest method.
2669//    req, resp := client.GetRunRequest(params)
2670//
2671//    err := req.Send()
2672//    if err == nil { // resp is now filled
2673//        fmt.Println(resp)
2674//    }
2675//
2676// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRun
2677func (c *DeviceFarm) GetRunRequest(input *GetRunInput) (req *request.Request, output *GetRunOutput) {
2678	op := &request.Operation{
2679		Name:       opGetRun,
2680		HTTPMethod: "POST",
2681		HTTPPath:   "/",
2682	}
2683
2684	if input == nil {
2685		input = &GetRunInput{}
2686	}
2687
2688	output = &GetRunOutput{}
2689	req = c.newRequest(op, input, output)
2690	return
2691}
2692
2693// GetRun API operation for AWS Device Farm.
2694//
2695// Gets information about a run.
2696//
2697// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2698// with awserr.Error's Code and Message methods to get detailed information about
2699// the error.
2700//
2701// See the AWS API reference guide for AWS Device Farm's
2702// API operation GetRun for usage and error information.
2703//
2704// Returned Error Types:
2705//   * ArgumentException
2706//   An invalid argument was specified.
2707//
2708//   * NotFoundException
2709//   The specified entity was not found.
2710//
2711//   * LimitExceededException
2712//   A limit was exceeded.
2713//
2714//   * ServiceAccountException
2715//   There was a problem with the service account.
2716//
2717// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetRun
2718func (c *DeviceFarm) GetRun(input *GetRunInput) (*GetRunOutput, error) {
2719	req, out := c.GetRunRequest(input)
2720	return out, req.Send()
2721}
2722
2723// GetRunWithContext is the same as GetRun with the addition of
2724// the ability to pass a context and additional request options.
2725//
2726// See GetRun for details on how to use this API operation.
2727//
2728// The context must be non-nil and will be used for request cancellation. If
2729// the context is nil a panic will occur. In the future the SDK may create
2730// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2731// for more information on using Contexts.
2732func (c *DeviceFarm) GetRunWithContext(ctx aws.Context, input *GetRunInput, opts ...request.Option) (*GetRunOutput, error) {
2733	req, out := c.GetRunRequest(input)
2734	req.SetContext(ctx)
2735	req.ApplyOptions(opts...)
2736	return out, req.Send()
2737}
2738
2739const opGetSuite = "GetSuite"
2740
2741// GetSuiteRequest generates a "aws/request.Request" representing the
2742// client's request for the GetSuite operation. The "output" return
2743// value will be populated with the request's response once the request completes
2744// successfully.
2745//
2746// Use "Send" method on the returned Request to send the API call to the service.
2747// the "output" return value is not valid until after Send returns without error.
2748//
2749// See GetSuite for more information on using the GetSuite
2750// API call, and error handling.
2751//
2752// This method is useful when you want to inject custom logic or configuration
2753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2754//
2755//
2756//    // Example sending a request using the GetSuiteRequest method.
2757//    req, resp := client.GetSuiteRequest(params)
2758//
2759//    err := req.Send()
2760//    if err == nil { // resp is now filled
2761//        fmt.Println(resp)
2762//    }
2763//
2764// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetSuite
2765func (c *DeviceFarm) GetSuiteRequest(input *GetSuiteInput) (req *request.Request, output *GetSuiteOutput) {
2766	op := &request.Operation{
2767		Name:       opGetSuite,
2768		HTTPMethod: "POST",
2769		HTTPPath:   "/",
2770	}
2771
2772	if input == nil {
2773		input = &GetSuiteInput{}
2774	}
2775
2776	output = &GetSuiteOutput{}
2777	req = c.newRequest(op, input, output)
2778	return
2779}
2780
2781// GetSuite API operation for AWS Device Farm.
2782//
2783// Gets information about a suite.
2784//
2785// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2786// with awserr.Error's Code and Message methods to get detailed information about
2787// the error.
2788//
2789// See the AWS API reference guide for AWS Device Farm's
2790// API operation GetSuite for usage and error information.
2791//
2792// Returned Error Types:
2793//   * ArgumentException
2794//   An invalid argument was specified.
2795//
2796//   * NotFoundException
2797//   The specified entity was not found.
2798//
2799//   * LimitExceededException
2800//   A limit was exceeded.
2801//
2802//   * ServiceAccountException
2803//   There was a problem with the service account.
2804//
2805// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetSuite
2806func (c *DeviceFarm) GetSuite(input *GetSuiteInput) (*GetSuiteOutput, error) {
2807	req, out := c.GetSuiteRequest(input)
2808	return out, req.Send()
2809}
2810
2811// GetSuiteWithContext is the same as GetSuite with the addition of
2812// the ability to pass a context and additional request options.
2813//
2814// See GetSuite for details on how to use this API operation.
2815//
2816// The context must be non-nil and will be used for request cancellation. If
2817// the context is nil a panic will occur. In the future the SDK may create
2818// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2819// for more information on using Contexts.
2820func (c *DeviceFarm) GetSuiteWithContext(ctx aws.Context, input *GetSuiteInput, opts ...request.Option) (*GetSuiteOutput, error) {
2821	req, out := c.GetSuiteRequest(input)
2822	req.SetContext(ctx)
2823	req.ApplyOptions(opts...)
2824	return out, req.Send()
2825}
2826
2827const opGetTest = "GetTest"
2828
2829// GetTestRequest generates a "aws/request.Request" representing the
2830// client's request for the GetTest operation. The "output" return
2831// value will be populated with the request's response once the request completes
2832// successfully.
2833//
2834// Use "Send" method on the returned Request to send the API call to the service.
2835// the "output" return value is not valid until after Send returns without error.
2836//
2837// See GetTest for more information on using the GetTest
2838// API call, and error handling.
2839//
2840// This method is useful when you want to inject custom logic or configuration
2841// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2842//
2843//
2844//    // Example sending a request using the GetTestRequest method.
2845//    req, resp := client.GetTestRequest(params)
2846//
2847//    err := req.Send()
2848//    if err == nil { // resp is now filled
2849//        fmt.Println(resp)
2850//    }
2851//
2852// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTest
2853func (c *DeviceFarm) GetTestRequest(input *GetTestInput) (req *request.Request, output *GetTestOutput) {
2854	op := &request.Operation{
2855		Name:       opGetTest,
2856		HTTPMethod: "POST",
2857		HTTPPath:   "/",
2858	}
2859
2860	if input == nil {
2861		input = &GetTestInput{}
2862	}
2863
2864	output = &GetTestOutput{}
2865	req = c.newRequest(op, input, output)
2866	return
2867}
2868
2869// GetTest API operation for AWS Device Farm.
2870//
2871// Gets information about a test.
2872//
2873// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2874// with awserr.Error's Code and Message methods to get detailed information about
2875// the error.
2876//
2877// See the AWS API reference guide for AWS Device Farm's
2878// API operation GetTest for usage and error information.
2879//
2880// Returned Error Types:
2881//   * ArgumentException
2882//   An invalid argument was specified.
2883//
2884//   * NotFoundException
2885//   The specified entity was not found.
2886//
2887//   * LimitExceededException
2888//   A limit was exceeded.
2889//
2890//   * ServiceAccountException
2891//   There was a problem with the service account.
2892//
2893// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTest
2894func (c *DeviceFarm) GetTest(input *GetTestInput) (*GetTestOutput, error) {
2895	req, out := c.GetTestRequest(input)
2896	return out, req.Send()
2897}
2898
2899// GetTestWithContext is the same as GetTest with the addition of
2900// the ability to pass a context and additional request options.
2901//
2902// See GetTest for details on how to use this API operation.
2903//
2904// The context must be non-nil and will be used for request cancellation. If
2905// the context is nil a panic will occur. In the future the SDK may create
2906// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2907// for more information on using Contexts.
2908func (c *DeviceFarm) GetTestWithContext(ctx aws.Context, input *GetTestInput, opts ...request.Option) (*GetTestOutput, error) {
2909	req, out := c.GetTestRequest(input)
2910	req.SetContext(ctx)
2911	req.ApplyOptions(opts...)
2912	return out, req.Send()
2913}
2914
2915const opGetTestGridProject = "GetTestGridProject"
2916
2917// GetTestGridProjectRequest generates a "aws/request.Request" representing the
2918// client's request for the GetTestGridProject operation. The "output" return
2919// value will be populated with the request's response once the request completes
2920// successfully.
2921//
2922// Use "Send" method on the returned Request to send the API call to the service.
2923// the "output" return value is not valid until after Send returns without error.
2924//
2925// See GetTestGridProject for more information on using the GetTestGridProject
2926// API call, and error handling.
2927//
2928// This method is useful when you want to inject custom logic or configuration
2929// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2930//
2931//
2932//    // Example sending a request using the GetTestGridProjectRequest method.
2933//    req, resp := client.GetTestGridProjectRequest(params)
2934//
2935//    err := req.Send()
2936//    if err == nil { // resp is now filled
2937//        fmt.Println(resp)
2938//    }
2939//
2940// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridProject
2941func (c *DeviceFarm) GetTestGridProjectRequest(input *GetTestGridProjectInput) (req *request.Request, output *GetTestGridProjectOutput) {
2942	op := &request.Operation{
2943		Name:       opGetTestGridProject,
2944		HTTPMethod: "POST",
2945		HTTPPath:   "/",
2946	}
2947
2948	if input == nil {
2949		input = &GetTestGridProjectInput{}
2950	}
2951
2952	output = &GetTestGridProjectOutput{}
2953	req = c.newRequest(op, input, output)
2954	return
2955}
2956
2957// GetTestGridProject API operation for AWS Device Farm.
2958//
2959// Retrieves information about a Selenium testing project.
2960//
2961// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2962// with awserr.Error's Code and Message methods to get detailed information about
2963// the error.
2964//
2965// See the AWS API reference guide for AWS Device Farm's
2966// API operation GetTestGridProject for usage and error information.
2967//
2968// Returned Error Types:
2969//   * NotFoundException
2970//   The specified entity was not found.
2971//
2972//   * ArgumentException
2973//   An invalid argument was specified.
2974//
2975//   * InternalServiceException
2976//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
2977//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
2978//
2979// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridProject
2980func (c *DeviceFarm) GetTestGridProject(input *GetTestGridProjectInput) (*GetTestGridProjectOutput, error) {
2981	req, out := c.GetTestGridProjectRequest(input)
2982	return out, req.Send()
2983}
2984
2985// GetTestGridProjectWithContext is the same as GetTestGridProject with the addition of
2986// the ability to pass a context and additional request options.
2987//
2988// See GetTestGridProject for details on how to use this API operation.
2989//
2990// The context must be non-nil and will be used for request cancellation. If
2991// the context is nil a panic will occur. In the future the SDK may create
2992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2993// for more information on using Contexts.
2994func (c *DeviceFarm) GetTestGridProjectWithContext(ctx aws.Context, input *GetTestGridProjectInput, opts ...request.Option) (*GetTestGridProjectOutput, error) {
2995	req, out := c.GetTestGridProjectRequest(input)
2996	req.SetContext(ctx)
2997	req.ApplyOptions(opts...)
2998	return out, req.Send()
2999}
3000
3001const opGetTestGridSession = "GetTestGridSession"
3002
3003// GetTestGridSessionRequest generates a "aws/request.Request" representing the
3004// client's request for the GetTestGridSession operation. The "output" return
3005// value will be populated with the request's response once the request completes
3006// successfully.
3007//
3008// Use "Send" method on the returned Request to send the API call to the service.
3009// the "output" return value is not valid until after Send returns without error.
3010//
3011// See GetTestGridSession for more information on using the GetTestGridSession
3012// API call, and error handling.
3013//
3014// This method is useful when you want to inject custom logic or configuration
3015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3016//
3017//
3018//    // Example sending a request using the GetTestGridSessionRequest method.
3019//    req, resp := client.GetTestGridSessionRequest(params)
3020//
3021//    err := req.Send()
3022//    if err == nil { // resp is now filled
3023//        fmt.Println(resp)
3024//    }
3025//
3026// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridSession
3027func (c *DeviceFarm) GetTestGridSessionRequest(input *GetTestGridSessionInput) (req *request.Request, output *GetTestGridSessionOutput) {
3028	op := &request.Operation{
3029		Name:       opGetTestGridSession,
3030		HTTPMethod: "POST",
3031		HTTPPath:   "/",
3032	}
3033
3034	if input == nil {
3035		input = &GetTestGridSessionInput{}
3036	}
3037
3038	output = &GetTestGridSessionOutput{}
3039	req = c.newRequest(op, input, output)
3040	return
3041}
3042
3043// GetTestGridSession API operation for AWS Device Farm.
3044//
3045// A session is an instance of a browser created through a RemoteWebDriver with
3046// the URL from CreateTestGridUrlResult$url. You can use the following to look
3047// up sessions:
3048//
3049//    * The session ARN (GetTestGridSessionRequest$sessionArn).
3050//
3051//    * The project ARN and a session ID (GetTestGridSessionRequest$projectArn
3052//    and GetTestGridSessionRequest$sessionId).
3053//
3054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3055// with awserr.Error's Code and Message methods to get detailed information about
3056// the error.
3057//
3058// See the AWS API reference guide for AWS Device Farm's
3059// API operation GetTestGridSession for usage and error information.
3060//
3061// Returned Error Types:
3062//   * NotFoundException
3063//   The specified entity was not found.
3064//
3065//   * ArgumentException
3066//   An invalid argument was specified.
3067//
3068//   * InternalServiceException
3069//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
3070//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
3071//
3072// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetTestGridSession
3073func (c *DeviceFarm) GetTestGridSession(input *GetTestGridSessionInput) (*GetTestGridSessionOutput, error) {
3074	req, out := c.GetTestGridSessionRequest(input)
3075	return out, req.Send()
3076}
3077
3078// GetTestGridSessionWithContext is the same as GetTestGridSession with the addition of
3079// the ability to pass a context and additional request options.
3080//
3081// See GetTestGridSession for details on how to use this API operation.
3082//
3083// The context must be non-nil and will be used for request cancellation. If
3084// the context is nil a panic will occur. In the future the SDK may create
3085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3086// for more information on using Contexts.
3087func (c *DeviceFarm) GetTestGridSessionWithContext(ctx aws.Context, input *GetTestGridSessionInput, opts ...request.Option) (*GetTestGridSessionOutput, error) {
3088	req, out := c.GetTestGridSessionRequest(input)
3089	req.SetContext(ctx)
3090	req.ApplyOptions(opts...)
3091	return out, req.Send()
3092}
3093
3094const opGetUpload = "GetUpload"
3095
3096// GetUploadRequest generates a "aws/request.Request" representing the
3097// client's request for the GetUpload operation. The "output" return
3098// value will be populated with the request's response once the request completes
3099// successfully.
3100//
3101// Use "Send" method on the returned Request to send the API call to the service.
3102// the "output" return value is not valid until after Send returns without error.
3103//
3104// See GetUpload for more information on using the GetUpload
3105// API call, and error handling.
3106//
3107// This method is useful when you want to inject custom logic or configuration
3108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3109//
3110//
3111//    // Example sending a request using the GetUploadRequest method.
3112//    req, resp := client.GetUploadRequest(params)
3113//
3114//    err := req.Send()
3115//    if err == nil { // resp is now filled
3116//        fmt.Println(resp)
3117//    }
3118//
3119// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetUpload
3120func (c *DeviceFarm) GetUploadRequest(input *GetUploadInput) (req *request.Request, output *GetUploadOutput) {
3121	op := &request.Operation{
3122		Name:       opGetUpload,
3123		HTTPMethod: "POST",
3124		HTTPPath:   "/",
3125	}
3126
3127	if input == nil {
3128		input = &GetUploadInput{}
3129	}
3130
3131	output = &GetUploadOutput{}
3132	req = c.newRequest(op, input, output)
3133	return
3134}
3135
3136// GetUpload API operation for AWS Device Farm.
3137//
3138// Gets information about an upload.
3139//
3140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3141// with awserr.Error's Code and Message methods to get detailed information about
3142// the error.
3143//
3144// See the AWS API reference guide for AWS Device Farm's
3145// API operation GetUpload for usage and error information.
3146//
3147// Returned Error Types:
3148//   * ArgumentException
3149//   An invalid argument was specified.
3150//
3151//   * NotFoundException
3152//   The specified entity was not found.
3153//
3154//   * LimitExceededException
3155//   A limit was exceeded.
3156//
3157//   * ServiceAccountException
3158//   There was a problem with the service account.
3159//
3160// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetUpload
3161func (c *DeviceFarm) GetUpload(input *GetUploadInput) (*GetUploadOutput, error) {
3162	req, out := c.GetUploadRequest(input)
3163	return out, req.Send()
3164}
3165
3166// GetUploadWithContext is the same as GetUpload with the addition of
3167// the ability to pass a context and additional request options.
3168//
3169// See GetUpload for details on how to use this API operation.
3170//
3171// The context must be non-nil and will be used for request cancellation. If
3172// the context is nil a panic will occur. In the future the SDK may create
3173// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3174// for more information on using Contexts.
3175func (c *DeviceFarm) GetUploadWithContext(ctx aws.Context, input *GetUploadInput, opts ...request.Option) (*GetUploadOutput, error) {
3176	req, out := c.GetUploadRequest(input)
3177	req.SetContext(ctx)
3178	req.ApplyOptions(opts...)
3179	return out, req.Send()
3180}
3181
3182const opGetVPCEConfiguration = "GetVPCEConfiguration"
3183
3184// GetVPCEConfigurationRequest generates a "aws/request.Request" representing the
3185// client's request for the GetVPCEConfiguration operation. The "output" return
3186// value will be populated with the request's response once the request completes
3187// successfully.
3188//
3189// Use "Send" method on the returned Request to send the API call to the service.
3190// the "output" return value is not valid until after Send returns without error.
3191//
3192// See GetVPCEConfiguration for more information on using the GetVPCEConfiguration
3193// API call, and error handling.
3194//
3195// This method is useful when you want to inject custom logic or configuration
3196// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3197//
3198//
3199//    // Example sending a request using the GetVPCEConfigurationRequest method.
3200//    req, resp := client.GetVPCEConfigurationRequest(params)
3201//
3202//    err := req.Send()
3203//    if err == nil { // resp is now filled
3204//        fmt.Println(resp)
3205//    }
3206//
3207// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetVPCEConfiguration
3208func (c *DeviceFarm) GetVPCEConfigurationRequest(input *GetVPCEConfigurationInput) (req *request.Request, output *GetVPCEConfigurationOutput) {
3209	op := &request.Operation{
3210		Name:       opGetVPCEConfiguration,
3211		HTTPMethod: "POST",
3212		HTTPPath:   "/",
3213	}
3214
3215	if input == nil {
3216		input = &GetVPCEConfigurationInput{}
3217	}
3218
3219	output = &GetVPCEConfigurationOutput{}
3220	req = c.newRequest(op, input, output)
3221	return
3222}
3223
3224// GetVPCEConfiguration API operation for AWS Device Farm.
3225//
3226// Returns information about the configuration settings for your Amazon Virtual
3227// Private Cloud (VPC) endpoint.
3228//
3229// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3230// with awserr.Error's Code and Message methods to get detailed information about
3231// the error.
3232//
3233// See the AWS API reference guide for AWS Device Farm's
3234// API operation GetVPCEConfiguration for usage and error information.
3235//
3236// Returned Error Types:
3237//   * ArgumentException
3238//   An invalid argument was specified.
3239//
3240//   * NotFoundException
3241//   The specified entity was not found.
3242//
3243//   * ServiceAccountException
3244//   There was a problem with the service account.
3245//
3246// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/GetVPCEConfiguration
3247func (c *DeviceFarm) GetVPCEConfiguration(input *GetVPCEConfigurationInput) (*GetVPCEConfigurationOutput, error) {
3248	req, out := c.GetVPCEConfigurationRequest(input)
3249	return out, req.Send()
3250}
3251
3252// GetVPCEConfigurationWithContext is the same as GetVPCEConfiguration with the addition of
3253// the ability to pass a context and additional request options.
3254//
3255// See GetVPCEConfiguration for details on how to use this API operation.
3256//
3257// The context must be non-nil and will be used for request cancellation. If
3258// the context is nil a panic will occur. In the future the SDK may create
3259// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3260// for more information on using Contexts.
3261func (c *DeviceFarm) GetVPCEConfigurationWithContext(ctx aws.Context, input *GetVPCEConfigurationInput, opts ...request.Option) (*GetVPCEConfigurationOutput, error) {
3262	req, out := c.GetVPCEConfigurationRequest(input)
3263	req.SetContext(ctx)
3264	req.ApplyOptions(opts...)
3265	return out, req.Send()
3266}
3267
3268const opInstallToRemoteAccessSession = "InstallToRemoteAccessSession"
3269
3270// InstallToRemoteAccessSessionRequest generates a "aws/request.Request" representing the
3271// client's request for the InstallToRemoteAccessSession operation. The "output" return
3272// value will be populated with the request's response once the request completes
3273// successfully.
3274//
3275// Use "Send" method on the returned Request to send the API call to the service.
3276// the "output" return value is not valid until after Send returns without error.
3277//
3278// See InstallToRemoteAccessSession for more information on using the InstallToRemoteAccessSession
3279// API call, and error handling.
3280//
3281// This method is useful when you want to inject custom logic or configuration
3282// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3283//
3284//
3285//    // Example sending a request using the InstallToRemoteAccessSessionRequest method.
3286//    req, resp := client.InstallToRemoteAccessSessionRequest(params)
3287//
3288//    err := req.Send()
3289//    if err == nil { // resp is now filled
3290//        fmt.Println(resp)
3291//    }
3292//
3293// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/InstallToRemoteAccessSession
3294func (c *DeviceFarm) InstallToRemoteAccessSessionRequest(input *InstallToRemoteAccessSessionInput) (req *request.Request, output *InstallToRemoteAccessSessionOutput) {
3295	op := &request.Operation{
3296		Name:       opInstallToRemoteAccessSession,
3297		HTTPMethod: "POST",
3298		HTTPPath:   "/",
3299	}
3300
3301	if input == nil {
3302		input = &InstallToRemoteAccessSessionInput{}
3303	}
3304
3305	output = &InstallToRemoteAccessSessionOutput{}
3306	req = c.newRequest(op, input, output)
3307	return
3308}
3309
3310// InstallToRemoteAccessSession API operation for AWS Device Farm.
3311//
3312// Installs an application to the device in a remote access session. For Android
3313// applications, the file must be in .apk format. For iOS applications, the
3314// file must be in .ipa format.
3315//
3316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3317// with awserr.Error's Code and Message methods to get detailed information about
3318// the error.
3319//
3320// See the AWS API reference guide for AWS Device Farm's
3321// API operation InstallToRemoteAccessSession for usage and error information.
3322//
3323// Returned Error Types:
3324//   * ArgumentException
3325//   An invalid argument was specified.
3326//
3327//   * NotFoundException
3328//   The specified entity was not found.
3329//
3330//   * LimitExceededException
3331//   A limit was exceeded.
3332//
3333//   * ServiceAccountException
3334//   There was a problem with the service account.
3335//
3336// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/InstallToRemoteAccessSession
3337func (c *DeviceFarm) InstallToRemoteAccessSession(input *InstallToRemoteAccessSessionInput) (*InstallToRemoteAccessSessionOutput, error) {
3338	req, out := c.InstallToRemoteAccessSessionRequest(input)
3339	return out, req.Send()
3340}
3341
3342// InstallToRemoteAccessSessionWithContext is the same as InstallToRemoteAccessSession with the addition of
3343// the ability to pass a context and additional request options.
3344//
3345// See InstallToRemoteAccessSession for details on how to use this API operation.
3346//
3347// The context must be non-nil and will be used for request cancellation. If
3348// the context is nil a panic will occur. In the future the SDK may create
3349// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3350// for more information on using Contexts.
3351func (c *DeviceFarm) InstallToRemoteAccessSessionWithContext(ctx aws.Context, input *InstallToRemoteAccessSessionInput, opts ...request.Option) (*InstallToRemoteAccessSessionOutput, error) {
3352	req, out := c.InstallToRemoteAccessSessionRequest(input)
3353	req.SetContext(ctx)
3354	req.ApplyOptions(opts...)
3355	return out, req.Send()
3356}
3357
3358const opListArtifacts = "ListArtifacts"
3359
3360// ListArtifactsRequest generates a "aws/request.Request" representing the
3361// client's request for the ListArtifacts operation. The "output" return
3362// value will be populated with the request's response once the request completes
3363// successfully.
3364//
3365// Use "Send" method on the returned Request to send the API call to the service.
3366// the "output" return value is not valid until after Send returns without error.
3367//
3368// See ListArtifacts for more information on using the ListArtifacts
3369// API call, and error handling.
3370//
3371// This method is useful when you want to inject custom logic or configuration
3372// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3373//
3374//
3375//    // Example sending a request using the ListArtifactsRequest method.
3376//    req, resp := client.ListArtifactsRequest(params)
3377//
3378//    err := req.Send()
3379//    if err == nil { // resp is now filled
3380//        fmt.Println(resp)
3381//    }
3382//
3383// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListArtifacts
3384func (c *DeviceFarm) ListArtifactsRequest(input *ListArtifactsInput) (req *request.Request, output *ListArtifactsOutput) {
3385	op := &request.Operation{
3386		Name:       opListArtifacts,
3387		HTTPMethod: "POST",
3388		HTTPPath:   "/",
3389		Paginator: &request.Paginator{
3390			InputTokens:     []string{"nextToken"},
3391			OutputTokens:    []string{"nextToken"},
3392			LimitToken:      "",
3393			TruncationToken: "",
3394		},
3395	}
3396
3397	if input == nil {
3398		input = &ListArtifactsInput{}
3399	}
3400
3401	output = &ListArtifactsOutput{}
3402	req = c.newRequest(op, input, output)
3403	return
3404}
3405
3406// ListArtifacts API operation for AWS Device Farm.
3407//
3408// Gets information about artifacts.
3409//
3410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3411// with awserr.Error's Code and Message methods to get detailed information about
3412// the error.
3413//
3414// See the AWS API reference guide for AWS Device Farm's
3415// API operation ListArtifacts for usage and error information.
3416//
3417// Returned Error Types:
3418//   * ArgumentException
3419//   An invalid argument was specified.
3420//
3421//   * NotFoundException
3422//   The specified entity was not found.
3423//
3424//   * LimitExceededException
3425//   A limit was exceeded.
3426//
3427//   * ServiceAccountException
3428//   There was a problem with the service account.
3429//
3430// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListArtifacts
3431func (c *DeviceFarm) ListArtifacts(input *ListArtifactsInput) (*ListArtifactsOutput, error) {
3432	req, out := c.ListArtifactsRequest(input)
3433	return out, req.Send()
3434}
3435
3436// ListArtifactsWithContext is the same as ListArtifacts with the addition of
3437// the ability to pass a context and additional request options.
3438//
3439// See ListArtifacts for details on how to use this API operation.
3440//
3441// The context must be non-nil and will be used for request cancellation. If
3442// the context is nil a panic will occur. In the future the SDK may create
3443// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3444// for more information on using Contexts.
3445func (c *DeviceFarm) ListArtifactsWithContext(ctx aws.Context, input *ListArtifactsInput, opts ...request.Option) (*ListArtifactsOutput, error) {
3446	req, out := c.ListArtifactsRequest(input)
3447	req.SetContext(ctx)
3448	req.ApplyOptions(opts...)
3449	return out, req.Send()
3450}
3451
3452// ListArtifactsPages iterates over the pages of a ListArtifacts operation,
3453// calling the "fn" function with the response data for each page. To stop
3454// iterating, return false from the fn function.
3455//
3456// See ListArtifacts method for more information on how to use this operation.
3457//
3458// Note: This operation can generate multiple requests to a service.
3459//
3460//    // Example iterating over at most 3 pages of a ListArtifacts operation.
3461//    pageNum := 0
3462//    err := client.ListArtifactsPages(params,
3463//        func(page *devicefarm.ListArtifactsOutput, lastPage bool) bool {
3464//            pageNum++
3465//            fmt.Println(page)
3466//            return pageNum <= 3
3467//        })
3468//
3469func (c *DeviceFarm) ListArtifactsPages(input *ListArtifactsInput, fn func(*ListArtifactsOutput, bool) bool) error {
3470	return c.ListArtifactsPagesWithContext(aws.BackgroundContext(), input, fn)
3471}
3472
3473// ListArtifactsPagesWithContext same as ListArtifactsPages except
3474// it takes a Context and allows setting request options on the pages.
3475//
3476// The context must be non-nil and will be used for request cancellation. If
3477// the context is nil a panic will occur. In the future the SDK may create
3478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3479// for more information on using Contexts.
3480func (c *DeviceFarm) ListArtifactsPagesWithContext(ctx aws.Context, input *ListArtifactsInput, fn func(*ListArtifactsOutput, bool) bool, opts ...request.Option) error {
3481	p := request.Pagination{
3482		NewRequest: func() (*request.Request, error) {
3483			var inCpy *ListArtifactsInput
3484			if input != nil {
3485				tmp := *input
3486				inCpy = &tmp
3487			}
3488			req, _ := c.ListArtifactsRequest(inCpy)
3489			req.SetContext(ctx)
3490			req.ApplyOptions(opts...)
3491			return req, nil
3492		},
3493	}
3494
3495	for p.Next() {
3496		if !fn(p.Page().(*ListArtifactsOutput), !p.HasNextPage()) {
3497			break
3498		}
3499	}
3500
3501	return p.Err()
3502}
3503
3504const opListDeviceInstances = "ListDeviceInstances"
3505
3506// ListDeviceInstancesRequest generates a "aws/request.Request" representing the
3507// client's request for the ListDeviceInstances operation. The "output" return
3508// value will be populated with the request's response once the request completes
3509// successfully.
3510//
3511// Use "Send" method on the returned Request to send the API call to the service.
3512// the "output" return value is not valid until after Send returns without error.
3513//
3514// See ListDeviceInstances for more information on using the ListDeviceInstances
3515// API call, and error handling.
3516//
3517// This method is useful when you want to inject custom logic or configuration
3518// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3519//
3520//
3521//    // Example sending a request using the ListDeviceInstancesRequest method.
3522//    req, resp := client.ListDeviceInstancesRequest(params)
3523//
3524//    err := req.Send()
3525//    if err == nil { // resp is now filled
3526//        fmt.Println(resp)
3527//    }
3528//
3529// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDeviceInstances
3530func (c *DeviceFarm) ListDeviceInstancesRequest(input *ListDeviceInstancesInput) (req *request.Request, output *ListDeviceInstancesOutput) {
3531	op := &request.Operation{
3532		Name:       opListDeviceInstances,
3533		HTTPMethod: "POST",
3534		HTTPPath:   "/",
3535	}
3536
3537	if input == nil {
3538		input = &ListDeviceInstancesInput{}
3539	}
3540
3541	output = &ListDeviceInstancesOutput{}
3542	req = c.newRequest(op, input, output)
3543	return
3544}
3545
3546// ListDeviceInstances API operation for AWS Device Farm.
3547//
3548// Returns information about the private device instances associated with one
3549// or more AWS accounts.
3550//
3551// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3552// with awserr.Error's Code and Message methods to get detailed information about
3553// the error.
3554//
3555// See the AWS API reference guide for AWS Device Farm's
3556// API operation ListDeviceInstances for usage and error information.
3557//
3558// Returned Error Types:
3559//   * ArgumentException
3560//   An invalid argument was specified.
3561//
3562//   * NotFoundException
3563//   The specified entity was not found.
3564//
3565//   * LimitExceededException
3566//   A limit was exceeded.
3567//
3568//   * ServiceAccountException
3569//   There was a problem with the service account.
3570//
3571// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDeviceInstances
3572func (c *DeviceFarm) ListDeviceInstances(input *ListDeviceInstancesInput) (*ListDeviceInstancesOutput, error) {
3573	req, out := c.ListDeviceInstancesRequest(input)
3574	return out, req.Send()
3575}
3576
3577// ListDeviceInstancesWithContext is the same as ListDeviceInstances with the addition of
3578// the ability to pass a context and additional request options.
3579//
3580// See ListDeviceInstances for details on how to use this API operation.
3581//
3582// The context must be non-nil and will be used for request cancellation. If
3583// the context is nil a panic will occur. In the future the SDK may create
3584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3585// for more information on using Contexts.
3586func (c *DeviceFarm) ListDeviceInstancesWithContext(ctx aws.Context, input *ListDeviceInstancesInput, opts ...request.Option) (*ListDeviceInstancesOutput, error) {
3587	req, out := c.ListDeviceInstancesRequest(input)
3588	req.SetContext(ctx)
3589	req.ApplyOptions(opts...)
3590	return out, req.Send()
3591}
3592
3593const opListDevicePools = "ListDevicePools"
3594
3595// ListDevicePoolsRequest generates a "aws/request.Request" representing the
3596// client's request for the ListDevicePools operation. The "output" return
3597// value will be populated with the request's response once the request completes
3598// successfully.
3599//
3600// Use "Send" method on the returned Request to send the API call to the service.
3601// the "output" return value is not valid until after Send returns without error.
3602//
3603// See ListDevicePools for more information on using the ListDevicePools
3604// API call, and error handling.
3605//
3606// This method is useful when you want to inject custom logic or configuration
3607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3608//
3609//
3610//    // Example sending a request using the ListDevicePoolsRequest method.
3611//    req, resp := client.ListDevicePoolsRequest(params)
3612//
3613//    err := req.Send()
3614//    if err == nil { // resp is now filled
3615//        fmt.Println(resp)
3616//    }
3617//
3618// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicePools
3619func (c *DeviceFarm) ListDevicePoolsRequest(input *ListDevicePoolsInput) (req *request.Request, output *ListDevicePoolsOutput) {
3620	op := &request.Operation{
3621		Name:       opListDevicePools,
3622		HTTPMethod: "POST",
3623		HTTPPath:   "/",
3624		Paginator: &request.Paginator{
3625			InputTokens:     []string{"nextToken"},
3626			OutputTokens:    []string{"nextToken"},
3627			LimitToken:      "",
3628			TruncationToken: "",
3629		},
3630	}
3631
3632	if input == nil {
3633		input = &ListDevicePoolsInput{}
3634	}
3635
3636	output = &ListDevicePoolsOutput{}
3637	req = c.newRequest(op, input, output)
3638	return
3639}
3640
3641// ListDevicePools API operation for AWS Device Farm.
3642//
3643// Gets information about device pools.
3644//
3645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3646// with awserr.Error's Code and Message methods to get detailed information about
3647// the error.
3648//
3649// See the AWS API reference guide for AWS Device Farm's
3650// API operation ListDevicePools for usage and error information.
3651//
3652// Returned Error Types:
3653//   * ArgumentException
3654//   An invalid argument was specified.
3655//
3656//   * NotFoundException
3657//   The specified entity was not found.
3658//
3659//   * LimitExceededException
3660//   A limit was exceeded.
3661//
3662//   * ServiceAccountException
3663//   There was a problem with the service account.
3664//
3665// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevicePools
3666func (c *DeviceFarm) ListDevicePools(input *ListDevicePoolsInput) (*ListDevicePoolsOutput, error) {
3667	req, out := c.ListDevicePoolsRequest(input)
3668	return out, req.Send()
3669}
3670
3671// ListDevicePoolsWithContext is the same as ListDevicePools with the addition of
3672// the ability to pass a context and additional request options.
3673//
3674// See ListDevicePools for details on how to use this API operation.
3675//
3676// The context must be non-nil and will be used for request cancellation. If
3677// the context is nil a panic will occur. In the future the SDK may create
3678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3679// for more information on using Contexts.
3680func (c *DeviceFarm) ListDevicePoolsWithContext(ctx aws.Context, input *ListDevicePoolsInput, opts ...request.Option) (*ListDevicePoolsOutput, error) {
3681	req, out := c.ListDevicePoolsRequest(input)
3682	req.SetContext(ctx)
3683	req.ApplyOptions(opts...)
3684	return out, req.Send()
3685}
3686
3687// ListDevicePoolsPages iterates over the pages of a ListDevicePools operation,
3688// calling the "fn" function with the response data for each page. To stop
3689// iterating, return false from the fn function.
3690//
3691// See ListDevicePools method for more information on how to use this operation.
3692//
3693// Note: This operation can generate multiple requests to a service.
3694//
3695//    // Example iterating over at most 3 pages of a ListDevicePools operation.
3696//    pageNum := 0
3697//    err := client.ListDevicePoolsPages(params,
3698//        func(page *devicefarm.ListDevicePoolsOutput, lastPage bool) bool {
3699//            pageNum++
3700//            fmt.Println(page)
3701//            return pageNum <= 3
3702//        })
3703//
3704func (c *DeviceFarm) ListDevicePoolsPages(input *ListDevicePoolsInput, fn func(*ListDevicePoolsOutput, bool) bool) error {
3705	return c.ListDevicePoolsPagesWithContext(aws.BackgroundContext(), input, fn)
3706}
3707
3708// ListDevicePoolsPagesWithContext same as ListDevicePoolsPages except
3709// it takes a Context and allows setting request options on the pages.
3710//
3711// The context must be non-nil and will be used for request cancellation. If
3712// the context is nil a panic will occur. In the future the SDK may create
3713// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3714// for more information on using Contexts.
3715func (c *DeviceFarm) ListDevicePoolsPagesWithContext(ctx aws.Context, input *ListDevicePoolsInput, fn func(*ListDevicePoolsOutput, bool) bool, opts ...request.Option) error {
3716	p := request.Pagination{
3717		NewRequest: func() (*request.Request, error) {
3718			var inCpy *ListDevicePoolsInput
3719			if input != nil {
3720				tmp := *input
3721				inCpy = &tmp
3722			}
3723			req, _ := c.ListDevicePoolsRequest(inCpy)
3724			req.SetContext(ctx)
3725			req.ApplyOptions(opts...)
3726			return req, nil
3727		},
3728	}
3729
3730	for p.Next() {
3731		if !fn(p.Page().(*ListDevicePoolsOutput), !p.HasNextPage()) {
3732			break
3733		}
3734	}
3735
3736	return p.Err()
3737}
3738
3739const opListDevices = "ListDevices"
3740
3741// ListDevicesRequest generates a "aws/request.Request" representing the
3742// client's request for the ListDevices operation. The "output" return
3743// value will be populated with the request's response once the request completes
3744// successfully.
3745//
3746// Use "Send" method on the returned Request to send the API call to the service.
3747// the "output" return value is not valid until after Send returns without error.
3748//
3749// See ListDevices for more information on using the ListDevices
3750// API call, and error handling.
3751//
3752// This method is useful when you want to inject custom logic or configuration
3753// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3754//
3755//
3756//    // Example sending a request using the ListDevicesRequest method.
3757//    req, resp := client.ListDevicesRequest(params)
3758//
3759//    err := req.Send()
3760//    if err == nil { // resp is now filled
3761//        fmt.Println(resp)
3762//    }
3763//
3764// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevices
3765func (c *DeviceFarm) ListDevicesRequest(input *ListDevicesInput) (req *request.Request, output *ListDevicesOutput) {
3766	op := &request.Operation{
3767		Name:       opListDevices,
3768		HTTPMethod: "POST",
3769		HTTPPath:   "/",
3770		Paginator: &request.Paginator{
3771			InputTokens:     []string{"nextToken"},
3772			OutputTokens:    []string{"nextToken"},
3773			LimitToken:      "",
3774			TruncationToken: "",
3775		},
3776	}
3777
3778	if input == nil {
3779		input = &ListDevicesInput{}
3780	}
3781
3782	output = &ListDevicesOutput{}
3783	req = c.newRequest(op, input, output)
3784	return
3785}
3786
3787// ListDevices API operation for AWS Device Farm.
3788//
3789// Gets information about unique device types.
3790//
3791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3792// with awserr.Error's Code and Message methods to get detailed information about
3793// the error.
3794//
3795// See the AWS API reference guide for AWS Device Farm's
3796// API operation ListDevices for usage and error information.
3797//
3798// Returned Error Types:
3799//   * ArgumentException
3800//   An invalid argument was specified.
3801//
3802//   * NotFoundException
3803//   The specified entity was not found.
3804//
3805//   * LimitExceededException
3806//   A limit was exceeded.
3807//
3808//   * ServiceAccountException
3809//   There was a problem with the service account.
3810//
3811// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListDevices
3812func (c *DeviceFarm) ListDevices(input *ListDevicesInput) (*ListDevicesOutput, error) {
3813	req, out := c.ListDevicesRequest(input)
3814	return out, req.Send()
3815}
3816
3817// ListDevicesWithContext is the same as ListDevices with the addition of
3818// the ability to pass a context and additional request options.
3819//
3820// See ListDevices for details on how to use this API operation.
3821//
3822// The context must be non-nil and will be used for request cancellation. If
3823// the context is nil a panic will occur. In the future the SDK may create
3824// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3825// for more information on using Contexts.
3826func (c *DeviceFarm) ListDevicesWithContext(ctx aws.Context, input *ListDevicesInput, opts ...request.Option) (*ListDevicesOutput, error) {
3827	req, out := c.ListDevicesRequest(input)
3828	req.SetContext(ctx)
3829	req.ApplyOptions(opts...)
3830	return out, req.Send()
3831}
3832
3833// ListDevicesPages iterates over the pages of a ListDevices operation,
3834// calling the "fn" function with the response data for each page. To stop
3835// iterating, return false from the fn function.
3836//
3837// See ListDevices method for more information on how to use this operation.
3838//
3839// Note: This operation can generate multiple requests to a service.
3840//
3841//    // Example iterating over at most 3 pages of a ListDevices operation.
3842//    pageNum := 0
3843//    err := client.ListDevicesPages(params,
3844//        func(page *devicefarm.ListDevicesOutput, lastPage bool) bool {
3845//            pageNum++
3846//            fmt.Println(page)
3847//            return pageNum <= 3
3848//        })
3849//
3850func (c *DeviceFarm) ListDevicesPages(input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool) error {
3851	return c.ListDevicesPagesWithContext(aws.BackgroundContext(), input, fn)
3852}
3853
3854// ListDevicesPagesWithContext same as ListDevicesPages except
3855// it takes a Context and allows setting request options on the pages.
3856//
3857// The context must be non-nil and will be used for request cancellation. If
3858// the context is nil a panic will occur. In the future the SDK may create
3859// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3860// for more information on using Contexts.
3861func (c *DeviceFarm) ListDevicesPagesWithContext(ctx aws.Context, input *ListDevicesInput, fn func(*ListDevicesOutput, bool) bool, opts ...request.Option) error {
3862	p := request.Pagination{
3863		NewRequest: func() (*request.Request, error) {
3864			var inCpy *ListDevicesInput
3865			if input != nil {
3866				tmp := *input
3867				inCpy = &tmp
3868			}
3869			req, _ := c.ListDevicesRequest(inCpy)
3870			req.SetContext(ctx)
3871			req.ApplyOptions(opts...)
3872			return req, nil
3873		},
3874	}
3875
3876	for p.Next() {
3877		if !fn(p.Page().(*ListDevicesOutput), !p.HasNextPage()) {
3878			break
3879		}
3880	}
3881
3882	return p.Err()
3883}
3884
3885const opListInstanceProfiles = "ListInstanceProfiles"
3886
3887// ListInstanceProfilesRequest generates a "aws/request.Request" representing the
3888// client's request for the ListInstanceProfiles operation. The "output" return
3889// value will be populated with the request's response once the request completes
3890// successfully.
3891//
3892// Use "Send" method on the returned Request to send the API call to the service.
3893// the "output" return value is not valid until after Send returns without error.
3894//
3895// See ListInstanceProfiles for more information on using the ListInstanceProfiles
3896// API call, and error handling.
3897//
3898// This method is useful when you want to inject custom logic or configuration
3899// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3900//
3901//
3902//    // Example sending a request using the ListInstanceProfilesRequest method.
3903//    req, resp := client.ListInstanceProfilesRequest(params)
3904//
3905//    err := req.Send()
3906//    if err == nil { // resp is now filled
3907//        fmt.Println(resp)
3908//    }
3909//
3910// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListInstanceProfiles
3911func (c *DeviceFarm) ListInstanceProfilesRequest(input *ListInstanceProfilesInput) (req *request.Request, output *ListInstanceProfilesOutput) {
3912	op := &request.Operation{
3913		Name:       opListInstanceProfiles,
3914		HTTPMethod: "POST",
3915		HTTPPath:   "/",
3916	}
3917
3918	if input == nil {
3919		input = &ListInstanceProfilesInput{}
3920	}
3921
3922	output = &ListInstanceProfilesOutput{}
3923	req = c.newRequest(op, input, output)
3924	return
3925}
3926
3927// ListInstanceProfiles API operation for AWS Device Farm.
3928//
3929// Returns information about all the instance profiles in an AWS account.
3930//
3931// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3932// with awserr.Error's Code and Message methods to get detailed information about
3933// the error.
3934//
3935// See the AWS API reference guide for AWS Device Farm's
3936// API operation ListInstanceProfiles for usage and error information.
3937//
3938// Returned Error Types:
3939//   * ArgumentException
3940//   An invalid argument was specified.
3941//
3942//   * NotFoundException
3943//   The specified entity was not found.
3944//
3945//   * LimitExceededException
3946//   A limit was exceeded.
3947//
3948//   * ServiceAccountException
3949//   There was a problem with the service account.
3950//
3951// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListInstanceProfiles
3952func (c *DeviceFarm) ListInstanceProfiles(input *ListInstanceProfilesInput) (*ListInstanceProfilesOutput, error) {
3953	req, out := c.ListInstanceProfilesRequest(input)
3954	return out, req.Send()
3955}
3956
3957// ListInstanceProfilesWithContext is the same as ListInstanceProfiles with the addition of
3958// the ability to pass a context and additional request options.
3959//
3960// See ListInstanceProfiles for details on how to use this API operation.
3961//
3962// The context must be non-nil and will be used for request cancellation. If
3963// the context is nil a panic will occur. In the future the SDK may create
3964// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3965// for more information on using Contexts.
3966func (c *DeviceFarm) ListInstanceProfilesWithContext(ctx aws.Context, input *ListInstanceProfilesInput, opts ...request.Option) (*ListInstanceProfilesOutput, error) {
3967	req, out := c.ListInstanceProfilesRequest(input)
3968	req.SetContext(ctx)
3969	req.ApplyOptions(opts...)
3970	return out, req.Send()
3971}
3972
3973const opListJobs = "ListJobs"
3974
3975// ListJobsRequest generates a "aws/request.Request" representing the
3976// client's request for the ListJobs operation. The "output" return
3977// value will be populated with the request's response once the request completes
3978// successfully.
3979//
3980// Use "Send" method on the returned Request to send the API call to the service.
3981// the "output" return value is not valid until after Send returns without error.
3982//
3983// See ListJobs for more information on using the ListJobs
3984// API call, and error handling.
3985//
3986// This method is useful when you want to inject custom logic or configuration
3987// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3988//
3989//
3990//    // Example sending a request using the ListJobsRequest method.
3991//    req, resp := client.ListJobsRequest(params)
3992//
3993//    err := req.Send()
3994//    if err == nil { // resp is now filled
3995//        fmt.Println(resp)
3996//    }
3997//
3998// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListJobs
3999func (c *DeviceFarm) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
4000	op := &request.Operation{
4001		Name:       opListJobs,
4002		HTTPMethod: "POST",
4003		HTTPPath:   "/",
4004		Paginator: &request.Paginator{
4005			InputTokens:     []string{"nextToken"},
4006			OutputTokens:    []string{"nextToken"},
4007			LimitToken:      "",
4008			TruncationToken: "",
4009		},
4010	}
4011
4012	if input == nil {
4013		input = &ListJobsInput{}
4014	}
4015
4016	output = &ListJobsOutput{}
4017	req = c.newRequest(op, input, output)
4018	return
4019}
4020
4021// ListJobs API operation for AWS Device Farm.
4022//
4023// Gets information about jobs for a given test run.
4024//
4025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4026// with awserr.Error's Code and Message methods to get detailed information about
4027// the error.
4028//
4029// See the AWS API reference guide for AWS Device Farm's
4030// API operation ListJobs for usage and error information.
4031//
4032// Returned Error Types:
4033//   * ArgumentException
4034//   An invalid argument was specified.
4035//
4036//   * NotFoundException
4037//   The specified entity was not found.
4038//
4039//   * LimitExceededException
4040//   A limit was exceeded.
4041//
4042//   * ServiceAccountException
4043//   There was a problem with the service account.
4044//
4045// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListJobs
4046func (c *DeviceFarm) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
4047	req, out := c.ListJobsRequest(input)
4048	return out, req.Send()
4049}
4050
4051// ListJobsWithContext is the same as ListJobs with the addition of
4052// the ability to pass a context and additional request options.
4053//
4054// See ListJobs for details on how to use this API operation.
4055//
4056// The context must be non-nil and will be used for request cancellation. If
4057// the context is nil a panic will occur. In the future the SDK may create
4058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4059// for more information on using Contexts.
4060func (c *DeviceFarm) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) {
4061	req, out := c.ListJobsRequest(input)
4062	req.SetContext(ctx)
4063	req.ApplyOptions(opts...)
4064	return out, req.Send()
4065}
4066
4067// ListJobsPages iterates over the pages of a ListJobs operation,
4068// calling the "fn" function with the response data for each page. To stop
4069// iterating, return false from the fn function.
4070//
4071// See ListJobs method for more information on how to use this operation.
4072//
4073// Note: This operation can generate multiple requests to a service.
4074//
4075//    // Example iterating over at most 3 pages of a ListJobs operation.
4076//    pageNum := 0
4077//    err := client.ListJobsPages(params,
4078//        func(page *devicefarm.ListJobsOutput, lastPage bool) bool {
4079//            pageNum++
4080//            fmt.Println(page)
4081//            return pageNum <= 3
4082//        })
4083//
4084func (c *DeviceFarm) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error {
4085	return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn)
4086}
4087
4088// ListJobsPagesWithContext same as ListJobsPages except
4089// it takes a Context and allows setting request options on the pages.
4090//
4091// The context must be non-nil and will be used for request cancellation. If
4092// the context is nil a panic will occur. In the future the SDK may create
4093// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4094// for more information on using Contexts.
4095func (c *DeviceFarm) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error {
4096	p := request.Pagination{
4097		NewRequest: func() (*request.Request, error) {
4098			var inCpy *ListJobsInput
4099			if input != nil {
4100				tmp := *input
4101				inCpy = &tmp
4102			}
4103			req, _ := c.ListJobsRequest(inCpy)
4104			req.SetContext(ctx)
4105			req.ApplyOptions(opts...)
4106			return req, nil
4107		},
4108	}
4109
4110	for p.Next() {
4111		if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) {
4112			break
4113		}
4114	}
4115
4116	return p.Err()
4117}
4118
4119const opListNetworkProfiles = "ListNetworkProfiles"
4120
4121// ListNetworkProfilesRequest generates a "aws/request.Request" representing the
4122// client's request for the ListNetworkProfiles operation. The "output" return
4123// value will be populated with the request's response once the request completes
4124// successfully.
4125//
4126// Use "Send" method on the returned Request to send the API call to the service.
4127// the "output" return value is not valid until after Send returns without error.
4128//
4129// See ListNetworkProfiles for more information on using the ListNetworkProfiles
4130// API call, and error handling.
4131//
4132// This method is useful when you want to inject custom logic or configuration
4133// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4134//
4135//
4136//    // Example sending a request using the ListNetworkProfilesRequest method.
4137//    req, resp := client.ListNetworkProfilesRequest(params)
4138//
4139//    err := req.Send()
4140//    if err == nil { // resp is now filled
4141//        fmt.Println(resp)
4142//    }
4143//
4144// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListNetworkProfiles
4145func (c *DeviceFarm) ListNetworkProfilesRequest(input *ListNetworkProfilesInput) (req *request.Request, output *ListNetworkProfilesOutput) {
4146	op := &request.Operation{
4147		Name:       opListNetworkProfiles,
4148		HTTPMethod: "POST",
4149		HTTPPath:   "/",
4150	}
4151
4152	if input == nil {
4153		input = &ListNetworkProfilesInput{}
4154	}
4155
4156	output = &ListNetworkProfilesOutput{}
4157	req = c.newRequest(op, input, output)
4158	return
4159}
4160
4161// ListNetworkProfiles API operation for AWS Device Farm.
4162//
4163// Returns the list of available network profiles.
4164//
4165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4166// with awserr.Error's Code and Message methods to get detailed information about
4167// the error.
4168//
4169// See the AWS API reference guide for AWS Device Farm's
4170// API operation ListNetworkProfiles for usage and error information.
4171//
4172// Returned Error Types:
4173//   * ArgumentException
4174//   An invalid argument was specified.
4175//
4176//   * NotFoundException
4177//   The specified entity was not found.
4178//
4179//   * LimitExceededException
4180//   A limit was exceeded.
4181//
4182//   * ServiceAccountException
4183//   There was a problem with the service account.
4184//
4185// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListNetworkProfiles
4186func (c *DeviceFarm) ListNetworkProfiles(input *ListNetworkProfilesInput) (*ListNetworkProfilesOutput, error) {
4187	req, out := c.ListNetworkProfilesRequest(input)
4188	return out, req.Send()
4189}
4190
4191// ListNetworkProfilesWithContext is the same as ListNetworkProfiles with the addition of
4192// the ability to pass a context and additional request options.
4193//
4194// See ListNetworkProfiles for details on how to use this API operation.
4195//
4196// The context must be non-nil and will be used for request cancellation. If
4197// the context is nil a panic will occur. In the future the SDK may create
4198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4199// for more information on using Contexts.
4200func (c *DeviceFarm) ListNetworkProfilesWithContext(ctx aws.Context, input *ListNetworkProfilesInput, opts ...request.Option) (*ListNetworkProfilesOutput, error) {
4201	req, out := c.ListNetworkProfilesRequest(input)
4202	req.SetContext(ctx)
4203	req.ApplyOptions(opts...)
4204	return out, req.Send()
4205}
4206
4207const opListOfferingPromotions = "ListOfferingPromotions"
4208
4209// ListOfferingPromotionsRequest generates a "aws/request.Request" representing the
4210// client's request for the ListOfferingPromotions operation. The "output" return
4211// value will be populated with the request's response once the request completes
4212// successfully.
4213//
4214// Use "Send" method on the returned Request to send the API call to the service.
4215// the "output" return value is not valid until after Send returns without error.
4216//
4217// See ListOfferingPromotions for more information on using the ListOfferingPromotions
4218// API call, and error handling.
4219//
4220// This method is useful when you want to inject custom logic or configuration
4221// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4222//
4223//
4224//    // Example sending a request using the ListOfferingPromotionsRequest method.
4225//    req, resp := client.ListOfferingPromotionsRequest(params)
4226//
4227//    err := req.Send()
4228//    if err == nil { // resp is now filled
4229//        fmt.Println(resp)
4230//    }
4231//
4232// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingPromotions
4233func (c *DeviceFarm) ListOfferingPromotionsRequest(input *ListOfferingPromotionsInput) (req *request.Request, output *ListOfferingPromotionsOutput) {
4234	op := &request.Operation{
4235		Name:       opListOfferingPromotions,
4236		HTTPMethod: "POST",
4237		HTTPPath:   "/",
4238	}
4239
4240	if input == nil {
4241		input = &ListOfferingPromotionsInput{}
4242	}
4243
4244	output = &ListOfferingPromotionsOutput{}
4245	req = c.newRequest(op, input, output)
4246	return
4247}
4248
4249// ListOfferingPromotions API operation for AWS Device Farm.
4250//
4251// Returns a list of offering promotions. Each offering promotion record contains
4252// the ID and description of the promotion. The API returns a NotEligible error
4253// if the caller is not permitted to invoke the operation. Contact aws-devicefarm-support@amazon.com
4254// (mailto:aws-devicefarm-support@amazon.com) if you must be able to invoke
4255// this operation.
4256//
4257// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4258// with awserr.Error's Code and Message methods to get detailed information about
4259// the error.
4260//
4261// See the AWS API reference guide for AWS Device Farm's
4262// API operation ListOfferingPromotions for usage and error information.
4263//
4264// Returned Error Types:
4265//   * ArgumentException
4266//   An invalid argument was specified.
4267//
4268//   * NotFoundException
4269//   The specified entity was not found.
4270//
4271//   * NotEligibleException
4272//   Exception gets thrown when a user is not eligible to perform the specified
4273//   transaction.
4274//
4275//   * LimitExceededException
4276//   A limit was exceeded.
4277//
4278//   * ServiceAccountException
4279//   There was a problem with the service account.
4280//
4281// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingPromotions
4282func (c *DeviceFarm) ListOfferingPromotions(input *ListOfferingPromotionsInput) (*ListOfferingPromotionsOutput, error) {
4283	req, out := c.ListOfferingPromotionsRequest(input)
4284	return out, req.Send()
4285}
4286
4287// ListOfferingPromotionsWithContext is the same as ListOfferingPromotions with the addition of
4288// the ability to pass a context and additional request options.
4289//
4290// See ListOfferingPromotions for details on how to use this API operation.
4291//
4292// The context must be non-nil and will be used for request cancellation. If
4293// the context is nil a panic will occur. In the future the SDK may create
4294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4295// for more information on using Contexts.
4296func (c *DeviceFarm) ListOfferingPromotionsWithContext(ctx aws.Context, input *ListOfferingPromotionsInput, opts ...request.Option) (*ListOfferingPromotionsOutput, error) {
4297	req, out := c.ListOfferingPromotionsRequest(input)
4298	req.SetContext(ctx)
4299	req.ApplyOptions(opts...)
4300	return out, req.Send()
4301}
4302
4303const opListOfferingTransactions = "ListOfferingTransactions"
4304
4305// ListOfferingTransactionsRequest generates a "aws/request.Request" representing the
4306// client's request for the ListOfferingTransactions operation. The "output" return
4307// value will be populated with the request's response once the request completes
4308// successfully.
4309//
4310// Use "Send" method on the returned Request to send the API call to the service.
4311// the "output" return value is not valid until after Send returns without error.
4312//
4313// See ListOfferingTransactions for more information on using the ListOfferingTransactions
4314// API call, and error handling.
4315//
4316// This method is useful when you want to inject custom logic or configuration
4317// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4318//
4319//
4320//    // Example sending a request using the ListOfferingTransactionsRequest method.
4321//    req, resp := client.ListOfferingTransactionsRequest(params)
4322//
4323//    err := req.Send()
4324//    if err == nil { // resp is now filled
4325//        fmt.Println(resp)
4326//    }
4327//
4328// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingTransactions
4329func (c *DeviceFarm) ListOfferingTransactionsRequest(input *ListOfferingTransactionsInput) (req *request.Request, output *ListOfferingTransactionsOutput) {
4330	op := &request.Operation{
4331		Name:       opListOfferingTransactions,
4332		HTTPMethod: "POST",
4333		HTTPPath:   "/",
4334		Paginator: &request.Paginator{
4335			InputTokens:     []string{"nextToken"},
4336			OutputTokens:    []string{"nextToken"},
4337			LimitToken:      "",
4338			TruncationToken: "",
4339		},
4340	}
4341
4342	if input == nil {
4343		input = &ListOfferingTransactionsInput{}
4344	}
4345
4346	output = &ListOfferingTransactionsOutput{}
4347	req = c.newRequest(op, input, output)
4348	return
4349}
4350
4351// ListOfferingTransactions API operation for AWS Device Farm.
4352//
4353// Returns a list of all historical purchases, renewals, and system renewal
4354// transactions for an AWS account. The list is paginated and ordered by a descending
4355// timestamp (most recent transactions are first). The API returns a NotEligible
4356// error if the user is not permitted to invoke the operation. If you must be
4357// able to invoke this operation, contact aws-devicefarm-support@amazon.com
4358// (mailto:aws-devicefarm-support@amazon.com).
4359//
4360// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4361// with awserr.Error's Code and Message methods to get detailed information about
4362// the error.
4363//
4364// See the AWS API reference guide for AWS Device Farm's
4365// API operation ListOfferingTransactions for usage and error information.
4366//
4367// Returned Error Types:
4368//   * ArgumentException
4369//   An invalid argument was specified.
4370//
4371//   * NotFoundException
4372//   The specified entity was not found.
4373//
4374//   * NotEligibleException
4375//   Exception gets thrown when a user is not eligible to perform the specified
4376//   transaction.
4377//
4378//   * LimitExceededException
4379//   A limit was exceeded.
4380//
4381//   * ServiceAccountException
4382//   There was a problem with the service account.
4383//
4384// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferingTransactions
4385func (c *DeviceFarm) ListOfferingTransactions(input *ListOfferingTransactionsInput) (*ListOfferingTransactionsOutput, error) {
4386	req, out := c.ListOfferingTransactionsRequest(input)
4387	return out, req.Send()
4388}
4389
4390// ListOfferingTransactionsWithContext is the same as ListOfferingTransactions with the addition of
4391// the ability to pass a context and additional request options.
4392//
4393// See ListOfferingTransactions for details on how to use this API operation.
4394//
4395// The context must be non-nil and will be used for request cancellation. If
4396// the context is nil a panic will occur. In the future the SDK may create
4397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4398// for more information on using Contexts.
4399func (c *DeviceFarm) ListOfferingTransactionsWithContext(ctx aws.Context, input *ListOfferingTransactionsInput, opts ...request.Option) (*ListOfferingTransactionsOutput, error) {
4400	req, out := c.ListOfferingTransactionsRequest(input)
4401	req.SetContext(ctx)
4402	req.ApplyOptions(opts...)
4403	return out, req.Send()
4404}
4405
4406// ListOfferingTransactionsPages iterates over the pages of a ListOfferingTransactions operation,
4407// calling the "fn" function with the response data for each page. To stop
4408// iterating, return false from the fn function.
4409//
4410// See ListOfferingTransactions method for more information on how to use this operation.
4411//
4412// Note: This operation can generate multiple requests to a service.
4413//
4414//    // Example iterating over at most 3 pages of a ListOfferingTransactions operation.
4415//    pageNum := 0
4416//    err := client.ListOfferingTransactionsPages(params,
4417//        func(page *devicefarm.ListOfferingTransactionsOutput, lastPage bool) bool {
4418//            pageNum++
4419//            fmt.Println(page)
4420//            return pageNum <= 3
4421//        })
4422//
4423func (c *DeviceFarm) ListOfferingTransactionsPages(input *ListOfferingTransactionsInput, fn func(*ListOfferingTransactionsOutput, bool) bool) error {
4424	return c.ListOfferingTransactionsPagesWithContext(aws.BackgroundContext(), input, fn)
4425}
4426
4427// ListOfferingTransactionsPagesWithContext same as ListOfferingTransactionsPages except
4428// it takes a Context and allows setting request options on the pages.
4429//
4430// The context must be non-nil and will be used for request cancellation. If
4431// the context is nil a panic will occur. In the future the SDK may create
4432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4433// for more information on using Contexts.
4434func (c *DeviceFarm) ListOfferingTransactionsPagesWithContext(ctx aws.Context, input *ListOfferingTransactionsInput, fn func(*ListOfferingTransactionsOutput, bool) bool, opts ...request.Option) error {
4435	p := request.Pagination{
4436		NewRequest: func() (*request.Request, error) {
4437			var inCpy *ListOfferingTransactionsInput
4438			if input != nil {
4439				tmp := *input
4440				inCpy = &tmp
4441			}
4442			req, _ := c.ListOfferingTransactionsRequest(inCpy)
4443			req.SetContext(ctx)
4444			req.ApplyOptions(opts...)
4445			return req, nil
4446		},
4447	}
4448
4449	for p.Next() {
4450		if !fn(p.Page().(*ListOfferingTransactionsOutput), !p.HasNextPage()) {
4451			break
4452		}
4453	}
4454
4455	return p.Err()
4456}
4457
4458const opListOfferings = "ListOfferings"
4459
4460// ListOfferingsRequest generates a "aws/request.Request" representing the
4461// client's request for the ListOfferings operation. The "output" return
4462// value will be populated with the request's response once the request completes
4463// successfully.
4464//
4465// Use "Send" method on the returned Request to send the API call to the service.
4466// the "output" return value is not valid until after Send returns without error.
4467//
4468// See ListOfferings for more information on using the ListOfferings
4469// API call, and error handling.
4470//
4471// This method is useful when you want to inject custom logic or configuration
4472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4473//
4474//
4475//    // Example sending a request using the ListOfferingsRequest method.
4476//    req, resp := client.ListOfferingsRequest(params)
4477//
4478//    err := req.Send()
4479//    if err == nil { // resp is now filled
4480//        fmt.Println(resp)
4481//    }
4482//
4483// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferings
4484func (c *DeviceFarm) ListOfferingsRequest(input *ListOfferingsInput) (req *request.Request, output *ListOfferingsOutput) {
4485	op := &request.Operation{
4486		Name:       opListOfferings,
4487		HTTPMethod: "POST",
4488		HTTPPath:   "/",
4489		Paginator: &request.Paginator{
4490			InputTokens:     []string{"nextToken"},
4491			OutputTokens:    []string{"nextToken"},
4492			LimitToken:      "",
4493			TruncationToken: "",
4494		},
4495	}
4496
4497	if input == nil {
4498		input = &ListOfferingsInput{}
4499	}
4500
4501	output = &ListOfferingsOutput{}
4502	req = c.newRequest(op, input, output)
4503	return
4504}
4505
4506// ListOfferings API operation for AWS Device Farm.
4507//
4508// Returns a list of products or offerings that the user can manage through
4509// the API. Each offering record indicates the recurring price per unit and
4510// the frequency for that offering. The API returns a NotEligible error if the
4511// user is not permitted to invoke the operation. If you must be able to invoke
4512// this operation, contact aws-devicefarm-support@amazon.com (mailto:aws-devicefarm-support@amazon.com).
4513//
4514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4515// with awserr.Error's Code and Message methods to get detailed information about
4516// the error.
4517//
4518// See the AWS API reference guide for AWS Device Farm's
4519// API operation ListOfferings for usage and error information.
4520//
4521// Returned Error Types:
4522//   * ArgumentException
4523//   An invalid argument was specified.
4524//
4525//   * NotFoundException
4526//   The specified entity was not found.
4527//
4528//   * NotEligibleException
4529//   Exception gets thrown when a user is not eligible to perform the specified
4530//   transaction.
4531//
4532//   * LimitExceededException
4533//   A limit was exceeded.
4534//
4535//   * ServiceAccountException
4536//   There was a problem with the service account.
4537//
4538// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListOfferings
4539func (c *DeviceFarm) ListOfferings(input *ListOfferingsInput) (*ListOfferingsOutput, error) {
4540	req, out := c.ListOfferingsRequest(input)
4541	return out, req.Send()
4542}
4543
4544// ListOfferingsWithContext is the same as ListOfferings with the addition of
4545// the ability to pass a context and additional request options.
4546//
4547// See ListOfferings for details on how to use this API operation.
4548//
4549// The context must be non-nil and will be used for request cancellation. If
4550// the context is nil a panic will occur. In the future the SDK may create
4551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4552// for more information on using Contexts.
4553func (c *DeviceFarm) ListOfferingsWithContext(ctx aws.Context, input *ListOfferingsInput, opts ...request.Option) (*ListOfferingsOutput, error) {
4554	req, out := c.ListOfferingsRequest(input)
4555	req.SetContext(ctx)
4556	req.ApplyOptions(opts...)
4557	return out, req.Send()
4558}
4559
4560// ListOfferingsPages iterates over the pages of a ListOfferings operation,
4561// calling the "fn" function with the response data for each page. To stop
4562// iterating, return false from the fn function.
4563//
4564// See ListOfferings method for more information on how to use this operation.
4565//
4566// Note: This operation can generate multiple requests to a service.
4567//
4568//    // Example iterating over at most 3 pages of a ListOfferings operation.
4569//    pageNum := 0
4570//    err := client.ListOfferingsPages(params,
4571//        func(page *devicefarm.ListOfferingsOutput, lastPage bool) bool {
4572//            pageNum++
4573//            fmt.Println(page)
4574//            return pageNum <= 3
4575//        })
4576//
4577func (c *DeviceFarm) ListOfferingsPages(input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool) error {
4578	return c.ListOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
4579}
4580
4581// ListOfferingsPagesWithContext same as ListOfferingsPages except
4582// it takes a Context and allows setting request options on the pages.
4583//
4584// The context must be non-nil and will be used for request cancellation. If
4585// the context is nil a panic will occur. In the future the SDK may create
4586// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4587// for more information on using Contexts.
4588func (c *DeviceFarm) ListOfferingsPagesWithContext(ctx aws.Context, input *ListOfferingsInput, fn func(*ListOfferingsOutput, bool) bool, opts ...request.Option) error {
4589	p := request.Pagination{
4590		NewRequest: func() (*request.Request, error) {
4591			var inCpy *ListOfferingsInput
4592			if input != nil {
4593				tmp := *input
4594				inCpy = &tmp
4595			}
4596			req, _ := c.ListOfferingsRequest(inCpy)
4597			req.SetContext(ctx)
4598			req.ApplyOptions(opts...)
4599			return req, nil
4600		},
4601	}
4602
4603	for p.Next() {
4604		if !fn(p.Page().(*ListOfferingsOutput), !p.HasNextPage()) {
4605			break
4606		}
4607	}
4608
4609	return p.Err()
4610}
4611
4612const opListProjects = "ListProjects"
4613
4614// ListProjectsRequest generates a "aws/request.Request" representing the
4615// client's request for the ListProjects operation. The "output" return
4616// value will be populated with the request's response once the request completes
4617// successfully.
4618//
4619// Use "Send" method on the returned Request to send the API call to the service.
4620// the "output" return value is not valid until after Send returns without error.
4621//
4622// See ListProjects for more information on using the ListProjects
4623// API call, and error handling.
4624//
4625// This method is useful when you want to inject custom logic or configuration
4626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4627//
4628//
4629//    // Example sending a request using the ListProjectsRequest method.
4630//    req, resp := client.ListProjectsRequest(params)
4631//
4632//    err := req.Send()
4633//    if err == nil { // resp is now filled
4634//        fmt.Println(resp)
4635//    }
4636//
4637// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListProjects
4638func (c *DeviceFarm) ListProjectsRequest(input *ListProjectsInput) (req *request.Request, output *ListProjectsOutput) {
4639	op := &request.Operation{
4640		Name:       opListProjects,
4641		HTTPMethod: "POST",
4642		HTTPPath:   "/",
4643		Paginator: &request.Paginator{
4644			InputTokens:     []string{"nextToken"},
4645			OutputTokens:    []string{"nextToken"},
4646			LimitToken:      "",
4647			TruncationToken: "",
4648		},
4649	}
4650
4651	if input == nil {
4652		input = &ListProjectsInput{}
4653	}
4654
4655	output = &ListProjectsOutput{}
4656	req = c.newRequest(op, input, output)
4657	return
4658}
4659
4660// ListProjects API operation for AWS Device Farm.
4661//
4662// Gets information about projects.
4663//
4664// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4665// with awserr.Error's Code and Message methods to get detailed information about
4666// the error.
4667//
4668// See the AWS API reference guide for AWS Device Farm's
4669// API operation ListProjects for usage and error information.
4670//
4671// Returned Error Types:
4672//   * ArgumentException
4673//   An invalid argument was specified.
4674//
4675//   * NotFoundException
4676//   The specified entity was not found.
4677//
4678//   * LimitExceededException
4679//   A limit was exceeded.
4680//
4681//   * ServiceAccountException
4682//   There was a problem with the service account.
4683//
4684// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListProjects
4685func (c *DeviceFarm) ListProjects(input *ListProjectsInput) (*ListProjectsOutput, error) {
4686	req, out := c.ListProjectsRequest(input)
4687	return out, req.Send()
4688}
4689
4690// ListProjectsWithContext is the same as ListProjects with the addition of
4691// the ability to pass a context and additional request options.
4692//
4693// See ListProjects for details on how to use this API operation.
4694//
4695// The context must be non-nil and will be used for request cancellation. If
4696// the context is nil a panic will occur. In the future the SDK may create
4697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4698// for more information on using Contexts.
4699func (c *DeviceFarm) ListProjectsWithContext(ctx aws.Context, input *ListProjectsInput, opts ...request.Option) (*ListProjectsOutput, error) {
4700	req, out := c.ListProjectsRequest(input)
4701	req.SetContext(ctx)
4702	req.ApplyOptions(opts...)
4703	return out, req.Send()
4704}
4705
4706// ListProjectsPages iterates over the pages of a ListProjects operation,
4707// calling the "fn" function with the response data for each page. To stop
4708// iterating, return false from the fn function.
4709//
4710// See ListProjects method for more information on how to use this operation.
4711//
4712// Note: This operation can generate multiple requests to a service.
4713//
4714//    // Example iterating over at most 3 pages of a ListProjects operation.
4715//    pageNum := 0
4716//    err := client.ListProjectsPages(params,
4717//        func(page *devicefarm.ListProjectsOutput, lastPage bool) bool {
4718//            pageNum++
4719//            fmt.Println(page)
4720//            return pageNum <= 3
4721//        })
4722//
4723func (c *DeviceFarm) ListProjectsPages(input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool) error {
4724	return c.ListProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
4725}
4726
4727// ListProjectsPagesWithContext same as ListProjectsPages except
4728// it takes a Context and allows setting request options on the pages.
4729//
4730// The context must be non-nil and will be used for request cancellation. If
4731// the context is nil a panic will occur. In the future the SDK may create
4732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4733// for more information on using Contexts.
4734func (c *DeviceFarm) ListProjectsPagesWithContext(ctx aws.Context, input *ListProjectsInput, fn func(*ListProjectsOutput, bool) bool, opts ...request.Option) error {
4735	p := request.Pagination{
4736		NewRequest: func() (*request.Request, error) {
4737			var inCpy *ListProjectsInput
4738			if input != nil {
4739				tmp := *input
4740				inCpy = &tmp
4741			}
4742			req, _ := c.ListProjectsRequest(inCpy)
4743			req.SetContext(ctx)
4744			req.ApplyOptions(opts...)
4745			return req, nil
4746		},
4747	}
4748
4749	for p.Next() {
4750		if !fn(p.Page().(*ListProjectsOutput), !p.HasNextPage()) {
4751			break
4752		}
4753	}
4754
4755	return p.Err()
4756}
4757
4758const opListRemoteAccessSessions = "ListRemoteAccessSessions"
4759
4760// ListRemoteAccessSessionsRequest generates a "aws/request.Request" representing the
4761// client's request for the ListRemoteAccessSessions operation. The "output" return
4762// value will be populated with the request's response once the request completes
4763// successfully.
4764//
4765// Use "Send" method on the returned Request to send the API call to the service.
4766// the "output" return value is not valid until after Send returns without error.
4767//
4768// See ListRemoteAccessSessions for more information on using the ListRemoteAccessSessions
4769// API call, and error handling.
4770//
4771// This method is useful when you want to inject custom logic or configuration
4772// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4773//
4774//
4775//    // Example sending a request using the ListRemoteAccessSessionsRequest method.
4776//    req, resp := client.ListRemoteAccessSessionsRequest(params)
4777//
4778//    err := req.Send()
4779//    if err == nil { // resp is now filled
4780//        fmt.Println(resp)
4781//    }
4782//
4783// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRemoteAccessSessions
4784func (c *DeviceFarm) ListRemoteAccessSessionsRequest(input *ListRemoteAccessSessionsInput) (req *request.Request, output *ListRemoteAccessSessionsOutput) {
4785	op := &request.Operation{
4786		Name:       opListRemoteAccessSessions,
4787		HTTPMethod: "POST",
4788		HTTPPath:   "/",
4789	}
4790
4791	if input == nil {
4792		input = &ListRemoteAccessSessionsInput{}
4793	}
4794
4795	output = &ListRemoteAccessSessionsOutput{}
4796	req = c.newRequest(op, input, output)
4797	return
4798}
4799
4800// ListRemoteAccessSessions API operation for AWS Device Farm.
4801//
4802// Returns a list of all currently running remote access sessions.
4803//
4804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4805// with awserr.Error's Code and Message methods to get detailed information about
4806// the error.
4807//
4808// See the AWS API reference guide for AWS Device Farm's
4809// API operation ListRemoteAccessSessions for usage and error information.
4810//
4811// Returned Error Types:
4812//   * ArgumentException
4813//   An invalid argument was specified.
4814//
4815//   * NotFoundException
4816//   The specified entity was not found.
4817//
4818//   * LimitExceededException
4819//   A limit was exceeded.
4820//
4821//   * ServiceAccountException
4822//   There was a problem with the service account.
4823//
4824// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRemoteAccessSessions
4825func (c *DeviceFarm) ListRemoteAccessSessions(input *ListRemoteAccessSessionsInput) (*ListRemoteAccessSessionsOutput, error) {
4826	req, out := c.ListRemoteAccessSessionsRequest(input)
4827	return out, req.Send()
4828}
4829
4830// ListRemoteAccessSessionsWithContext is the same as ListRemoteAccessSessions with the addition of
4831// the ability to pass a context and additional request options.
4832//
4833// See ListRemoteAccessSessions for details on how to use this API operation.
4834//
4835// The context must be non-nil and will be used for request cancellation. If
4836// the context is nil a panic will occur. In the future the SDK may create
4837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4838// for more information on using Contexts.
4839func (c *DeviceFarm) ListRemoteAccessSessionsWithContext(ctx aws.Context, input *ListRemoteAccessSessionsInput, opts ...request.Option) (*ListRemoteAccessSessionsOutput, error) {
4840	req, out := c.ListRemoteAccessSessionsRequest(input)
4841	req.SetContext(ctx)
4842	req.ApplyOptions(opts...)
4843	return out, req.Send()
4844}
4845
4846const opListRuns = "ListRuns"
4847
4848// ListRunsRequest generates a "aws/request.Request" representing the
4849// client's request for the ListRuns operation. The "output" return
4850// value will be populated with the request's response once the request completes
4851// successfully.
4852//
4853// Use "Send" method on the returned Request to send the API call to the service.
4854// the "output" return value is not valid until after Send returns without error.
4855//
4856// See ListRuns for more information on using the ListRuns
4857// API call, and error handling.
4858//
4859// This method is useful when you want to inject custom logic or configuration
4860// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4861//
4862//
4863//    // Example sending a request using the ListRunsRequest method.
4864//    req, resp := client.ListRunsRequest(params)
4865//
4866//    err := req.Send()
4867//    if err == nil { // resp is now filled
4868//        fmt.Println(resp)
4869//    }
4870//
4871// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRuns
4872func (c *DeviceFarm) ListRunsRequest(input *ListRunsInput) (req *request.Request, output *ListRunsOutput) {
4873	op := &request.Operation{
4874		Name:       opListRuns,
4875		HTTPMethod: "POST",
4876		HTTPPath:   "/",
4877		Paginator: &request.Paginator{
4878			InputTokens:     []string{"nextToken"},
4879			OutputTokens:    []string{"nextToken"},
4880			LimitToken:      "",
4881			TruncationToken: "",
4882		},
4883	}
4884
4885	if input == nil {
4886		input = &ListRunsInput{}
4887	}
4888
4889	output = &ListRunsOutput{}
4890	req = c.newRequest(op, input, output)
4891	return
4892}
4893
4894// ListRuns API operation for AWS Device Farm.
4895//
4896// Gets information about runs, given an AWS Device Farm project ARN.
4897//
4898// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4899// with awserr.Error's Code and Message methods to get detailed information about
4900// the error.
4901//
4902// See the AWS API reference guide for AWS Device Farm's
4903// API operation ListRuns for usage and error information.
4904//
4905// Returned Error Types:
4906//   * ArgumentException
4907//   An invalid argument was specified.
4908//
4909//   * NotFoundException
4910//   The specified entity was not found.
4911//
4912//   * LimitExceededException
4913//   A limit was exceeded.
4914//
4915//   * ServiceAccountException
4916//   There was a problem with the service account.
4917//
4918// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListRuns
4919func (c *DeviceFarm) ListRuns(input *ListRunsInput) (*ListRunsOutput, error) {
4920	req, out := c.ListRunsRequest(input)
4921	return out, req.Send()
4922}
4923
4924// ListRunsWithContext is the same as ListRuns with the addition of
4925// the ability to pass a context and additional request options.
4926//
4927// See ListRuns for details on how to use this API operation.
4928//
4929// The context must be non-nil and will be used for request cancellation. If
4930// the context is nil a panic will occur. In the future the SDK may create
4931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4932// for more information on using Contexts.
4933func (c *DeviceFarm) ListRunsWithContext(ctx aws.Context, input *ListRunsInput, opts ...request.Option) (*ListRunsOutput, error) {
4934	req, out := c.ListRunsRequest(input)
4935	req.SetContext(ctx)
4936	req.ApplyOptions(opts...)
4937	return out, req.Send()
4938}
4939
4940// ListRunsPages iterates over the pages of a ListRuns operation,
4941// calling the "fn" function with the response data for each page. To stop
4942// iterating, return false from the fn function.
4943//
4944// See ListRuns method for more information on how to use this operation.
4945//
4946// Note: This operation can generate multiple requests to a service.
4947//
4948//    // Example iterating over at most 3 pages of a ListRuns operation.
4949//    pageNum := 0
4950//    err := client.ListRunsPages(params,
4951//        func(page *devicefarm.ListRunsOutput, lastPage bool) bool {
4952//            pageNum++
4953//            fmt.Println(page)
4954//            return pageNum <= 3
4955//        })
4956//
4957func (c *DeviceFarm) ListRunsPages(input *ListRunsInput, fn func(*ListRunsOutput, bool) bool) error {
4958	return c.ListRunsPagesWithContext(aws.BackgroundContext(), input, fn)
4959}
4960
4961// ListRunsPagesWithContext same as ListRunsPages except
4962// it takes a Context and allows setting request options on the pages.
4963//
4964// The context must be non-nil and will be used for request cancellation. If
4965// the context is nil a panic will occur. In the future the SDK may create
4966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4967// for more information on using Contexts.
4968func (c *DeviceFarm) ListRunsPagesWithContext(ctx aws.Context, input *ListRunsInput, fn func(*ListRunsOutput, bool) bool, opts ...request.Option) error {
4969	p := request.Pagination{
4970		NewRequest: func() (*request.Request, error) {
4971			var inCpy *ListRunsInput
4972			if input != nil {
4973				tmp := *input
4974				inCpy = &tmp
4975			}
4976			req, _ := c.ListRunsRequest(inCpy)
4977			req.SetContext(ctx)
4978			req.ApplyOptions(opts...)
4979			return req, nil
4980		},
4981	}
4982
4983	for p.Next() {
4984		if !fn(p.Page().(*ListRunsOutput), !p.HasNextPage()) {
4985			break
4986		}
4987	}
4988
4989	return p.Err()
4990}
4991
4992const opListSamples = "ListSamples"
4993
4994// ListSamplesRequest generates a "aws/request.Request" representing the
4995// client's request for the ListSamples operation. The "output" return
4996// value will be populated with the request's response once the request completes
4997// successfully.
4998//
4999// Use "Send" method on the returned Request to send the API call to the service.
5000// the "output" return value is not valid until after Send returns without error.
5001//
5002// See ListSamples for more information on using the ListSamples
5003// API call, and error handling.
5004//
5005// This method is useful when you want to inject custom logic or configuration
5006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5007//
5008//
5009//    // Example sending a request using the ListSamplesRequest method.
5010//    req, resp := client.ListSamplesRequest(params)
5011//
5012//    err := req.Send()
5013//    if err == nil { // resp is now filled
5014//        fmt.Println(resp)
5015//    }
5016//
5017// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSamples
5018func (c *DeviceFarm) ListSamplesRequest(input *ListSamplesInput) (req *request.Request, output *ListSamplesOutput) {
5019	op := &request.Operation{
5020		Name:       opListSamples,
5021		HTTPMethod: "POST",
5022		HTTPPath:   "/",
5023		Paginator: &request.Paginator{
5024			InputTokens:     []string{"nextToken"},
5025			OutputTokens:    []string{"nextToken"},
5026			LimitToken:      "",
5027			TruncationToken: "",
5028		},
5029	}
5030
5031	if input == nil {
5032		input = &ListSamplesInput{}
5033	}
5034
5035	output = &ListSamplesOutput{}
5036	req = c.newRequest(op, input, output)
5037	return
5038}
5039
5040// ListSamples API operation for AWS Device Farm.
5041//
5042// Gets information about samples, given an AWS Device Farm job ARN.
5043//
5044// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5045// with awserr.Error's Code and Message methods to get detailed information about
5046// the error.
5047//
5048// See the AWS API reference guide for AWS Device Farm's
5049// API operation ListSamples for usage and error information.
5050//
5051// Returned Error Types:
5052//   * ArgumentException
5053//   An invalid argument was specified.
5054//
5055//   * NotFoundException
5056//   The specified entity was not found.
5057//
5058//   * LimitExceededException
5059//   A limit was exceeded.
5060//
5061//   * ServiceAccountException
5062//   There was a problem with the service account.
5063//
5064// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSamples
5065func (c *DeviceFarm) ListSamples(input *ListSamplesInput) (*ListSamplesOutput, error) {
5066	req, out := c.ListSamplesRequest(input)
5067	return out, req.Send()
5068}
5069
5070// ListSamplesWithContext is the same as ListSamples with the addition of
5071// the ability to pass a context and additional request options.
5072//
5073// See ListSamples for details on how to use this API operation.
5074//
5075// The context must be non-nil and will be used for request cancellation. If
5076// the context is nil a panic will occur. In the future the SDK may create
5077// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5078// for more information on using Contexts.
5079func (c *DeviceFarm) ListSamplesWithContext(ctx aws.Context, input *ListSamplesInput, opts ...request.Option) (*ListSamplesOutput, error) {
5080	req, out := c.ListSamplesRequest(input)
5081	req.SetContext(ctx)
5082	req.ApplyOptions(opts...)
5083	return out, req.Send()
5084}
5085
5086// ListSamplesPages iterates over the pages of a ListSamples operation,
5087// calling the "fn" function with the response data for each page. To stop
5088// iterating, return false from the fn function.
5089//
5090// See ListSamples method for more information on how to use this operation.
5091//
5092// Note: This operation can generate multiple requests to a service.
5093//
5094//    // Example iterating over at most 3 pages of a ListSamples operation.
5095//    pageNum := 0
5096//    err := client.ListSamplesPages(params,
5097//        func(page *devicefarm.ListSamplesOutput, lastPage bool) bool {
5098//            pageNum++
5099//            fmt.Println(page)
5100//            return pageNum <= 3
5101//        })
5102//
5103func (c *DeviceFarm) ListSamplesPages(input *ListSamplesInput, fn func(*ListSamplesOutput, bool) bool) error {
5104	return c.ListSamplesPagesWithContext(aws.BackgroundContext(), input, fn)
5105}
5106
5107// ListSamplesPagesWithContext same as ListSamplesPages except
5108// it takes a Context and allows setting request options on the pages.
5109//
5110// The context must be non-nil and will be used for request cancellation. If
5111// the context is nil a panic will occur. In the future the SDK may create
5112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5113// for more information on using Contexts.
5114func (c *DeviceFarm) ListSamplesPagesWithContext(ctx aws.Context, input *ListSamplesInput, fn func(*ListSamplesOutput, bool) bool, opts ...request.Option) error {
5115	p := request.Pagination{
5116		NewRequest: func() (*request.Request, error) {
5117			var inCpy *ListSamplesInput
5118			if input != nil {
5119				tmp := *input
5120				inCpy = &tmp
5121			}
5122			req, _ := c.ListSamplesRequest(inCpy)
5123			req.SetContext(ctx)
5124			req.ApplyOptions(opts...)
5125			return req, nil
5126		},
5127	}
5128
5129	for p.Next() {
5130		if !fn(p.Page().(*ListSamplesOutput), !p.HasNextPage()) {
5131			break
5132		}
5133	}
5134
5135	return p.Err()
5136}
5137
5138const opListSuites = "ListSuites"
5139
5140// ListSuitesRequest generates a "aws/request.Request" representing the
5141// client's request for the ListSuites operation. The "output" return
5142// value will be populated with the request's response once the request completes
5143// successfully.
5144//
5145// Use "Send" method on the returned Request to send the API call to the service.
5146// the "output" return value is not valid until after Send returns without error.
5147//
5148// See ListSuites for more information on using the ListSuites
5149// API call, and error handling.
5150//
5151// This method is useful when you want to inject custom logic or configuration
5152// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5153//
5154//
5155//    // Example sending a request using the ListSuitesRequest method.
5156//    req, resp := client.ListSuitesRequest(params)
5157//
5158//    err := req.Send()
5159//    if err == nil { // resp is now filled
5160//        fmt.Println(resp)
5161//    }
5162//
5163// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSuites
5164func (c *DeviceFarm) ListSuitesRequest(input *ListSuitesInput) (req *request.Request, output *ListSuitesOutput) {
5165	op := &request.Operation{
5166		Name:       opListSuites,
5167		HTTPMethod: "POST",
5168		HTTPPath:   "/",
5169		Paginator: &request.Paginator{
5170			InputTokens:     []string{"nextToken"},
5171			OutputTokens:    []string{"nextToken"},
5172			LimitToken:      "",
5173			TruncationToken: "",
5174		},
5175	}
5176
5177	if input == nil {
5178		input = &ListSuitesInput{}
5179	}
5180
5181	output = &ListSuitesOutput{}
5182	req = c.newRequest(op, input, output)
5183	return
5184}
5185
5186// ListSuites API operation for AWS Device Farm.
5187//
5188// Gets information about test suites for a given job.
5189//
5190// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5191// with awserr.Error's Code and Message methods to get detailed information about
5192// the error.
5193//
5194// See the AWS API reference guide for AWS Device Farm's
5195// API operation ListSuites for usage and error information.
5196//
5197// Returned Error Types:
5198//   * ArgumentException
5199//   An invalid argument was specified.
5200//
5201//   * NotFoundException
5202//   The specified entity was not found.
5203//
5204//   * LimitExceededException
5205//   A limit was exceeded.
5206//
5207//   * ServiceAccountException
5208//   There was a problem with the service account.
5209//
5210// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListSuites
5211func (c *DeviceFarm) ListSuites(input *ListSuitesInput) (*ListSuitesOutput, error) {
5212	req, out := c.ListSuitesRequest(input)
5213	return out, req.Send()
5214}
5215
5216// ListSuitesWithContext is the same as ListSuites with the addition of
5217// the ability to pass a context and additional request options.
5218//
5219// See ListSuites for details on how to use this API operation.
5220//
5221// The context must be non-nil and will be used for request cancellation. If
5222// the context is nil a panic will occur. In the future the SDK may create
5223// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5224// for more information on using Contexts.
5225func (c *DeviceFarm) ListSuitesWithContext(ctx aws.Context, input *ListSuitesInput, opts ...request.Option) (*ListSuitesOutput, error) {
5226	req, out := c.ListSuitesRequest(input)
5227	req.SetContext(ctx)
5228	req.ApplyOptions(opts...)
5229	return out, req.Send()
5230}
5231
5232// ListSuitesPages iterates over the pages of a ListSuites operation,
5233// calling the "fn" function with the response data for each page. To stop
5234// iterating, return false from the fn function.
5235//
5236// See ListSuites method for more information on how to use this operation.
5237//
5238// Note: This operation can generate multiple requests to a service.
5239//
5240//    // Example iterating over at most 3 pages of a ListSuites operation.
5241//    pageNum := 0
5242//    err := client.ListSuitesPages(params,
5243//        func(page *devicefarm.ListSuitesOutput, lastPage bool) bool {
5244//            pageNum++
5245//            fmt.Println(page)
5246//            return pageNum <= 3
5247//        })
5248//
5249func (c *DeviceFarm) ListSuitesPages(input *ListSuitesInput, fn func(*ListSuitesOutput, bool) bool) error {
5250	return c.ListSuitesPagesWithContext(aws.BackgroundContext(), input, fn)
5251}
5252
5253// ListSuitesPagesWithContext same as ListSuitesPages except
5254// it takes a Context and allows setting request options on the pages.
5255//
5256// The context must be non-nil and will be used for request cancellation. If
5257// the context is nil a panic will occur. In the future the SDK may create
5258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5259// for more information on using Contexts.
5260func (c *DeviceFarm) ListSuitesPagesWithContext(ctx aws.Context, input *ListSuitesInput, fn func(*ListSuitesOutput, bool) bool, opts ...request.Option) error {
5261	p := request.Pagination{
5262		NewRequest: func() (*request.Request, error) {
5263			var inCpy *ListSuitesInput
5264			if input != nil {
5265				tmp := *input
5266				inCpy = &tmp
5267			}
5268			req, _ := c.ListSuitesRequest(inCpy)
5269			req.SetContext(ctx)
5270			req.ApplyOptions(opts...)
5271			return req, nil
5272		},
5273	}
5274
5275	for p.Next() {
5276		if !fn(p.Page().(*ListSuitesOutput), !p.HasNextPage()) {
5277			break
5278		}
5279	}
5280
5281	return p.Err()
5282}
5283
5284const opListTagsForResource = "ListTagsForResource"
5285
5286// ListTagsForResourceRequest generates a "aws/request.Request" representing the
5287// client's request for the ListTagsForResource operation. The "output" return
5288// value will be populated with the request's response once the request completes
5289// successfully.
5290//
5291// Use "Send" method on the returned Request to send the API call to the service.
5292// the "output" return value is not valid until after Send returns without error.
5293//
5294// See ListTagsForResource for more information on using the ListTagsForResource
5295// API call, and error handling.
5296//
5297// This method is useful when you want to inject custom logic or configuration
5298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5299//
5300//
5301//    // Example sending a request using the ListTagsForResourceRequest method.
5302//    req, resp := client.ListTagsForResourceRequest(params)
5303//
5304//    err := req.Send()
5305//    if err == nil { // resp is now filled
5306//        fmt.Println(resp)
5307//    }
5308//
5309// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTagsForResource
5310func (c *DeviceFarm) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
5311	op := &request.Operation{
5312		Name:       opListTagsForResource,
5313		HTTPMethod: "POST",
5314		HTTPPath:   "/",
5315	}
5316
5317	if input == nil {
5318		input = &ListTagsForResourceInput{}
5319	}
5320
5321	output = &ListTagsForResourceOutput{}
5322	req = c.newRequest(op, input, output)
5323	return
5324}
5325
5326// ListTagsForResource API operation for AWS Device Farm.
5327//
5328// List the tags for an AWS Device Farm resource.
5329//
5330// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5331// with awserr.Error's Code and Message methods to get detailed information about
5332// the error.
5333//
5334// See the AWS API reference guide for AWS Device Farm's
5335// API operation ListTagsForResource for usage and error information.
5336//
5337// Returned Error Types:
5338//   * ArgumentException
5339//   An invalid argument was specified.
5340//
5341//   * NotFoundException
5342//   The specified entity was not found.
5343//
5344//   * TagOperationException
5345//   The operation was not successful. Try again.
5346//
5347// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTagsForResource
5348func (c *DeviceFarm) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
5349	req, out := c.ListTagsForResourceRequest(input)
5350	return out, req.Send()
5351}
5352
5353// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
5354// the ability to pass a context and additional request options.
5355//
5356// See ListTagsForResource for details on how to use this API operation.
5357//
5358// The context must be non-nil and will be used for request cancellation. If
5359// the context is nil a panic will occur. In the future the SDK may create
5360// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5361// for more information on using Contexts.
5362func (c *DeviceFarm) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
5363	req, out := c.ListTagsForResourceRequest(input)
5364	req.SetContext(ctx)
5365	req.ApplyOptions(opts...)
5366	return out, req.Send()
5367}
5368
5369const opListTestGridProjects = "ListTestGridProjects"
5370
5371// ListTestGridProjectsRequest generates a "aws/request.Request" representing the
5372// client's request for the ListTestGridProjects operation. The "output" return
5373// value will be populated with the request's response once the request completes
5374// successfully.
5375//
5376// Use "Send" method on the returned Request to send the API call to the service.
5377// the "output" return value is not valid until after Send returns without error.
5378//
5379// See ListTestGridProjects for more information on using the ListTestGridProjects
5380// API call, and error handling.
5381//
5382// This method is useful when you want to inject custom logic or configuration
5383// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5384//
5385//
5386//    // Example sending a request using the ListTestGridProjectsRequest method.
5387//    req, resp := client.ListTestGridProjectsRequest(params)
5388//
5389//    err := req.Send()
5390//    if err == nil { // resp is now filled
5391//        fmt.Println(resp)
5392//    }
5393//
5394// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridProjects
5395func (c *DeviceFarm) ListTestGridProjectsRequest(input *ListTestGridProjectsInput) (req *request.Request, output *ListTestGridProjectsOutput) {
5396	op := &request.Operation{
5397		Name:       opListTestGridProjects,
5398		HTTPMethod: "POST",
5399		HTTPPath:   "/",
5400		Paginator: &request.Paginator{
5401			InputTokens:     []string{"nextToken"},
5402			OutputTokens:    []string{"nextToken"},
5403			LimitToken:      "maxResult",
5404			TruncationToken: "",
5405		},
5406	}
5407
5408	if input == nil {
5409		input = &ListTestGridProjectsInput{}
5410	}
5411
5412	output = &ListTestGridProjectsOutput{}
5413	req = c.newRequest(op, input, output)
5414	return
5415}
5416
5417// ListTestGridProjects API operation for AWS Device Farm.
5418//
5419// Gets a list of all Selenium testing projects in your account.
5420//
5421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5422// with awserr.Error's Code and Message methods to get detailed information about
5423// the error.
5424//
5425// See the AWS API reference guide for AWS Device Farm's
5426// API operation ListTestGridProjects for usage and error information.
5427//
5428// Returned Error Types:
5429//   * ArgumentException
5430//   An invalid argument was specified.
5431//
5432//   * InternalServiceException
5433//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
5434//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
5435//
5436// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridProjects
5437func (c *DeviceFarm) ListTestGridProjects(input *ListTestGridProjectsInput) (*ListTestGridProjectsOutput, error) {
5438	req, out := c.ListTestGridProjectsRequest(input)
5439	return out, req.Send()
5440}
5441
5442// ListTestGridProjectsWithContext is the same as ListTestGridProjects with the addition of
5443// the ability to pass a context and additional request options.
5444//
5445// See ListTestGridProjects for details on how to use this API operation.
5446//
5447// The context must be non-nil and will be used for request cancellation. If
5448// the context is nil a panic will occur. In the future the SDK may create
5449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5450// for more information on using Contexts.
5451func (c *DeviceFarm) ListTestGridProjectsWithContext(ctx aws.Context, input *ListTestGridProjectsInput, opts ...request.Option) (*ListTestGridProjectsOutput, error) {
5452	req, out := c.ListTestGridProjectsRequest(input)
5453	req.SetContext(ctx)
5454	req.ApplyOptions(opts...)
5455	return out, req.Send()
5456}
5457
5458// ListTestGridProjectsPages iterates over the pages of a ListTestGridProjects operation,
5459// calling the "fn" function with the response data for each page. To stop
5460// iterating, return false from the fn function.
5461//
5462// See ListTestGridProjects method for more information on how to use this operation.
5463//
5464// Note: This operation can generate multiple requests to a service.
5465//
5466//    // Example iterating over at most 3 pages of a ListTestGridProjects operation.
5467//    pageNum := 0
5468//    err := client.ListTestGridProjectsPages(params,
5469//        func(page *devicefarm.ListTestGridProjectsOutput, lastPage bool) bool {
5470//            pageNum++
5471//            fmt.Println(page)
5472//            return pageNum <= 3
5473//        })
5474//
5475func (c *DeviceFarm) ListTestGridProjectsPages(input *ListTestGridProjectsInput, fn func(*ListTestGridProjectsOutput, bool) bool) error {
5476	return c.ListTestGridProjectsPagesWithContext(aws.BackgroundContext(), input, fn)
5477}
5478
5479// ListTestGridProjectsPagesWithContext same as ListTestGridProjectsPages except
5480// it takes a Context and allows setting request options on the pages.
5481//
5482// The context must be non-nil and will be used for request cancellation. If
5483// the context is nil a panic will occur. In the future the SDK may create
5484// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5485// for more information on using Contexts.
5486func (c *DeviceFarm) ListTestGridProjectsPagesWithContext(ctx aws.Context, input *ListTestGridProjectsInput, fn func(*ListTestGridProjectsOutput, bool) bool, opts ...request.Option) error {
5487	p := request.Pagination{
5488		NewRequest: func() (*request.Request, error) {
5489			var inCpy *ListTestGridProjectsInput
5490			if input != nil {
5491				tmp := *input
5492				inCpy = &tmp
5493			}
5494			req, _ := c.ListTestGridProjectsRequest(inCpy)
5495			req.SetContext(ctx)
5496			req.ApplyOptions(opts...)
5497			return req, nil
5498		},
5499	}
5500
5501	for p.Next() {
5502		if !fn(p.Page().(*ListTestGridProjectsOutput), !p.HasNextPage()) {
5503			break
5504		}
5505	}
5506
5507	return p.Err()
5508}
5509
5510const opListTestGridSessionActions = "ListTestGridSessionActions"
5511
5512// ListTestGridSessionActionsRequest generates a "aws/request.Request" representing the
5513// client's request for the ListTestGridSessionActions operation. The "output" return
5514// value will be populated with the request's response once the request completes
5515// successfully.
5516//
5517// Use "Send" method on the returned Request to send the API call to the service.
5518// the "output" return value is not valid until after Send returns without error.
5519//
5520// See ListTestGridSessionActions for more information on using the ListTestGridSessionActions
5521// API call, and error handling.
5522//
5523// This method is useful when you want to inject custom logic or configuration
5524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5525//
5526//
5527//    // Example sending a request using the ListTestGridSessionActionsRequest method.
5528//    req, resp := client.ListTestGridSessionActionsRequest(params)
5529//
5530//    err := req.Send()
5531//    if err == nil { // resp is now filled
5532//        fmt.Println(resp)
5533//    }
5534//
5535// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionActions
5536func (c *DeviceFarm) ListTestGridSessionActionsRequest(input *ListTestGridSessionActionsInput) (req *request.Request, output *ListTestGridSessionActionsOutput) {
5537	op := &request.Operation{
5538		Name:       opListTestGridSessionActions,
5539		HTTPMethod: "POST",
5540		HTTPPath:   "/",
5541		Paginator: &request.Paginator{
5542			InputTokens:     []string{"nextToken"},
5543			OutputTokens:    []string{"nextToken"},
5544			LimitToken:      "maxResult",
5545			TruncationToken: "",
5546		},
5547	}
5548
5549	if input == nil {
5550		input = &ListTestGridSessionActionsInput{}
5551	}
5552
5553	output = &ListTestGridSessionActionsOutput{}
5554	req = c.newRequest(op, input, output)
5555	return
5556}
5557
5558// ListTestGridSessionActions API operation for AWS Device Farm.
5559//
5560// Returns a list of the actions taken in a TestGridSession.
5561//
5562// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5563// with awserr.Error's Code and Message methods to get detailed information about
5564// the error.
5565//
5566// See the AWS API reference guide for AWS Device Farm's
5567// API operation ListTestGridSessionActions for usage and error information.
5568//
5569// Returned Error Types:
5570//   * NotFoundException
5571//   The specified entity was not found.
5572//
5573//   * ArgumentException
5574//   An invalid argument was specified.
5575//
5576//   * InternalServiceException
5577//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
5578//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
5579//
5580// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionActions
5581func (c *DeviceFarm) ListTestGridSessionActions(input *ListTestGridSessionActionsInput) (*ListTestGridSessionActionsOutput, error) {
5582	req, out := c.ListTestGridSessionActionsRequest(input)
5583	return out, req.Send()
5584}
5585
5586// ListTestGridSessionActionsWithContext is the same as ListTestGridSessionActions with the addition of
5587// the ability to pass a context and additional request options.
5588//
5589// See ListTestGridSessionActions for details on how to use this API operation.
5590//
5591// The context must be non-nil and will be used for request cancellation. If
5592// the context is nil a panic will occur. In the future the SDK may create
5593// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5594// for more information on using Contexts.
5595func (c *DeviceFarm) ListTestGridSessionActionsWithContext(ctx aws.Context, input *ListTestGridSessionActionsInput, opts ...request.Option) (*ListTestGridSessionActionsOutput, error) {
5596	req, out := c.ListTestGridSessionActionsRequest(input)
5597	req.SetContext(ctx)
5598	req.ApplyOptions(opts...)
5599	return out, req.Send()
5600}
5601
5602// ListTestGridSessionActionsPages iterates over the pages of a ListTestGridSessionActions operation,
5603// calling the "fn" function with the response data for each page. To stop
5604// iterating, return false from the fn function.
5605//
5606// See ListTestGridSessionActions method for more information on how to use this operation.
5607//
5608// Note: This operation can generate multiple requests to a service.
5609//
5610//    // Example iterating over at most 3 pages of a ListTestGridSessionActions operation.
5611//    pageNum := 0
5612//    err := client.ListTestGridSessionActionsPages(params,
5613//        func(page *devicefarm.ListTestGridSessionActionsOutput, lastPage bool) bool {
5614//            pageNum++
5615//            fmt.Println(page)
5616//            return pageNum <= 3
5617//        })
5618//
5619func (c *DeviceFarm) ListTestGridSessionActionsPages(input *ListTestGridSessionActionsInput, fn func(*ListTestGridSessionActionsOutput, bool) bool) error {
5620	return c.ListTestGridSessionActionsPagesWithContext(aws.BackgroundContext(), input, fn)
5621}
5622
5623// ListTestGridSessionActionsPagesWithContext same as ListTestGridSessionActionsPages except
5624// it takes a Context and allows setting request options on the pages.
5625//
5626// The context must be non-nil and will be used for request cancellation. If
5627// the context is nil a panic will occur. In the future the SDK may create
5628// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5629// for more information on using Contexts.
5630func (c *DeviceFarm) ListTestGridSessionActionsPagesWithContext(ctx aws.Context, input *ListTestGridSessionActionsInput, fn func(*ListTestGridSessionActionsOutput, bool) bool, opts ...request.Option) error {
5631	p := request.Pagination{
5632		NewRequest: func() (*request.Request, error) {
5633			var inCpy *ListTestGridSessionActionsInput
5634			if input != nil {
5635				tmp := *input
5636				inCpy = &tmp
5637			}
5638			req, _ := c.ListTestGridSessionActionsRequest(inCpy)
5639			req.SetContext(ctx)
5640			req.ApplyOptions(opts...)
5641			return req, nil
5642		},
5643	}
5644
5645	for p.Next() {
5646		if !fn(p.Page().(*ListTestGridSessionActionsOutput), !p.HasNextPage()) {
5647			break
5648		}
5649	}
5650
5651	return p.Err()
5652}
5653
5654const opListTestGridSessionArtifacts = "ListTestGridSessionArtifacts"
5655
5656// ListTestGridSessionArtifactsRequest generates a "aws/request.Request" representing the
5657// client's request for the ListTestGridSessionArtifacts operation. The "output" return
5658// value will be populated with the request's response once the request completes
5659// successfully.
5660//
5661// Use "Send" method on the returned Request to send the API call to the service.
5662// the "output" return value is not valid until after Send returns without error.
5663//
5664// See ListTestGridSessionArtifacts for more information on using the ListTestGridSessionArtifacts
5665// API call, and error handling.
5666//
5667// This method is useful when you want to inject custom logic or configuration
5668// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5669//
5670//
5671//    // Example sending a request using the ListTestGridSessionArtifactsRequest method.
5672//    req, resp := client.ListTestGridSessionArtifactsRequest(params)
5673//
5674//    err := req.Send()
5675//    if err == nil { // resp is now filled
5676//        fmt.Println(resp)
5677//    }
5678//
5679// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionArtifacts
5680func (c *DeviceFarm) ListTestGridSessionArtifactsRequest(input *ListTestGridSessionArtifactsInput) (req *request.Request, output *ListTestGridSessionArtifactsOutput) {
5681	op := &request.Operation{
5682		Name:       opListTestGridSessionArtifacts,
5683		HTTPMethod: "POST",
5684		HTTPPath:   "/",
5685		Paginator: &request.Paginator{
5686			InputTokens:     []string{"nextToken"},
5687			OutputTokens:    []string{"nextToken"},
5688			LimitToken:      "maxResult",
5689			TruncationToken: "",
5690		},
5691	}
5692
5693	if input == nil {
5694		input = &ListTestGridSessionArtifactsInput{}
5695	}
5696
5697	output = &ListTestGridSessionArtifactsOutput{}
5698	req = c.newRequest(op, input, output)
5699	return
5700}
5701
5702// ListTestGridSessionArtifacts API operation for AWS Device Farm.
5703//
5704// Retrieves a list of artifacts created during the session.
5705//
5706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5707// with awserr.Error's Code and Message methods to get detailed information about
5708// the error.
5709//
5710// See the AWS API reference guide for AWS Device Farm's
5711// API operation ListTestGridSessionArtifacts for usage and error information.
5712//
5713// Returned Error Types:
5714//   * NotFoundException
5715//   The specified entity was not found.
5716//
5717//   * ArgumentException
5718//   An invalid argument was specified.
5719//
5720//   * InternalServiceException
5721//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
5722//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
5723//
5724// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessionArtifacts
5725func (c *DeviceFarm) ListTestGridSessionArtifacts(input *ListTestGridSessionArtifactsInput) (*ListTestGridSessionArtifactsOutput, error) {
5726	req, out := c.ListTestGridSessionArtifactsRequest(input)
5727	return out, req.Send()
5728}
5729
5730// ListTestGridSessionArtifactsWithContext is the same as ListTestGridSessionArtifacts with the addition of
5731// the ability to pass a context and additional request options.
5732//
5733// See ListTestGridSessionArtifacts for details on how to use this API operation.
5734//
5735// The context must be non-nil and will be used for request cancellation. If
5736// the context is nil a panic will occur. In the future the SDK may create
5737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5738// for more information on using Contexts.
5739func (c *DeviceFarm) ListTestGridSessionArtifactsWithContext(ctx aws.Context, input *ListTestGridSessionArtifactsInput, opts ...request.Option) (*ListTestGridSessionArtifactsOutput, error) {
5740	req, out := c.ListTestGridSessionArtifactsRequest(input)
5741	req.SetContext(ctx)
5742	req.ApplyOptions(opts...)
5743	return out, req.Send()
5744}
5745
5746// ListTestGridSessionArtifactsPages iterates over the pages of a ListTestGridSessionArtifacts operation,
5747// calling the "fn" function with the response data for each page. To stop
5748// iterating, return false from the fn function.
5749//
5750// See ListTestGridSessionArtifacts method for more information on how to use this operation.
5751//
5752// Note: This operation can generate multiple requests to a service.
5753//
5754//    // Example iterating over at most 3 pages of a ListTestGridSessionArtifacts operation.
5755//    pageNum := 0
5756//    err := client.ListTestGridSessionArtifactsPages(params,
5757//        func(page *devicefarm.ListTestGridSessionArtifactsOutput, lastPage bool) bool {
5758//            pageNum++
5759//            fmt.Println(page)
5760//            return pageNum <= 3
5761//        })
5762//
5763func (c *DeviceFarm) ListTestGridSessionArtifactsPages(input *ListTestGridSessionArtifactsInput, fn func(*ListTestGridSessionArtifactsOutput, bool) bool) error {
5764	return c.ListTestGridSessionArtifactsPagesWithContext(aws.BackgroundContext(), input, fn)
5765}
5766
5767// ListTestGridSessionArtifactsPagesWithContext same as ListTestGridSessionArtifactsPages except
5768// it takes a Context and allows setting request options on the pages.
5769//
5770// The context must be non-nil and will be used for request cancellation. If
5771// the context is nil a panic will occur. In the future the SDK may create
5772// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5773// for more information on using Contexts.
5774func (c *DeviceFarm) ListTestGridSessionArtifactsPagesWithContext(ctx aws.Context, input *ListTestGridSessionArtifactsInput, fn func(*ListTestGridSessionArtifactsOutput, bool) bool, opts ...request.Option) error {
5775	p := request.Pagination{
5776		NewRequest: func() (*request.Request, error) {
5777			var inCpy *ListTestGridSessionArtifactsInput
5778			if input != nil {
5779				tmp := *input
5780				inCpy = &tmp
5781			}
5782			req, _ := c.ListTestGridSessionArtifactsRequest(inCpy)
5783			req.SetContext(ctx)
5784			req.ApplyOptions(opts...)
5785			return req, nil
5786		},
5787	}
5788
5789	for p.Next() {
5790		if !fn(p.Page().(*ListTestGridSessionArtifactsOutput), !p.HasNextPage()) {
5791			break
5792		}
5793	}
5794
5795	return p.Err()
5796}
5797
5798const opListTestGridSessions = "ListTestGridSessions"
5799
5800// ListTestGridSessionsRequest generates a "aws/request.Request" representing the
5801// client's request for the ListTestGridSessions operation. The "output" return
5802// value will be populated with the request's response once the request completes
5803// successfully.
5804//
5805// Use "Send" method on the returned Request to send the API call to the service.
5806// the "output" return value is not valid until after Send returns without error.
5807//
5808// See ListTestGridSessions for more information on using the ListTestGridSessions
5809// API call, and error handling.
5810//
5811// This method is useful when you want to inject custom logic or configuration
5812// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5813//
5814//
5815//    // Example sending a request using the ListTestGridSessionsRequest method.
5816//    req, resp := client.ListTestGridSessionsRequest(params)
5817//
5818//    err := req.Send()
5819//    if err == nil { // resp is now filled
5820//        fmt.Println(resp)
5821//    }
5822//
5823// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessions
5824func (c *DeviceFarm) ListTestGridSessionsRequest(input *ListTestGridSessionsInput) (req *request.Request, output *ListTestGridSessionsOutput) {
5825	op := &request.Operation{
5826		Name:       opListTestGridSessions,
5827		HTTPMethod: "POST",
5828		HTTPPath:   "/",
5829		Paginator: &request.Paginator{
5830			InputTokens:     []string{"nextToken"},
5831			OutputTokens:    []string{"nextToken"},
5832			LimitToken:      "maxResult",
5833			TruncationToken: "",
5834		},
5835	}
5836
5837	if input == nil {
5838		input = &ListTestGridSessionsInput{}
5839	}
5840
5841	output = &ListTestGridSessionsOutput{}
5842	req = c.newRequest(op, input, output)
5843	return
5844}
5845
5846// ListTestGridSessions API operation for AWS Device Farm.
5847//
5848// Retrieves a list of sessions for a TestGridProject.
5849//
5850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5851// with awserr.Error's Code and Message methods to get detailed information about
5852// the error.
5853//
5854// See the AWS API reference guide for AWS Device Farm's
5855// API operation ListTestGridSessions for usage and error information.
5856//
5857// Returned Error Types:
5858//   * NotFoundException
5859//   The specified entity was not found.
5860//
5861//   * ArgumentException
5862//   An invalid argument was specified.
5863//
5864//   * InternalServiceException
5865//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
5866//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
5867//
5868// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTestGridSessions
5869func (c *DeviceFarm) ListTestGridSessions(input *ListTestGridSessionsInput) (*ListTestGridSessionsOutput, error) {
5870	req, out := c.ListTestGridSessionsRequest(input)
5871	return out, req.Send()
5872}
5873
5874// ListTestGridSessionsWithContext is the same as ListTestGridSessions with the addition of
5875// the ability to pass a context and additional request options.
5876//
5877// See ListTestGridSessions for details on how to use this API operation.
5878//
5879// The context must be non-nil and will be used for request cancellation. If
5880// the context is nil a panic will occur. In the future the SDK may create
5881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5882// for more information on using Contexts.
5883func (c *DeviceFarm) ListTestGridSessionsWithContext(ctx aws.Context, input *ListTestGridSessionsInput, opts ...request.Option) (*ListTestGridSessionsOutput, error) {
5884	req, out := c.ListTestGridSessionsRequest(input)
5885	req.SetContext(ctx)
5886	req.ApplyOptions(opts...)
5887	return out, req.Send()
5888}
5889
5890// ListTestGridSessionsPages iterates over the pages of a ListTestGridSessions operation,
5891// calling the "fn" function with the response data for each page. To stop
5892// iterating, return false from the fn function.
5893//
5894// See ListTestGridSessions method for more information on how to use this operation.
5895//
5896// Note: This operation can generate multiple requests to a service.
5897//
5898//    // Example iterating over at most 3 pages of a ListTestGridSessions operation.
5899//    pageNum := 0
5900//    err := client.ListTestGridSessionsPages(params,
5901//        func(page *devicefarm.ListTestGridSessionsOutput, lastPage bool) bool {
5902//            pageNum++
5903//            fmt.Println(page)
5904//            return pageNum <= 3
5905//        })
5906//
5907func (c *DeviceFarm) ListTestGridSessionsPages(input *ListTestGridSessionsInput, fn func(*ListTestGridSessionsOutput, bool) bool) error {
5908	return c.ListTestGridSessionsPagesWithContext(aws.BackgroundContext(), input, fn)
5909}
5910
5911// ListTestGridSessionsPagesWithContext same as ListTestGridSessionsPages except
5912// it takes a Context and allows setting request options on the pages.
5913//
5914// The context must be non-nil and will be used for request cancellation. If
5915// the context is nil a panic will occur. In the future the SDK may create
5916// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5917// for more information on using Contexts.
5918func (c *DeviceFarm) ListTestGridSessionsPagesWithContext(ctx aws.Context, input *ListTestGridSessionsInput, fn func(*ListTestGridSessionsOutput, bool) bool, opts ...request.Option) error {
5919	p := request.Pagination{
5920		NewRequest: func() (*request.Request, error) {
5921			var inCpy *ListTestGridSessionsInput
5922			if input != nil {
5923				tmp := *input
5924				inCpy = &tmp
5925			}
5926			req, _ := c.ListTestGridSessionsRequest(inCpy)
5927			req.SetContext(ctx)
5928			req.ApplyOptions(opts...)
5929			return req, nil
5930		},
5931	}
5932
5933	for p.Next() {
5934		if !fn(p.Page().(*ListTestGridSessionsOutput), !p.HasNextPage()) {
5935			break
5936		}
5937	}
5938
5939	return p.Err()
5940}
5941
5942const opListTests = "ListTests"
5943
5944// ListTestsRequest generates a "aws/request.Request" representing the
5945// client's request for the ListTests operation. The "output" return
5946// value will be populated with the request's response once the request completes
5947// successfully.
5948//
5949// Use "Send" method on the returned Request to send the API call to the service.
5950// the "output" return value is not valid until after Send returns without error.
5951//
5952// See ListTests for more information on using the ListTests
5953// API call, and error handling.
5954//
5955// This method is useful when you want to inject custom logic or configuration
5956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5957//
5958//
5959//    // Example sending a request using the ListTestsRequest method.
5960//    req, resp := client.ListTestsRequest(params)
5961//
5962//    err := req.Send()
5963//    if err == nil { // resp is now filled
5964//        fmt.Println(resp)
5965//    }
5966//
5967// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTests
5968func (c *DeviceFarm) ListTestsRequest(input *ListTestsInput) (req *request.Request, output *ListTestsOutput) {
5969	op := &request.Operation{
5970		Name:       opListTests,
5971		HTTPMethod: "POST",
5972		HTTPPath:   "/",
5973		Paginator: &request.Paginator{
5974			InputTokens:     []string{"nextToken"},
5975			OutputTokens:    []string{"nextToken"},
5976			LimitToken:      "",
5977			TruncationToken: "",
5978		},
5979	}
5980
5981	if input == nil {
5982		input = &ListTestsInput{}
5983	}
5984
5985	output = &ListTestsOutput{}
5986	req = c.newRequest(op, input, output)
5987	return
5988}
5989
5990// ListTests API operation for AWS Device Farm.
5991//
5992// Gets information about tests in a given test suite.
5993//
5994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5995// with awserr.Error's Code and Message methods to get detailed information about
5996// the error.
5997//
5998// See the AWS API reference guide for AWS Device Farm's
5999// API operation ListTests for usage and error information.
6000//
6001// Returned Error Types:
6002//   * ArgumentException
6003//   An invalid argument was specified.
6004//
6005//   * NotFoundException
6006//   The specified entity was not found.
6007//
6008//   * LimitExceededException
6009//   A limit was exceeded.
6010//
6011//   * ServiceAccountException
6012//   There was a problem with the service account.
6013//
6014// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListTests
6015func (c *DeviceFarm) ListTests(input *ListTestsInput) (*ListTestsOutput, error) {
6016	req, out := c.ListTestsRequest(input)
6017	return out, req.Send()
6018}
6019
6020// ListTestsWithContext is the same as ListTests with the addition of
6021// the ability to pass a context and additional request options.
6022//
6023// See ListTests for details on how to use this API operation.
6024//
6025// The context must be non-nil and will be used for request cancellation. If
6026// the context is nil a panic will occur. In the future the SDK may create
6027// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6028// for more information on using Contexts.
6029func (c *DeviceFarm) ListTestsWithContext(ctx aws.Context, input *ListTestsInput, opts ...request.Option) (*ListTestsOutput, error) {
6030	req, out := c.ListTestsRequest(input)
6031	req.SetContext(ctx)
6032	req.ApplyOptions(opts...)
6033	return out, req.Send()
6034}
6035
6036// ListTestsPages iterates over the pages of a ListTests operation,
6037// calling the "fn" function with the response data for each page. To stop
6038// iterating, return false from the fn function.
6039//
6040// See ListTests method for more information on how to use this operation.
6041//
6042// Note: This operation can generate multiple requests to a service.
6043//
6044//    // Example iterating over at most 3 pages of a ListTests operation.
6045//    pageNum := 0
6046//    err := client.ListTestsPages(params,
6047//        func(page *devicefarm.ListTestsOutput, lastPage bool) bool {
6048//            pageNum++
6049//            fmt.Println(page)
6050//            return pageNum <= 3
6051//        })
6052//
6053func (c *DeviceFarm) ListTestsPages(input *ListTestsInput, fn func(*ListTestsOutput, bool) bool) error {
6054	return c.ListTestsPagesWithContext(aws.BackgroundContext(), input, fn)
6055}
6056
6057// ListTestsPagesWithContext same as ListTestsPages except
6058// it takes a Context and allows setting request options on the pages.
6059//
6060// The context must be non-nil and will be used for request cancellation. If
6061// the context is nil a panic will occur. In the future the SDK may create
6062// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6063// for more information on using Contexts.
6064func (c *DeviceFarm) ListTestsPagesWithContext(ctx aws.Context, input *ListTestsInput, fn func(*ListTestsOutput, bool) bool, opts ...request.Option) error {
6065	p := request.Pagination{
6066		NewRequest: func() (*request.Request, error) {
6067			var inCpy *ListTestsInput
6068			if input != nil {
6069				tmp := *input
6070				inCpy = &tmp
6071			}
6072			req, _ := c.ListTestsRequest(inCpy)
6073			req.SetContext(ctx)
6074			req.ApplyOptions(opts...)
6075			return req, nil
6076		},
6077	}
6078
6079	for p.Next() {
6080		if !fn(p.Page().(*ListTestsOutput), !p.HasNextPage()) {
6081			break
6082		}
6083	}
6084
6085	return p.Err()
6086}
6087
6088const opListUniqueProblems = "ListUniqueProblems"
6089
6090// ListUniqueProblemsRequest generates a "aws/request.Request" representing the
6091// client's request for the ListUniqueProblems operation. The "output" return
6092// value will be populated with the request's response once the request completes
6093// successfully.
6094//
6095// Use "Send" method on the returned Request to send the API call to the service.
6096// the "output" return value is not valid until after Send returns without error.
6097//
6098// See ListUniqueProblems for more information on using the ListUniqueProblems
6099// API call, and error handling.
6100//
6101// This method is useful when you want to inject custom logic or configuration
6102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6103//
6104//
6105//    // Example sending a request using the ListUniqueProblemsRequest method.
6106//    req, resp := client.ListUniqueProblemsRequest(params)
6107//
6108//    err := req.Send()
6109//    if err == nil { // resp is now filled
6110//        fmt.Println(resp)
6111//    }
6112//
6113// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUniqueProblems
6114func (c *DeviceFarm) ListUniqueProblemsRequest(input *ListUniqueProblemsInput) (req *request.Request, output *ListUniqueProblemsOutput) {
6115	op := &request.Operation{
6116		Name:       opListUniqueProblems,
6117		HTTPMethod: "POST",
6118		HTTPPath:   "/",
6119		Paginator: &request.Paginator{
6120			InputTokens:     []string{"nextToken"},
6121			OutputTokens:    []string{"nextToken"},
6122			LimitToken:      "",
6123			TruncationToken: "",
6124		},
6125	}
6126
6127	if input == nil {
6128		input = &ListUniqueProblemsInput{}
6129	}
6130
6131	output = &ListUniqueProblemsOutput{}
6132	req = c.newRequest(op, input, output)
6133	return
6134}
6135
6136// ListUniqueProblems API operation for AWS Device Farm.
6137//
6138// Gets information about unique problems, such as exceptions or crashes.
6139//
6140// Unique problems are defined as a single instance of an error across a run,
6141// job, or suite. For example, if a call in your application consistently raises
6142// an exception (OutOfBoundsException in MyActivity.java:386), ListUniqueProblems
6143// returns a single entry instead of many individual entries for that exception.
6144//
6145// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6146// with awserr.Error's Code and Message methods to get detailed information about
6147// the error.
6148//
6149// See the AWS API reference guide for AWS Device Farm's
6150// API operation ListUniqueProblems for usage and error information.
6151//
6152// Returned Error Types:
6153//   * ArgumentException
6154//   An invalid argument was specified.
6155//
6156//   * NotFoundException
6157//   The specified entity was not found.
6158//
6159//   * LimitExceededException
6160//   A limit was exceeded.
6161//
6162//   * ServiceAccountException
6163//   There was a problem with the service account.
6164//
6165// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUniqueProblems
6166func (c *DeviceFarm) ListUniqueProblems(input *ListUniqueProblemsInput) (*ListUniqueProblemsOutput, error) {
6167	req, out := c.ListUniqueProblemsRequest(input)
6168	return out, req.Send()
6169}
6170
6171// ListUniqueProblemsWithContext is the same as ListUniqueProblems with the addition of
6172// the ability to pass a context and additional request options.
6173//
6174// See ListUniqueProblems for details on how to use this API operation.
6175//
6176// The context must be non-nil and will be used for request cancellation. If
6177// the context is nil a panic will occur. In the future the SDK may create
6178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6179// for more information on using Contexts.
6180func (c *DeviceFarm) ListUniqueProblemsWithContext(ctx aws.Context, input *ListUniqueProblemsInput, opts ...request.Option) (*ListUniqueProblemsOutput, error) {
6181	req, out := c.ListUniqueProblemsRequest(input)
6182	req.SetContext(ctx)
6183	req.ApplyOptions(opts...)
6184	return out, req.Send()
6185}
6186
6187// ListUniqueProblemsPages iterates over the pages of a ListUniqueProblems operation,
6188// calling the "fn" function with the response data for each page. To stop
6189// iterating, return false from the fn function.
6190//
6191// See ListUniqueProblems method for more information on how to use this operation.
6192//
6193// Note: This operation can generate multiple requests to a service.
6194//
6195//    // Example iterating over at most 3 pages of a ListUniqueProblems operation.
6196//    pageNum := 0
6197//    err := client.ListUniqueProblemsPages(params,
6198//        func(page *devicefarm.ListUniqueProblemsOutput, lastPage bool) bool {
6199//            pageNum++
6200//            fmt.Println(page)
6201//            return pageNum <= 3
6202//        })
6203//
6204func (c *DeviceFarm) ListUniqueProblemsPages(input *ListUniqueProblemsInput, fn func(*ListUniqueProblemsOutput, bool) bool) error {
6205	return c.ListUniqueProblemsPagesWithContext(aws.BackgroundContext(), input, fn)
6206}
6207
6208// ListUniqueProblemsPagesWithContext same as ListUniqueProblemsPages except
6209// it takes a Context and allows setting request options on the pages.
6210//
6211// The context must be non-nil and will be used for request cancellation. If
6212// the context is nil a panic will occur. In the future the SDK may create
6213// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6214// for more information on using Contexts.
6215func (c *DeviceFarm) ListUniqueProblemsPagesWithContext(ctx aws.Context, input *ListUniqueProblemsInput, fn func(*ListUniqueProblemsOutput, bool) bool, opts ...request.Option) error {
6216	p := request.Pagination{
6217		NewRequest: func() (*request.Request, error) {
6218			var inCpy *ListUniqueProblemsInput
6219			if input != nil {
6220				tmp := *input
6221				inCpy = &tmp
6222			}
6223			req, _ := c.ListUniqueProblemsRequest(inCpy)
6224			req.SetContext(ctx)
6225			req.ApplyOptions(opts...)
6226			return req, nil
6227		},
6228	}
6229
6230	for p.Next() {
6231		if !fn(p.Page().(*ListUniqueProblemsOutput), !p.HasNextPage()) {
6232			break
6233		}
6234	}
6235
6236	return p.Err()
6237}
6238
6239const opListUploads = "ListUploads"
6240
6241// ListUploadsRequest generates a "aws/request.Request" representing the
6242// client's request for the ListUploads operation. The "output" return
6243// value will be populated with the request's response once the request completes
6244// successfully.
6245//
6246// Use "Send" method on the returned Request to send the API call to the service.
6247// the "output" return value is not valid until after Send returns without error.
6248//
6249// See ListUploads for more information on using the ListUploads
6250// API call, and error handling.
6251//
6252// This method is useful when you want to inject custom logic or configuration
6253// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6254//
6255//
6256//    // Example sending a request using the ListUploadsRequest method.
6257//    req, resp := client.ListUploadsRequest(params)
6258//
6259//    err := req.Send()
6260//    if err == nil { // resp is now filled
6261//        fmt.Println(resp)
6262//    }
6263//
6264// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUploads
6265func (c *DeviceFarm) ListUploadsRequest(input *ListUploadsInput) (req *request.Request, output *ListUploadsOutput) {
6266	op := &request.Operation{
6267		Name:       opListUploads,
6268		HTTPMethod: "POST",
6269		HTTPPath:   "/",
6270		Paginator: &request.Paginator{
6271			InputTokens:     []string{"nextToken"},
6272			OutputTokens:    []string{"nextToken"},
6273			LimitToken:      "",
6274			TruncationToken: "",
6275		},
6276	}
6277
6278	if input == nil {
6279		input = &ListUploadsInput{}
6280	}
6281
6282	output = &ListUploadsOutput{}
6283	req = c.newRequest(op, input, output)
6284	return
6285}
6286
6287// ListUploads API operation for AWS Device Farm.
6288//
6289// Gets information about uploads, given an AWS Device Farm project ARN.
6290//
6291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6292// with awserr.Error's Code and Message methods to get detailed information about
6293// the error.
6294//
6295// See the AWS API reference guide for AWS Device Farm's
6296// API operation ListUploads for usage and error information.
6297//
6298// Returned Error Types:
6299//   * ArgumentException
6300//   An invalid argument was specified.
6301//
6302//   * NotFoundException
6303//   The specified entity was not found.
6304//
6305//   * LimitExceededException
6306//   A limit was exceeded.
6307//
6308//   * ServiceAccountException
6309//   There was a problem with the service account.
6310//
6311// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListUploads
6312func (c *DeviceFarm) ListUploads(input *ListUploadsInput) (*ListUploadsOutput, error) {
6313	req, out := c.ListUploadsRequest(input)
6314	return out, req.Send()
6315}
6316
6317// ListUploadsWithContext is the same as ListUploads with the addition of
6318// the ability to pass a context and additional request options.
6319//
6320// See ListUploads for details on how to use this API operation.
6321//
6322// The context must be non-nil and will be used for request cancellation. If
6323// the context is nil a panic will occur. In the future the SDK may create
6324// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6325// for more information on using Contexts.
6326func (c *DeviceFarm) ListUploadsWithContext(ctx aws.Context, input *ListUploadsInput, opts ...request.Option) (*ListUploadsOutput, error) {
6327	req, out := c.ListUploadsRequest(input)
6328	req.SetContext(ctx)
6329	req.ApplyOptions(opts...)
6330	return out, req.Send()
6331}
6332
6333// ListUploadsPages iterates over the pages of a ListUploads operation,
6334// calling the "fn" function with the response data for each page. To stop
6335// iterating, return false from the fn function.
6336//
6337// See ListUploads method for more information on how to use this operation.
6338//
6339// Note: This operation can generate multiple requests to a service.
6340//
6341//    // Example iterating over at most 3 pages of a ListUploads operation.
6342//    pageNum := 0
6343//    err := client.ListUploadsPages(params,
6344//        func(page *devicefarm.ListUploadsOutput, lastPage bool) bool {
6345//            pageNum++
6346//            fmt.Println(page)
6347//            return pageNum <= 3
6348//        })
6349//
6350func (c *DeviceFarm) ListUploadsPages(input *ListUploadsInput, fn func(*ListUploadsOutput, bool) bool) error {
6351	return c.ListUploadsPagesWithContext(aws.BackgroundContext(), input, fn)
6352}
6353
6354// ListUploadsPagesWithContext same as ListUploadsPages except
6355// it takes a Context and allows setting request options on the pages.
6356//
6357// The context must be non-nil and will be used for request cancellation. If
6358// the context is nil a panic will occur. In the future the SDK may create
6359// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6360// for more information on using Contexts.
6361func (c *DeviceFarm) ListUploadsPagesWithContext(ctx aws.Context, input *ListUploadsInput, fn func(*ListUploadsOutput, bool) bool, opts ...request.Option) error {
6362	p := request.Pagination{
6363		NewRequest: func() (*request.Request, error) {
6364			var inCpy *ListUploadsInput
6365			if input != nil {
6366				tmp := *input
6367				inCpy = &tmp
6368			}
6369			req, _ := c.ListUploadsRequest(inCpy)
6370			req.SetContext(ctx)
6371			req.ApplyOptions(opts...)
6372			return req, nil
6373		},
6374	}
6375
6376	for p.Next() {
6377		if !fn(p.Page().(*ListUploadsOutput), !p.HasNextPage()) {
6378			break
6379		}
6380	}
6381
6382	return p.Err()
6383}
6384
6385const opListVPCEConfigurations = "ListVPCEConfigurations"
6386
6387// ListVPCEConfigurationsRequest generates a "aws/request.Request" representing the
6388// client's request for the ListVPCEConfigurations operation. The "output" return
6389// value will be populated with the request's response once the request completes
6390// successfully.
6391//
6392// Use "Send" method on the returned Request to send the API call to the service.
6393// the "output" return value is not valid until after Send returns without error.
6394//
6395// See ListVPCEConfigurations for more information on using the ListVPCEConfigurations
6396// API call, and error handling.
6397//
6398// This method is useful when you want to inject custom logic or configuration
6399// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6400//
6401//
6402//    // Example sending a request using the ListVPCEConfigurationsRequest method.
6403//    req, resp := client.ListVPCEConfigurationsRequest(params)
6404//
6405//    err := req.Send()
6406//    if err == nil { // resp is now filled
6407//        fmt.Println(resp)
6408//    }
6409//
6410// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListVPCEConfigurations
6411func (c *DeviceFarm) ListVPCEConfigurationsRequest(input *ListVPCEConfigurationsInput) (req *request.Request, output *ListVPCEConfigurationsOutput) {
6412	op := &request.Operation{
6413		Name:       opListVPCEConfigurations,
6414		HTTPMethod: "POST",
6415		HTTPPath:   "/",
6416	}
6417
6418	if input == nil {
6419		input = &ListVPCEConfigurationsInput{}
6420	}
6421
6422	output = &ListVPCEConfigurationsOutput{}
6423	req = c.newRequest(op, input, output)
6424	return
6425}
6426
6427// ListVPCEConfigurations API operation for AWS Device Farm.
6428//
6429// Returns information about all Amazon Virtual Private Cloud (VPC) endpoint
6430// configurations in the AWS account.
6431//
6432// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6433// with awserr.Error's Code and Message methods to get detailed information about
6434// the error.
6435//
6436// See the AWS API reference guide for AWS Device Farm's
6437// API operation ListVPCEConfigurations for usage and error information.
6438//
6439// Returned Error Types:
6440//   * ArgumentException
6441//   An invalid argument was specified.
6442//
6443//   * ServiceAccountException
6444//   There was a problem with the service account.
6445//
6446// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ListVPCEConfigurations
6447func (c *DeviceFarm) ListVPCEConfigurations(input *ListVPCEConfigurationsInput) (*ListVPCEConfigurationsOutput, error) {
6448	req, out := c.ListVPCEConfigurationsRequest(input)
6449	return out, req.Send()
6450}
6451
6452// ListVPCEConfigurationsWithContext is the same as ListVPCEConfigurations with the addition of
6453// the ability to pass a context and additional request options.
6454//
6455// See ListVPCEConfigurations for details on how to use this API operation.
6456//
6457// The context must be non-nil and will be used for request cancellation. If
6458// the context is nil a panic will occur. In the future the SDK may create
6459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6460// for more information on using Contexts.
6461func (c *DeviceFarm) ListVPCEConfigurationsWithContext(ctx aws.Context, input *ListVPCEConfigurationsInput, opts ...request.Option) (*ListVPCEConfigurationsOutput, error) {
6462	req, out := c.ListVPCEConfigurationsRequest(input)
6463	req.SetContext(ctx)
6464	req.ApplyOptions(opts...)
6465	return out, req.Send()
6466}
6467
6468const opPurchaseOffering = "PurchaseOffering"
6469
6470// PurchaseOfferingRequest generates a "aws/request.Request" representing the
6471// client's request for the PurchaseOffering operation. The "output" return
6472// value will be populated with the request's response once the request completes
6473// successfully.
6474//
6475// Use "Send" method on the returned Request to send the API call to the service.
6476// the "output" return value is not valid until after Send returns without error.
6477//
6478// See PurchaseOffering for more information on using the PurchaseOffering
6479// API call, and error handling.
6480//
6481// This method is useful when you want to inject custom logic or configuration
6482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6483//
6484//
6485//    // Example sending a request using the PurchaseOfferingRequest method.
6486//    req, resp := client.PurchaseOfferingRequest(params)
6487//
6488//    err := req.Send()
6489//    if err == nil { // resp is now filled
6490//        fmt.Println(resp)
6491//    }
6492//
6493// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/PurchaseOffering
6494func (c *DeviceFarm) PurchaseOfferingRequest(input *PurchaseOfferingInput) (req *request.Request, output *PurchaseOfferingOutput) {
6495	op := &request.Operation{
6496		Name:       opPurchaseOffering,
6497		HTTPMethod: "POST",
6498		HTTPPath:   "/",
6499	}
6500
6501	if input == nil {
6502		input = &PurchaseOfferingInput{}
6503	}
6504
6505	output = &PurchaseOfferingOutput{}
6506	req = c.newRequest(op, input, output)
6507	return
6508}
6509
6510// PurchaseOffering API operation for AWS Device Farm.
6511//
6512// Immediately purchases offerings for an AWS account. Offerings renew with
6513// the latest total purchased quantity for an offering, unless the renewal was
6514// overridden. The API returns a NotEligible error if the user is not permitted
6515// to invoke the operation. If you must be able to invoke this operation, contact
6516// aws-devicefarm-support@amazon.com (mailto:aws-devicefarm-support@amazon.com).
6517//
6518// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6519// with awserr.Error's Code and Message methods to get detailed information about
6520// the error.
6521//
6522// See the AWS API reference guide for AWS Device Farm's
6523// API operation PurchaseOffering for usage and error information.
6524//
6525// Returned Error Types:
6526//   * ArgumentException
6527//   An invalid argument was specified.
6528//
6529//   * NotFoundException
6530//   The specified entity was not found.
6531//
6532//   * NotEligibleException
6533//   Exception gets thrown when a user is not eligible to perform the specified
6534//   transaction.
6535//
6536//   * LimitExceededException
6537//   A limit was exceeded.
6538//
6539//   * ServiceAccountException
6540//   There was a problem with the service account.
6541//
6542// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/PurchaseOffering
6543func (c *DeviceFarm) PurchaseOffering(input *PurchaseOfferingInput) (*PurchaseOfferingOutput, error) {
6544	req, out := c.PurchaseOfferingRequest(input)
6545	return out, req.Send()
6546}
6547
6548// PurchaseOfferingWithContext is the same as PurchaseOffering with the addition of
6549// the ability to pass a context and additional request options.
6550//
6551// See PurchaseOffering for details on how to use this API operation.
6552//
6553// The context must be non-nil and will be used for request cancellation. If
6554// the context is nil a panic will occur. In the future the SDK may create
6555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6556// for more information on using Contexts.
6557func (c *DeviceFarm) PurchaseOfferingWithContext(ctx aws.Context, input *PurchaseOfferingInput, opts ...request.Option) (*PurchaseOfferingOutput, error) {
6558	req, out := c.PurchaseOfferingRequest(input)
6559	req.SetContext(ctx)
6560	req.ApplyOptions(opts...)
6561	return out, req.Send()
6562}
6563
6564const opRenewOffering = "RenewOffering"
6565
6566// RenewOfferingRequest generates a "aws/request.Request" representing the
6567// client's request for the RenewOffering operation. The "output" return
6568// value will be populated with the request's response once the request completes
6569// successfully.
6570//
6571// Use "Send" method on the returned Request to send the API call to the service.
6572// the "output" return value is not valid until after Send returns without error.
6573//
6574// See RenewOffering for more information on using the RenewOffering
6575// API call, and error handling.
6576//
6577// This method is useful when you want to inject custom logic or configuration
6578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6579//
6580//
6581//    // Example sending a request using the RenewOfferingRequest method.
6582//    req, resp := client.RenewOfferingRequest(params)
6583//
6584//    err := req.Send()
6585//    if err == nil { // resp is now filled
6586//        fmt.Println(resp)
6587//    }
6588//
6589// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RenewOffering
6590func (c *DeviceFarm) RenewOfferingRequest(input *RenewOfferingInput) (req *request.Request, output *RenewOfferingOutput) {
6591	op := &request.Operation{
6592		Name:       opRenewOffering,
6593		HTTPMethod: "POST",
6594		HTTPPath:   "/",
6595	}
6596
6597	if input == nil {
6598		input = &RenewOfferingInput{}
6599	}
6600
6601	output = &RenewOfferingOutput{}
6602	req = c.newRequest(op, input, output)
6603	return
6604}
6605
6606// RenewOffering API operation for AWS Device Farm.
6607//
6608// Explicitly sets the quantity of devices to renew for an offering, starting
6609// from the effectiveDate of the next period. The API returns a NotEligible
6610// error if the user is not permitted to invoke the operation. If you must be
6611// able to invoke this operation, contact aws-devicefarm-support@amazon.com
6612// (mailto:aws-devicefarm-support@amazon.com).
6613//
6614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6615// with awserr.Error's Code and Message methods to get detailed information about
6616// the error.
6617//
6618// See the AWS API reference guide for AWS Device Farm's
6619// API operation RenewOffering for usage and error information.
6620//
6621// Returned Error Types:
6622//   * ArgumentException
6623//   An invalid argument was specified.
6624//
6625//   * NotFoundException
6626//   The specified entity was not found.
6627//
6628//   * NotEligibleException
6629//   Exception gets thrown when a user is not eligible to perform the specified
6630//   transaction.
6631//
6632//   * LimitExceededException
6633//   A limit was exceeded.
6634//
6635//   * ServiceAccountException
6636//   There was a problem with the service account.
6637//
6638// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/RenewOffering
6639func (c *DeviceFarm) RenewOffering(input *RenewOfferingInput) (*RenewOfferingOutput, error) {
6640	req, out := c.RenewOfferingRequest(input)
6641	return out, req.Send()
6642}
6643
6644// RenewOfferingWithContext is the same as RenewOffering with the addition of
6645// the ability to pass a context and additional request options.
6646//
6647// See RenewOffering for details on how to use this API operation.
6648//
6649// The context must be non-nil and will be used for request cancellation. If
6650// the context is nil a panic will occur. In the future the SDK may create
6651// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6652// for more information on using Contexts.
6653func (c *DeviceFarm) RenewOfferingWithContext(ctx aws.Context, input *RenewOfferingInput, opts ...request.Option) (*RenewOfferingOutput, error) {
6654	req, out := c.RenewOfferingRequest(input)
6655	req.SetContext(ctx)
6656	req.ApplyOptions(opts...)
6657	return out, req.Send()
6658}
6659
6660const opScheduleRun = "ScheduleRun"
6661
6662// ScheduleRunRequest generates a "aws/request.Request" representing the
6663// client's request for the ScheduleRun operation. The "output" return
6664// value will be populated with the request's response once the request completes
6665// successfully.
6666//
6667// Use "Send" method on the returned Request to send the API call to the service.
6668// the "output" return value is not valid until after Send returns without error.
6669//
6670// See ScheduleRun for more information on using the ScheduleRun
6671// API call, and error handling.
6672//
6673// This method is useful when you want to inject custom logic or configuration
6674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6675//
6676//
6677//    // Example sending a request using the ScheduleRunRequest method.
6678//    req, resp := client.ScheduleRunRequest(params)
6679//
6680//    err := req.Send()
6681//    if err == nil { // resp is now filled
6682//        fmt.Println(resp)
6683//    }
6684//
6685// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRun
6686func (c *DeviceFarm) ScheduleRunRequest(input *ScheduleRunInput) (req *request.Request, output *ScheduleRunOutput) {
6687	op := &request.Operation{
6688		Name:       opScheduleRun,
6689		HTTPMethod: "POST",
6690		HTTPPath:   "/",
6691	}
6692
6693	if input == nil {
6694		input = &ScheduleRunInput{}
6695	}
6696
6697	output = &ScheduleRunOutput{}
6698	req = c.newRequest(op, input, output)
6699	return
6700}
6701
6702// ScheduleRun API operation for AWS Device Farm.
6703//
6704// Schedules a run.
6705//
6706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6707// with awserr.Error's Code and Message methods to get detailed information about
6708// the error.
6709//
6710// See the AWS API reference guide for AWS Device Farm's
6711// API operation ScheduleRun for usage and error information.
6712//
6713// Returned Error Types:
6714//   * ArgumentException
6715//   An invalid argument was specified.
6716//
6717//   * NotFoundException
6718//   The specified entity was not found.
6719//
6720//   * LimitExceededException
6721//   A limit was exceeded.
6722//
6723//   * IdempotencyException
6724//   An entity with the same name already exists.
6725//
6726//   * ServiceAccountException
6727//   There was a problem with the service account.
6728//
6729// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/ScheduleRun
6730func (c *DeviceFarm) ScheduleRun(input *ScheduleRunInput) (*ScheduleRunOutput, error) {
6731	req, out := c.ScheduleRunRequest(input)
6732	return out, req.Send()
6733}
6734
6735// ScheduleRunWithContext is the same as ScheduleRun with the addition of
6736// the ability to pass a context and additional request options.
6737//
6738// See ScheduleRun for details on how to use this API operation.
6739//
6740// The context must be non-nil and will be used for request cancellation. If
6741// the context is nil a panic will occur. In the future the SDK may create
6742// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6743// for more information on using Contexts.
6744func (c *DeviceFarm) ScheduleRunWithContext(ctx aws.Context, input *ScheduleRunInput, opts ...request.Option) (*ScheduleRunOutput, error) {
6745	req, out := c.ScheduleRunRequest(input)
6746	req.SetContext(ctx)
6747	req.ApplyOptions(opts...)
6748	return out, req.Send()
6749}
6750
6751const opStopJob = "StopJob"
6752
6753// StopJobRequest generates a "aws/request.Request" representing the
6754// client's request for the StopJob operation. The "output" return
6755// value will be populated with the request's response once the request completes
6756// successfully.
6757//
6758// Use "Send" method on the returned Request to send the API call to the service.
6759// the "output" return value is not valid until after Send returns without error.
6760//
6761// See StopJob for more information on using the StopJob
6762// API call, and error handling.
6763//
6764// This method is useful when you want to inject custom logic or configuration
6765// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6766//
6767//
6768//    // Example sending a request using the StopJobRequest method.
6769//    req, resp := client.StopJobRequest(params)
6770//
6771//    err := req.Send()
6772//    if err == nil { // resp is now filled
6773//        fmt.Println(resp)
6774//    }
6775//
6776// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopJob
6777func (c *DeviceFarm) StopJobRequest(input *StopJobInput) (req *request.Request, output *StopJobOutput) {
6778	op := &request.Operation{
6779		Name:       opStopJob,
6780		HTTPMethod: "POST",
6781		HTTPPath:   "/",
6782	}
6783
6784	if input == nil {
6785		input = &StopJobInput{}
6786	}
6787
6788	output = &StopJobOutput{}
6789	req = c.newRequest(op, input, output)
6790	return
6791}
6792
6793// StopJob API operation for AWS Device Farm.
6794//
6795// Initiates a stop request for the current job. AWS Device Farm immediately
6796// stops the job on the device where tests have not started. You are not billed
6797// for this device. On the device where tests have started, setup suite and
6798// teardown suite tests run to completion on the device. You are billed for
6799// setup, teardown, and any tests that were in progress or already completed.
6800//
6801// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6802// with awserr.Error's Code and Message methods to get detailed information about
6803// the error.
6804//
6805// See the AWS API reference guide for AWS Device Farm's
6806// API operation StopJob for usage and error information.
6807//
6808// Returned Error Types:
6809//   * ArgumentException
6810//   An invalid argument was specified.
6811//
6812//   * NotFoundException
6813//   The specified entity was not found.
6814//
6815//   * LimitExceededException
6816//   A limit was exceeded.
6817//
6818//   * ServiceAccountException
6819//   There was a problem with the service account.
6820//
6821// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopJob
6822func (c *DeviceFarm) StopJob(input *StopJobInput) (*StopJobOutput, error) {
6823	req, out := c.StopJobRequest(input)
6824	return out, req.Send()
6825}
6826
6827// StopJobWithContext is the same as StopJob with the addition of
6828// the ability to pass a context and additional request options.
6829//
6830// See StopJob for details on how to use this API operation.
6831//
6832// The context must be non-nil and will be used for request cancellation. If
6833// the context is nil a panic will occur. In the future the SDK may create
6834// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6835// for more information on using Contexts.
6836func (c *DeviceFarm) StopJobWithContext(ctx aws.Context, input *StopJobInput, opts ...request.Option) (*StopJobOutput, error) {
6837	req, out := c.StopJobRequest(input)
6838	req.SetContext(ctx)
6839	req.ApplyOptions(opts...)
6840	return out, req.Send()
6841}
6842
6843const opStopRemoteAccessSession = "StopRemoteAccessSession"
6844
6845// StopRemoteAccessSessionRequest generates a "aws/request.Request" representing the
6846// client's request for the StopRemoteAccessSession operation. The "output" return
6847// value will be populated with the request's response once the request completes
6848// successfully.
6849//
6850// Use "Send" method on the returned Request to send the API call to the service.
6851// the "output" return value is not valid until after Send returns without error.
6852//
6853// See StopRemoteAccessSession for more information on using the StopRemoteAccessSession
6854// API call, and error handling.
6855//
6856// This method is useful when you want to inject custom logic or configuration
6857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6858//
6859//
6860//    // Example sending a request using the StopRemoteAccessSessionRequest method.
6861//    req, resp := client.StopRemoteAccessSessionRequest(params)
6862//
6863//    err := req.Send()
6864//    if err == nil { // resp is now filled
6865//        fmt.Println(resp)
6866//    }
6867//
6868// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRemoteAccessSession
6869func (c *DeviceFarm) StopRemoteAccessSessionRequest(input *StopRemoteAccessSessionInput) (req *request.Request, output *StopRemoteAccessSessionOutput) {
6870	op := &request.Operation{
6871		Name:       opStopRemoteAccessSession,
6872		HTTPMethod: "POST",
6873		HTTPPath:   "/",
6874	}
6875
6876	if input == nil {
6877		input = &StopRemoteAccessSessionInput{}
6878	}
6879
6880	output = &StopRemoteAccessSessionOutput{}
6881	req = c.newRequest(op, input, output)
6882	return
6883}
6884
6885// StopRemoteAccessSession API operation for AWS Device Farm.
6886//
6887// Ends a specified remote access session.
6888//
6889// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6890// with awserr.Error's Code and Message methods to get detailed information about
6891// the error.
6892//
6893// See the AWS API reference guide for AWS Device Farm's
6894// API operation StopRemoteAccessSession for usage and error information.
6895//
6896// Returned Error Types:
6897//   * ArgumentException
6898//   An invalid argument was specified.
6899//
6900//   * NotFoundException
6901//   The specified entity was not found.
6902//
6903//   * LimitExceededException
6904//   A limit was exceeded.
6905//
6906//   * ServiceAccountException
6907//   There was a problem with the service account.
6908//
6909// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRemoteAccessSession
6910func (c *DeviceFarm) StopRemoteAccessSession(input *StopRemoteAccessSessionInput) (*StopRemoteAccessSessionOutput, error) {
6911	req, out := c.StopRemoteAccessSessionRequest(input)
6912	return out, req.Send()
6913}
6914
6915// StopRemoteAccessSessionWithContext is the same as StopRemoteAccessSession with the addition of
6916// the ability to pass a context and additional request options.
6917//
6918// See StopRemoteAccessSession for details on how to use this API operation.
6919//
6920// The context must be non-nil and will be used for request cancellation. If
6921// the context is nil a panic will occur. In the future the SDK may create
6922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6923// for more information on using Contexts.
6924func (c *DeviceFarm) StopRemoteAccessSessionWithContext(ctx aws.Context, input *StopRemoteAccessSessionInput, opts ...request.Option) (*StopRemoteAccessSessionOutput, error) {
6925	req, out := c.StopRemoteAccessSessionRequest(input)
6926	req.SetContext(ctx)
6927	req.ApplyOptions(opts...)
6928	return out, req.Send()
6929}
6930
6931const opStopRun = "StopRun"
6932
6933// StopRunRequest generates a "aws/request.Request" representing the
6934// client's request for the StopRun operation. The "output" return
6935// value will be populated with the request's response once the request completes
6936// successfully.
6937//
6938// Use "Send" method on the returned Request to send the API call to the service.
6939// the "output" return value is not valid until after Send returns without error.
6940//
6941// See StopRun for more information on using the StopRun
6942// API call, and error handling.
6943//
6944// This method is useful when you want to inject custom logic or configuration
6945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6946//
6947//
6948//    // Example sending a request using the StopRunRequest method.
6949//    req, resp := client.StopRunRequest(params)
6950//
6951//    err := req.Send()
6952//    if err == nil { // resp is now filled
6953//        fmt.Println(resp)
6954//    }
6955//
6956// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRun
6957func (c *DeviceFarm) StopRunRequest(input *StopRunInput) (req *request.Request, output *StopRunOutput) {
6958	op := &request.Operation{
6959		Name:       opStopRun,
6960		HTTPMethod: "POST",
6961		HTTPPath:   "/",
6962	}
6963
6964	if input == nil {
6965		input = &StopRunInput{}
6966	}
6967
6968	output = &StopRunOutput{}
6969	req = c.newRequest(op, input, output)
6970	return
6971}
6972
6973// StopRun API operation for AWS Device Farm.
6974//
6975// Initiates a stop request for the current test run. AWS Device Farm immediately
6976// stops the run on devices where tests have not started. You are not billed
6977// for these devices. On devices where tests have started executing, setup suite
6978// and teardown suite tests run to completion on those devices. You are billed
6979// for setup, teardown, and any tests that were in progress or already completed.
6980//
6981// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6982// with awserr.Error's Code and Message methods to get detailed information about
6983// the error.
6984//
6985// See the AWS API reference guide for AWS Device Farm's
6986// API operation StopRun for usage and error information.
6987//
6988// Returned Error Types:
6989//   * ArgumentException
6990//   An invalid argument was specified.
6991//
6992//   * NotFoundException
6993//   The specified entity was not found.
6994//
6995//   * LimitExceededException
6996//   A limit was exceeded.
6997//
6998//   * ServiceAccountException
6999//   There was a problem with the service account.
7000//
7001// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/StopRun
7002func (c *DeviceFarm) StopRun(input *StopRunInput) (*StopRunOutput, error) {
7003	req, out := c.StopRunRequest(input)
7004	return out, req.Send()
7005}
7006
7007// StopRunWithContext is the same as StopRun with the addition of
7008// the ability to pass a context and additional request options.
7009//
7010// See StopRun for details on how to use this API operation.
7011//
7012// The context must be non-nil and will be used for request cancellation. If
7013// the context is nil a panic will occur. In the future the SDK may create
7014// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7015// for more information on using Contexts.
7016func (c *DeviceFarm) StopRunWithContext(ctx aws.Context, input *StopRunInput, opts ...request.Option) (*StopRunOutput, error) {
7017	req, out := c.StopRunRequest(input)
7018	req.SetContext(ctx)
7019	req.ApplyOptions(opts...)
7020	return out, req.Send()
7021}
7022
7023const opTagResource = "TagResource"
7024
7025// TagResourceRequest generates a "aws/request.Request" representing the
7026// client's request for the TagResource operation. The "output" return
7027// value will be populated with the request's response once the request completes
7028// successfully.
7029//
7030// Use "Send" method on the returned Request to send the API call to the service.
7031// the "output" return value is not valid until after Send returns without error.
7032//
7033// See TagResource for more information on using the TagResource
7034// API call, and error handling.
7035//
7036// This method is useful when you want to inject custom logic or configuration
7037// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7038//
7039//
7040//    // Example sending a request using the TagResourceRequest method.
7041//    req, resp := client.TagResourceRequest(params)
7042//
7043//    err := req.Send()
7044//    if err == nil { // resp is now filled
7045//        fmt.Println(resp)
7046//    }
7047//
7048// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/TagResource
7049func (c *DeviceFarm) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
7050	op := &request.Operation{
7051		Name:       opTagResource,
7052		HTTPMethod: "POST",
7053		HTTPPath:   "/",
7054	}
7055
7056	if input == nil {
7057		input = &TagResourceInput{}
7058	}
7059
7060	output = &TagResourceOutput{}
7061	req = c.newRequest(op, input, output)
7062	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7063	return
7064}
7065
7066// TagResource API operation for AWS Device Farm.
7067//
7068// Associates the specified tags to a resource with the specified resourceArn.
7069// If existing tags on a resource are not specified in the request parameters,
7070// they are not changed. When a resource is deleted, the tags associated with
7071// that resource are also deleted.
7072//
7073// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7074// with awserr.Error's Code and Message methods to get detailed information about
7075// the error.
7076//
7077// See the AWS API reference guide for AWS Device Farm's
7078// API operation TagResource for usage and error information.
7079//
7080// Returned Error Types:
7081//   * ArgumentException
7082//   An invalid argument was specified.
7083//
7084//   * NotFoundException
7085//   The specified entity was not found.
7086//
7087//   * TagOperationException
7088//   The operation was not successful. Try again.
7089//
7090//   * TooManyTagsException
7091//   The list of tags on the repository is over the limit. The maximum number
7092//   of tags that can be applied to a repository is 50.
7093//
7094//   * TagPolicyException
7095//   The request doesn't comply with the AWS Identity and Access Management (IAM)
7096//   tag policy. Correct your request and then retry it.
7097//
7098// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/TagResource
7099func (c *DeviceFarm) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
7100	req, out := c.TagResourceRequest(input)
7101	return out, req.Send()
7102}
7103
7104// TagResourceWithContext is the same as TagResource with the addition of
7105// the ability to pass a context and additional request options.
7106//
7107// See TagResource for details on how to use this API operation.
7108//
7109// The context must be non-nil and will be used for request cancellation. If
7110// the context is nil a panic will occur. In the future the SDK may create
7111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7112// for more information on using Contexts.
7113func (c *DeviceFarm) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
7114	req, out := c.TagResourceRequest(input)
7115	req.SetContext(ctx)
7116	req.ApplyOptions(opts...)
7117	return out, req.Send()
7118}
7119
7120const opUntagResource = "UntagResource"
7121
7122// UntagResourceRequest generates a "aws/request.Request" representing the
7123// client's request for the UntagResource operation. The "output" return
7124// value will be populated with the request's response once the request completes
7125// successfully.
7126//
7127// Use "Send" method on the returned Request to send the API call to the service.
7128// the "output" return value is not valid until after Send returns without error.
7129//
7130// See UntagResource for more information on using the UntagResource
7131// API call, and error handling.
7132//
7133// This method is useful when you want to inject custom logic or configuration
7134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7135//
7136//
7137//    // Example sending a request using the UntagResourceRequest method.
7138//    req, resp := client.UntagResourceRequest(params)
7139//
7140//    err := req.Send()
7141//    if err == nil { // resp is now filled
7142//        fmt.Println(resp)
7143//    }
7144//
7145// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UntagResource
7146func (c *DeviceFarm) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
7147	op := &request.Operation{
7148		Name:       opUntagResource,
7149		HTTPMethod: "POST",
7150		HTTPPath:   "/",
7151	}
7152
7153	if input == nil {
7154		input = &UntagResourceInput{}
7155	}
7156
7157	output = &UntagResourceOutput{}
7158	req = c.newRequest(op, input, output)
7159	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
7160	return
7161}
7162
7163// UntagResource API operation for AWS Device Farm.
7164//
7165// Deletes the specified tags from a resource.
7166//
7167// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7168// with awserr.Error's Code and Message methods to get detailed information about
7169// the error.
7170//
7171// See the AWS API reference guide for AWS Device Farm's
7172// API operation UntagResource for usage and error information.
7173//
7174// Returned Error Types:
7175//   * ArgumentException
7176//   An invalid argument was specified.
7177//
7178//   * NotFoundException
7179//   The specified entity was not found.
7180//
7181//   * TagOperationException
7182//   The operation was not successful. Try again.
7183//
7184// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UntagResource
7185func (c *DeviceFarm) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
7186	req, out := c.UntagResourceRequest(input)
7187	return out, req.Send()
7188}
7189
7190// UntagResourceWithContext is the same as UntagResource with the addition of
7191// the ability to pass a context and additional request options.
7192//
7193// See UntagResource for details on how to use this API operation.
7194//
7195// The context must be non-nil and will be used for request cancellation. If
7196// the context is nil a panic will occur. In the future the SDK may create
7197// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7198// for more information on using Contexts.
7199func (c *DeviceFarm) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
7200	req, out := c.UntagResourceRequest(input)
7201	req.SetContext(ctx)
7202	req.ApplyOptions(opts...)
7203	return out, req.Send()
7204}
7205
7206const opUpdateDeviceInstance = "UpdateDeviceInstance"
7207
7208// UpdateDeviceInstanceRequest generates a "aws/request.Request" representing the
7209// client's request for the UpdateDeviceInstance operation. The "output" return
7210// value will be populated with the request's response once the request completes
7211// successfully.
7212//
7213// Use "Send" method on the returned Request to send the API call to the service.
7214// the "output" return value is not valid until after Send returns without error.
7215//
7216// See UpdateDeviceInstance for more information on using the UpdateDeviceInstance
7217// API call, and error handling.
7218//
7219// This method is useful when you want to inject custom logic or configuration
7220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7221//
7222//
7223//    // Example sending a request using the UpdateDeviceInstanceRequest method.
7224//    req, resp := client.UpdateDeviceInstanceRequest(params)
7225//
7226//    err := req.Send()
7227//    if err == nil { // resp is now filled
7228//        fmt.Println(resp)
7229//    }
7230//
7231// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDeviceInstance
7232func (c *DeviceFarm) UpdateDeviceInstanceRequest(input *UpdateDeviceInstanceInput) (req *request.Request, output *UpdateDeviceInstanceOutput) {
7233	op := &request.Operation{
7234		Name:       opUpdateDeviceInstance,
7235		HTTPMethod: "POST",
7236		HTTPPath:   "/",
7237	}
7238
7239	if input == nil {
7240		input = &UpdateDeviceInstanceInput{}
7241	}
7242
7243	output = &UpdateDeviceInstanceOutput{}
7244	req = c.newRequest(op, input, output)
7245	return
7246}
7247
7248// UpdateDeviceInstance API operation for AWS Device Farm.
7249//
7250// Updates information about a private device instance.
7251//
7252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7253// with awserr.Error's Code and Message methods to get detailed information about
7254// the error.
7255//
7256// See the AWS API reference guide for AWS Device Farm's
7257// API operation UpdateDeviceInstance for usage and error information.
7258//
7259// Returned Error Types:
7260//   * ArgumentException
7261//   An invalid argument was specified.
7262//
7263//   * NotFoundException
7264//   The specified entity was not found.
7265//
7266//   * LimitExceededException
7267//   A limit was exceeded.
7268//
7269//   * ServiceAccountException
7270//   There was a problem with the service account.
7271//
7272// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDeviceInstance
7273func (c *DeviceFarm) UpdateDeviceInstance(input *UpdateDeviceInstanceInput) (*UpdateDeviceInstanceOutput, error) {
7274	req, out := c.UpdateDeviceInstanceRequest(input)
7275	return out, req.Send()
7276}
7277
7278// UpdateDeviceInstanceWithContext is the same as UpdateDeviceInstance with the addition of
7279// the ability to pass a context and additional request options.
7280//
7281// See UpdateDeviceInstance for details on how to use this API operation.
7282//
7283// The context must be non-nil and will be used for request cancellation. If
7284// the context is nil a panic will occur. In the future the SDK may create
7285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7286// for more information on using Contexts.
7287func (c *DeviceFarm) UpdateDeviceInstanceWithContext(ctx aws.Context, input *UpdateDeviceInstanceInput, opts ...request.Option) (*UpdateDeviceInstanceOutput, error) {
7288	req, out := c.UpdateDeviceInstanceRequest(input)
7289	req.SetContext(ctx)
7290	req.ApplyOptions(opts...)
7291	return out, req.Send()
7292}
7293
7294const opUpdateDevicePool = "UpdateDevicePool"
7295
7296// UpdateDevicePoolRequest generates a "aws/request.Request" representing the
7297// client's request for the UpdateDevicePool operation. The "output" return
7298// value will be populated with the request's response once the request completes
7299// successfully.
7300//
7301// Use "Send" method on the returned Request to send the API call to the service.
7302// the "output" return value is not valid until after Send returns without error.
7303//
7304// See UpdateDevicePool for more information on using the UpdateDevicePool
7305// API call, and error handling.
7306//
7307// This method is useful when you want to inject custom logic or configuration
7308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7309//
7310//
7311//    // Example sending a request using the UpdateDevicePoolRequest method.
7312//    req, resp := client.UpdateDevicePoolRequest(params)
7313//
7314//    err := req.Send()
7315//    if err == nil { // resp is now filled
7316//        fmt.Println(resp)
7317//    }
7318//
7319// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDevicePool
7320func (c *DeviceFarm) UpdateDevicePoolRequest(input *UpdateDevicePoolInput) (req *request.Request, output *UpdateDevicePoolOutput) {
7321	op := &request.Operation{
7322		Name:       opUpdateDevicePool,
7323		HTTPMethod: "POST",
7324		HTTPPath:   "/",
7325	}
7326
7327	if input == nil {
7328		input = &UpdateDevicePoolInput{}
7329	}
7330
7331	output = &UpdateDevicePoolOutput{}
7332	req = c.newRequest(op, input, output)
7333	return
7334}
7335
7336// UpdateDevicePool API operation for AWS Device Farm.
7337//
7338// Modifies the name, description, and rules in a device pool given the attributes
7339// and the pool ARN. Rule updates are all-or-nothing, meaning they can only
7340// be updated as a whole (or not at all).
7341//
7342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7343// with awserr.Error's Code and Message methods to get detailed information about
7344// the error.
7345//
7346// See the AWS API reference guide for AWS Device Farm's
7347// API operation UpdateDevicePool for usage and error information.
7348//
7349// Returned Error Types:
7350//   * ArgumentException
7351//   An invalid argument was specified.
7352//
7353//   * NotFoundException
7354//   The specified entity was not found.
7355//
7356//   * LimitExceededException
7357//   A limit was exceeded.
7358//
7359//   * ServiceAccountException
7360//   There was a problem with the service account.
7361//
7362// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateDevicePool
7363func (c *DeviceFarm) UpdateDevicePool(input *UpdateDevicePoolInput) (*UpdateDevicePoolOutput, error) {
7364	req, out := c.UpdateDevicePoolRequest(input)
7365	return out, req.Send()
7366}
7367
7368// UpdateDevicePoolWithContext is the same as UpdateDevicePool with the addition of
7369// the ability to pass a context and additional request options.
7370//
7371// See UpdateDevicePool for details on how to use this API operation.
7372//
7373// The context must be non-nil and will be used for request cancellation. If
7374// the context is nil a panic will occur. In the future the SDK may create
7375// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7376// for more information on using Contexts.
7377func (c *DeviceFarm) UpdateDevicePoolWithContext(ctx aws.Context, input *UpdateDevicePoolInput, opts ...request.Option) (*UpdateDevicePoolOutput, error) {
7378	req, out := c.UpdateDevicePoolRequest(input)
7379	req.SetContext(ctx)
7380	req.ApplyOptions(opts...)
7381	return out, req.Send()
7382}
7383
7384const opUpdateInstanceProfile = "UpdateInstanceProfile"
7385
7386// UpdateInstanceProfileRequest generates a "aws/request.Request" representing the
7387// client's request for the UpdateInstanceProfile operation. The "output" return
7388// value will be populated with the request's response once the request completes
7389// successfully.
7390//
7391// Use "Send" method on the returned Request to send the API call to the service.
7392// the "output" return value is not valid until after Send returns without error.
7393//
7394// See UpdateInstanceProfile for more information on using the UpdateInstanceProfile
7395// API call, and error handling.
7396//
7397// This method is useful when you want to inject custom logic or configuration
7398// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7399//
7400//
7401//    // Example sending a request using the UpdateInstanceProfileRequest method.
7402//    req, resp := client.UpdateInstanceProfileRequest(params)
7403//
7404//    err := req.Send()
7405//    if err == nil { // resp is now filled
7406//        fmt.Println(resp)
7407//    }
7408//
7409// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateInstanceProfile
7410func (c *DeviceFarm) UpdateInstanceProfileRequest(input *UpdateInstanceProfileInput) (req *request.Request, output *UpdateInstanceProfileOutput) {
7411	op := &request.Operation{
7412		Name:       opUpdateInstanceProfile,
7413		HTTPMethod: "POST",
7414		HTTPPath:   "/",
7415	}
7416
7417	if input == nil {
7418		input = &UpdateInstanceProfileInput{}
7419	}
7420
7421	output = &UpdateInstanceProfileOutput{}
7422	req = c.newRequest(op, input, output)
7423	return
7424}
7425
7426// UpdateInstanceProfile API operation for AWS Device Farm.
7427//
7428// Updates information about an existing private device instance profile.
7429//
7430// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7431// with awserr.Error's Code and Message methods to get detailed information about
7432// the error.
7433//
7434// See the AWS API reference guide for AWS Device Farm's
7435// API operation UpdateInstanceProfile for usage and error information.
7436//
7437// Returned Error Types:
7438//   * ArgumentException
7439//   An invalid argument was specified.
7440//
7441//   * NotFoundException
7442//   The specified entity was not found.
7443//
7444//   * LimitExceededException
7445//   A limit was exceeded.
7446//
7447//   * ServiceAccountException
7448//   There was a problem with the service account.
7449//
7450// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateInstanceProfile
7451func (c *DeviceFarm) UpdateInstanceProfile(input *UpdateInstanceProfileInput) (*UpdateInstanceProfileOutput, error) {
7452	req, out := c.UpdateInstanceProfileRequest(input)
7453	return out, req.Send()
7454}
7455
7456// UpdateInstanceProfileWithContext is the same as UpdateInstanceProfile with the addition of
7457// the ability to pass a context and additional request options.
7458//
7459// See UpdateInstanceProfile for details on how to use this API operation.
7460//
7461// The context must be non-nil and will be used for request cancellation. If
7462// the context is nil a panic will occur. In the future the SDK may create
7463// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7464// for more information on using Contexts.
7465func (c *DeviceFarm) UpdateInstanceProfileWithContext(ctx aws.Context, input *UpdateInstanceProfileInput, opts ...request.Option) (*UpdateInstanceProfileOutput, error) {
7466	req, out := c.UpdateInstanceProfileRequest(input)
7467	req.SetContext(ctx)
7468	req.ApplyOptions(opts...)
7469	return out, req.Send()
7470}
7471
7472const opUpdateNetworkProfile = "UpdateNetworkProfile"
7473
7474// UpdateNetworkProfileRequest generates a "aws/request.Request" representing the
7475// client's request for the UpdateNetworkProfile operation. The "output" return
7476// value will be populated with the request's response once the request completes
7477// successfully.
7478//
7479// Use "Send" method on the returned Request to send the API call to the service.
7480// the "output" return value is not valid until after Send returns without error.
7481//
7482// See UpdateNetworkProfile for more information on using the UpdateNetworkProfile
7483// API call, and error handling.
7484//
7485// This method is useful when you want to inject custom logic or configuration
7486// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7487//
7488//
7489//    // Example sending a request using the UpdateNetworkProfileRequest method.
7490//    req, resp := client.UpdateNetworkProfileRequest(params)
7491//
7492//    err := req.Send()
7493//    if err == nil { // resp is now filled
7494//        fmt.Println(resp)
7495//    }
7496//
7497// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateNetworkProfile
7498func (c *DeviceFarm) UpdateNetworkProfileRequest(input *UpdateNetworkProfileInput) (req *request.Request, output *UpdateNetworkProfileOutput) {
7499	op := &request.Operation{
7500		Name:       opUpdateNetworkProfile,
7501		HTTPMethod: "POST",
7502		HTTPPath:   "/",
7503	}
7504
7505	if input == nil {
7506		input = &UpdateNetworkProfileInput{}
7507	}
7508
7509	output = &UpdateNetworkProfileOutput{}
7510	req = c.newRequest(op, input, output)
7511	return
7512}
7513
7514// UpdateNetworkProfile API operation for AWS Device Farm.
7515//
7516// Updates the network profile.
7517//
7518// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7519// with awserr.Error's Code and Message methods to get detailed information about
7520// the error.
7521//
7522// See the AWS API reference guide for AWS Device Farm's
7523// API operation UpdateNetworkProfile for usage and error information.
7524//
7525// Returned Error Types:
7526//   * ArgumentException
7527//   An invalid argument was specified.
7528//
7529//   * NotFoundException
7530//   The specified entity was not found.
7531//
7532//   * LimitExceededException
7533//   A limit was exceeded.
7534//
7535//   * ServiceAccountException
7536//   There was a problem with the service account.
7537//
7538// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateNetworkProfile
7539func (c *DeviceFarm) UpdateNetworkProfile(input *UpdateNetworkProfileInput) (*UpdateNetworkProfileOutput, error) {
7540	req, out := c.UpdateNetworkProfileRequest(input)
7541	return out, req.Send()
7542}
7543
7544// UpdateNetworkProfileWithContext is the same as UpdateNetworkProfile with the addition of
7545// the ability to pass a context and additional request options.
7546//
7547// See UpdateNetworkProfile for details on how to use this API operation.
7548//
7549// The context must be non-nil and will be used for request cancellation. If
7550// the context is nil a panic will occur. In the future the SDK may create
7551// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7552// for more information on using Contexts.
7553func (c *DeviceFarm) UpdateNetworkProfileWithContext(ctx aws.Context, input *UpdateNetworkProfileInput, opts ...request.Option) (*UpdateNetworkProfileOutput, error) {
7554	req, out := c.UpdateNetworkProfileRequest(input)
7555	req.SetContext(ctx)
7556	req.ApplyOptions(opts...)
7557	return out, req.Send()
7558}
7559
7560const opUpdateProject = "UpdateProject"
7561
7562// UpdateProjectRequest generates a "aws/request.Request" representing the
7563// client's request for the UpdateProject operation. The "output" return
7564// value will be populated with the request's response once the request completes
7565// successfully.
7566//
7567// Use "Send" method on the returned Request to send the API call to the service.
7568// the "output" return value is not valid until after Send returns without error.
7569//
7570// See UpdateProject for more information on using the UpdateProject
7571// API call, and error handling.
7572//
7573// This method is useful when you want to inject custom logic or configuration
7574// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7575//
7576//
7577//    // Example sending a request using the UpdateProjectRequest method.
7578//    req, resp := client.UpdateProjectRequest(params)
7579//
7580//    err := req.Send()
7581//    if err == nil { // resp is now filled
7582//        fmt.Println(resp)
7583//    }
7584//
7585// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateProject
7586func (c *DeviceFarm) UpdateProjectRequest(input *UpdateProjectInput) (req *request.Request, output *UpdateProjectOutput) {
7587	op := &request.Operation{
7588		Name:       opUpdateProject,
7589		HTTPMethod: "POST",
7590		HTTPPath:   "/",
7591	}
7592
7593	if input == nil {
7594		input = &UpdateProjectInput{}
7595	}
7596
7597	output = &UpdateProjectOutput{}
7598	req = c.newRequest(op, input, output)
7599	return
7600}
7601
7602// UpdateProject API operation for AWS Device Farm.
7603//
7604// Modifies the specified project name, given the project ARN and a new name.
7605//
7606// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7607// with awserr.Error's Code and Message methods to get detailed information about
7608// the error.
7609//
7610// See the AWS API reference guide for AWS Device Farm's
7611// API operation UpdateProject for usage and error information.
7612//
7613// Returned Error Types:
7614//   * ArgumentException
7615//   An invalid argument was specified.
7616//
7617//   * NotFoundException
7618//   The specified entity was not found.
7619//
7620//   * LimitExceededException
7621//   A limit was exceeded.
7622//
7623//   * ServiceAccountException
7624//   There was a problem with the service account.
7625//
7626// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateProject
7627func (c *DeviceFarm) UpdateProject(input *UpdateProjectInput) (*UpdateProjectOutput, error) {
7628	req, out := c.UpdateProjectRequest(input)
7629	return out, req.Send()
7630}
7631
7632// UpdateProjectWithContext is the same as UpdateProject with the addition of
7633// the ability to pass a context and additional request options.
7634//
7635// See UpdateProject for details on how to use this API operation.
7636//
7637// The context must be non-nil and will be used for request cancellation. If
7638// the context is nil a panic will occur. In the future the SDK may create
7639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7640// for more information on using Contexts.
7641func (c *DeviceFarm) UpdateProjectWithContext(ctx aws.Context, input *UpdateProjectInput, opts ...request.Option) (*UpdateProjectOutput, error) {
7642	req, out := c.UpdateProjectRequest(input)
7643	req.SetContext(ctx)
7644	req.ApplyOptions(opts...)
7645	return out, req.Send()
7646}
7647
7648const opUpdateTestGridProject = "UpdateTestGridProject"
7649
7650// UpdateTestGridProjectRequest generates a "aws/request.Request" representing the
7651// client's request for the UpdateTestGridProject operation. The "output" return
7652// value will be populated with the request's response once the request completes
7653// successfully.
7654//
7655// Use "Send" method on the returned Request to send the API call to the service.
7656// the "output" return value is not valid until after Send returns without error.
7657//
7658// See UpdateTestGridProject for more information on using the UpdateTestGridProject
7659// API call, and error handling.
7660//
7661// This method is useful when you want to inject custom logic or configuration
7662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7663//
7664//
7665//    // Example sending a request using the UpdateTestGridProjectRequest method.
7666//    req, resp := client.UpdateTestGridProjectRequest(params)
7667//
7668//    err := req.Send()
7669//    if err == nil { // resp is now filled
7670//        fmt.Println(resp)
7671//    }
7672//
7673// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateTestGridProject
7674func (c *DeviceFarm) UpdateTestGridProjectRequest(input *UpdateTestGridProjectInput) (req *request.Request, output *UpdateTestGridProjectOutput) {
7675	op := &request.Operation{
7676		Name:       opUpdateTestGridProject,
7677		HTTPMethod: "POST",
7678		HTTPPath:   "/",
7679	}
7680
7681	if input == nil {
7682		input = &UpdateTestGridProjectInput{}
7683	}
7684
7685	output = &UpdateTestGridProjectOutput{}
7686	req = c.newRequest(op, input, output)
7687	return
7688}
7689
7690// UpdateTestGridProject API operation for AWS Device Farm.
7691//
7692// Change details of a project.
7693//
7694// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7695// with awserr.Error's Code and Message methods to get detailed information about
7696// the error.
7697//
7698// See the AWS API reference guide for AWS Device Farm's
7699// API operation UpdateTestGridProject for usage and error information.
7700//
7701// Returned Error Types:
7702//   * NotFoundException
7703//   The specified entity was not found.
7704//
7705//   * ArgumentException
7706//   An invalid argument was specified.
7707//
7708//   * InternalServiceException
7709//   An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
7710//   (mailto:aws-devicefarm-support@amazon.com) if you see this error.
7711//
7712// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateTestGridProject
7713func (c *DeviceFarm) UpdateTestGridProject(input *UpdateTestGridProjectInput) (*UpdateTestGridProjectOutput, error) {
7714	req, out := c.UpdateTestGridProjectRequest(input)
7715	return out, req.Send()
7716}
7717
7718// UpdateTestGridProjectWithContext is the same as UpdateTestGridProject with the addition of
7719// the ability to pass a context and additional request options.
7720//
7721// See UpdateTestGridProject for details on how to use this API operation.
7722//
7723// The context must be non-nil and will be used for request cancellation. If
7724// the context is nil a panic will occur. In the future the SDK may create
7725// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7726// for more information on using Contexts.
7727func (c *DeviceFarm) UpdateTestGridProjectWithContext(ctx aws.Context, input *UpdateTestGridProjectInput, opts ...request.Option) (*UpdateTestGridProjectOutput, error) {
7728	req, out := c.UpdateTestGridProjectRequest(input)
7729	req.SetContext(ctx)
7730	req.ApplyOptions(opts...)
7731	return out, req.Send()
7732}
7733
7734const opUpdateUpload = "UpdateUpload"
7735
7736// UpdateUploadRequest generates a "aws/request.Request" representing the
7737// client's request for the UpdateUpload operation. The "output" return
7738// value will be populated with the request's response once the request completes
7739// successfully.
7740//
7741// Use "Send" method on the returned Request to send the API call to the service.
7742// the "output" return value is not valid until after Send returns without error.
7743//
7744// See UpdateUpload for more information on using the UpdateUpload
7745// API call, and error handling.
7746//
7747// This method is useful when you want to inject custom logic or configuration
7748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7749//
7750//
7751//    // Example sending a request using the UpdateUploadRequest method.
7752//    req, resp := client.UpdateUploadRequest(params)
7753//
7754//    err := req.Send()
7755//    if err == nil { // resp is now filled
7756//        fmt.Println(resp)
7757//    }
7758//
7759// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateUpload
7760func (c *DeviceFarm) UpdateUploadRequest(input *UpdateUploadInput) (req *request.Request, output *UpdateUploadOutput) {
7761	op := &request.Operation{
7762		Name:       opUpdateUpload,
7763		HTTPMethod: "POST",
7764		HTTPPath:   "/",
7765	}
7766
7767	if input == nil {
7768		input = &UpdateUploadInput{}
7769	}
7770
7771	output = &UpdateUploadOutput{}
7772	req = c.newRequest(op, input, output)
7773	return
7774}
7775
7776// UpdateUpload API operation for AWS Device Farm.
7777//
7778// Updates an uploaded test spec.
7779//
7780// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7781// with awserr.Error's Code and Message methods to get detailed information about
7782// the error.
7783//
7784// See the AWS API reference guide for AWS Device Farm's
7785// API operation UpdateUpload for usage and error information.
7786//
7787// Returned Error Types:
7788//   * ArgumentException
7789//   An invalid argument was specified.
7790//
7791//   * NotFoundException
7792//   The specified entity was not found.
7793//
7794//   * LimitExceededException
7795//   A limit was exceeded.
7796//
7797//   * ServiceAccountException
7798//   There was a problem with the service account.
7799//
7800// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateUpload
7801func (c *DeviceFarm) UpdateUpload(input *UpdateUploadInput) (*UpdateUploadOutput, error) {
7802	req, out := c.UpdateUploadRequest(input)
7803	return out, req.Send()
7804}
7805
7806// UpdateUploadWithContext is the same as UpdateUpload with the addition of
7807// the ability to pass a context and additional request options.
7808//
7809// See UpdateUpload for details on how to use this API operation.
7810//
7811// The context must be non-nil and will be used for request cancellation. If
7812// the context is nil a panic will occur. In the future the SDK may create
7813// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7814// for more information on using Contexts.
7815func (c *DeviceFarm) UpdateUploadWithContext(ctx aws.Context, input *UpdateUploadInput, opts ...request.Option) (*UpdateUploadOutput, error) {
7816	req, out := c.UpdateUploadRequest(input)
7817	req.SetContext(ctx)
7818	req.ApplyOptions(opts...)
7819	return out, req.Send()
7820}
7821
7822const opUpdateVPCEConfiguration = "UpdateVPCEConfiguration"
7823
7824// UpdateVPCEConfigurationRequest generates a "aws/request.Request" representing the
7825// client's request for the UpdateVPCEConfiguration operation. The "output" return
7826// value will be populated with the request's response once the request completes
7827// successfully.
7828//
7829// Use "Send" method on the returned Request to send the API call to the service.
7830// the "output" return value is not valid until after Send returns without error.
7831//
7832// See UpdateVPCEConfiguration for more information on using the UpdateVPCEConfiguration
7833// API call, and error handling.
7834//
7835// This method is useful when you want to inject custom logic or configuration
7836// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7837//
7838//
7839//    // Example sending a request using the UpdateVPCEConfigurationRequest method.
7840//    req, resp := client.UpdateVPCEConfigurationRequest(params)
7841//
7842//    err := req.Send()
7843//    if err == nil { // resp is now filled
7844//        fmt.Println(resp)
7845//    }
7846//
7847// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateVPCEConfiguration
7848func (c *DeviceFarm) UpdateVPCEConfigurationRequest(input *UpdateVPCEConfigurationInput) (req *request.Request, output *UpdateVPCEConfigurationOutput) {
7849	op := &request.Operation{
7850		Name:       opUpdateVPCEConfiguration,
7851		HTTPMethod: "POST",
7852		HTTPPath:   "/",
7853	}
7854
7855	if input == nil {
7856		input = &UpdateVPCEConfigurationInput{}
7857	}
7858
7859	output = &UpdateVPCEConfigurationOutput{}
7860	req = c.newRequest(op, input, output)
7861	return
7862}
7863
7864// UpdateVPCEConfiguration API operation for AWS Device Farm.
7865//
7866// Updates information about an Amazon Virtual Private Cloud (VPC) endpoint
7867// configuration.
7868//
7869// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7870// with awserr.Error's Code and Message methods to get detailed information about
7871// the error.
7872//
7873// See the AWS API reference guide for AWS Device Farm's
7874// API operation UpdateVPCEConfiguration for usage and error information.
7875//
7876// Returned Error Types:
7877//   * ArgumentException
7878//   An invalid argument was specified.
7879//
7880//   * NotFoundException
7881//   The specified entity was not found.
7882//
7883//   * ServiceAccountException
7884//   There was a problem with the service account.
7885//
7886//   * InvalidOperationException
7887//   There was an error with the update request, or you do not have sufficient
7888//   permissions to update this VPC endpoint configuration.
7889//
7890// See also, https://docs.aws.amazon.com/goto/WebAPI/devicefarm-2015-06-23/UpdateVPCEConfiguration
7891func (c *DeviceFarm) UpdateVPCEConfiguration(input *UpdateVPCEConfigurationInput) (*UpdateVPCEConfigurationOutput, error) {
7892	req, out := c.UpdateVPCEConfigurationRequest(input)
7893	return out, req.Send()
7894}
7895
7896// UpdateVPCEConfigurationWithContext is the same as UpdateVPCEConfiguration with the addition of
7897// the ability to pass a context and additional request options.
7898//
7899// See UpdateVPCEConfiguration for details on how to use this API operation.
7900//
7901// The context must be non-nil and will be used for request cancellation. If
7902// the context is nil a panic will occur. In the future the SDK may create
7903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7904// for more information on using Contexts.
7905func (c *DeviceFarm) UpdateVPCEConfigurationWithContext(ctx aws.Context, input *UpdateVPCEConfigurationInput, opts ...request.Option) (*UpdateVPCEConfigurationOutput, error) {
7906	req, out := c.UpdateVPCEConfigurationRequest(input)
7907	req.SetContext(ctx)
7908	req.ApplyOptions(opts...)
7909	return out, req.Send()
7910}
7911
7912// A container for account-level settings in AWS Device Farm.
7913type AccountSettings struct {
7914	_ struct{} `type:"structure"`
7915
7916	// The AWS account number specified in the AccountSettings container.
7917	AwsAccountNumber *string `locationName:"awsAccountNumber" min:"2" type:"string"`
7918
7919	// The default number of minutes (at the account level) a test run executes
7920	// before it times out. The default value is 150 minutes.
7921	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
7922
7923	// The maximum number of minutes a test run executes before it times out.
7924	MaxJobTimeoutMinutes *int64 `locationName:"maxJobTimeoutMinutes" type:"integer"`
7925
7926	// The maximum number of device slots that the AWS account can purchase. Each
7927	// maximum is expressed as an offering-id:number pair, where the offering-id
7928	// represents one of the IDs returned by the ListOfferings command.
7929	MaxSlots map[string]*int64 `locationName:"maxSlots" type:"map"`
7930
7931	// When set to true, for private devices, Device Farm does not sign your app
7932	// again. For public devices, Device Farm always signs your apps again.
7933	//
7934	// For more information about how Device Farm re-signs your apps, see Do you
7935	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
7936	// Farm FAQs.
7937	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
7938
7939	// Information about an AWS account's usage of free trial device minutes.
7940	TrialMinutes *TrialMinutes `locationName:"trialMinutes" type:"structure"`
7941
7942	// Returns the unmetered devices you have purchased or want to purchase.
7943	UnmeteredDevices map[string]*int64 `locationName:"unmeteredDevices" type:"map"`
7944
7945	// Returns the unmetered remote access devices you have purchased or want to
7946	// purchase.
7947	UnmeteredRemoteAccessDevices map[string]*int64 `locationName:"unmeteredRemoteAccessDevices" type:"map"`
7948}
7949
7950// String returns the string representation
7951func (s AccountSettings) String() string {
7952	return awsutil.Prettify(s)
7953}
7954
7955// GoString returns the string representation
7956func (s AccountSettings) GoString() string {
7957	return s.String()
7958}
7959
7960// SetAwsAccountNumber sets the AwsAccountNumber field's value.
7961func (s *AccountSettings) SetAwsAccountNumber(v string) *AccountSettings {
7962	s.AwsAccountNumber = &v
7963	return s
7964}
7965
7966// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
7967func (s *AccountSettings) SetDefaultJobTimeoutMinutes(v int64) *AccountSettings {
7968	s.DefaultJobTimeoutMinutes = &v
7969	return s
7970}
7971
7972// SetMaxJobTimeoutMinutes sets the MaxJobTimeoutMinutes field's value.
7973func (s *AccountSettings) SetMaxJobTimeoutMinutes(v int64) *AccountSettings {
7974	s.MaxJobTimeoutMinutes = &v
7975	return s
7976}
7977
7978// SetMaxSlots sets the MaxSlots field's value.
7979func (s *AccountSettings) SetMaxSlots(v map[string]*int64) *AccountSettings {
7980	s.MaxSlots = v
7981	return s
7982}
7983
7984// SetSkipAppResign sets the SkipAppResign field's value.
7985func (s *AccountSettings) SetSkipAppResign(v bool) *AccountSettings {
7986	s.SkipAppResign = &v
7987	return s
7988}
7989
7990// SetTrialMinutes sets the TrialMinutes field's value.
7991func (s *AccountSettings) SetTrialMinutes(v *TrialMinutes) *AccountSettings {
7992	s.TrialMinutes = v
7993	return s
7994}
7995
7996// SetUnmeteredDevices sets the UnmeteredDevices field's value.
7997func (s *AccountSettings) SetUnmeteredDevices(v map[string]*int64) *AccountSettings {
7998	s.UnmeteredDevices = v
7999	return s
8000}
8001
8002// SetUnmeteredRemoteAccessDevices sets the UnmeteredRemoteAccessDevices field's value.
8003func (s *AccountSettings) SetUnmeteredRemoteAccessDevices(v map[string]*int64) *AccountSettings {
8004	s.UnmeteredRemoteAccessDevices = v
8005	return s
8006}
8007
8008// An invalid argument was specified.
8009type ArgumentException struct {
8010	_            struct{}                  `type:"structure"`
8011	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8012
8013	// Any additional information about the exception.
8014	Message_ *string `locationName:"message" type:"string"`
8015}
8016
8017// String returns the string representation
8018func (s ArgumentException) String() string {
8019	return awsutil.Prettify(s)
8020}
8021
8022// GoString returns the string representation
8023func (s ArgumentException) GoString() string {
8024	return s.String()
8025}
8026
8027func newErrorArgumentException(v protocol.ResponseMetadata) error {
8028	return &ArgumentException{
8029		RespMetadata: v,
8030	}
8031}
8032
8033// Code returns the exception type name.
8034func (s *ArgumentException) Code() string {
8035	return "ArgumentException"
8036}
8037
8038// Message returns the exception's message.
8039func (s *ArgumentException) Message() string {
8040	if s.Message_ != nil {
8041		return *s.Message_
8042	}
8043	return ""
8044}
8045
8046// OrigErr always returns nil, satisfies awserr.Error interface.
8047func (s *ArgumentException) OrigErr() error {
8048	return nil
8049}
8050
8051func (s *ArgumentException) Error() string {
8052	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8053}
8054
8055// Status code returns the HTTP status code for the request's response error.
8056func (s *ArgumentException) StatusCode() int {
8057	return s.RespMetadata.StatusCode
8058}
8059
8060// RequestID returns the service's response RequestID for request.
8061func (s *ArgumentException) RequestID() string {
8062	return s.RespMetadata.RequestID
8063}
8064
8065// Represents the output of a test. Examples of artifacts include logs and screenshots.
8066type Artifact struct {
8067	_ struct{} `type:"structure"`
8068
8069	// The artifact's ARN.
8070	Arn *string `locationName:"arn" min:"32" type:"string"`
8071
8072	// The artifact's file extension.
8073	Extension *string `locationName:"extension" type:"string"`
8074
8075	// The artifact's name.
8076	Name *string `locationName:"name" type:"string"`
8077
8078	// The artifact's type.
8079	//
8080	// Allowed values include the following:
8081	//
8082	//    * UNKNOWN
8083	//
8084	//    * SCREENSHOT
8085	//
8086	//    * DEVICE_LOG
8087	//
8088	//    * MESSAGE_LOG
8089	//
8090	//    * VIDEO_LOG
8091	//
8092	//    * RESULT_LOG
8093	//
8094	//    * SERVICE_LOG
8095	//
8096	//    * WEBKIT_LOG
8097	//
8098	//    * INSTRUMENTATION_OUTPUT
8099	//
8100	//    * EXERCISER_MONKEY_OUTPUT: the artifact (log) generated by an Android
8101	//    fuzz test.
8102	//
8103	//    * CALABASH_JSON_OUTPUT
8104	//
8105	//    * CALABASH_PRETTY_OUTPUT
8106	//
8107	//    * CALABASH_STANDARD_OUTPUT
8108	//
8109	//    * CALABASH_JAVA_XML_OUTPUT
8110	//
8111	//    * AUTOMATION_OUTPUT
8112	//
8113	//    * APPIUM_SERVER_OUTPUT
8114	//
8115	//    * APPIUM_JAVA_OUTPUT
8116	//
8117	//    * APPIUM_JAVA_XML_OUTPUT
8118	//
8119	//    * APPIUM_PYTHON_OUTPUT
8120	//
8121	//    * APPIUM_PYTHON_XML_OUTPUT
8122	//
8123	//    * EXPLORER_EVENT_LOG
8124	//
8125	//    * EXPLORER_SUMMARY_LOG
8126	//
8127	//    * APPLICATION_CRASH_REPORT
8128	//
8129	//    * XCTEST_LOG
8130	//
8131	//    * VIDEO
8132	//
8133	//    * CUSTOMER_ARTIFACT
8134	//
8135	//    * CUSTOMER_ARTIFACT_LOG
8136	//
8137	//    * TESTSPEC_OUTPUT
8138	Type *string `locationName:"type" type:"string" enum:"ArtifactType"`
8139
8140	// The presigned Amazon S3 URL that can be used with a GET request to download
8141	// the artifact's file.
8142	Url *string `locationName:"url" type:"string"`
8143}
8144
8145// String returns the string representation
8146func (s Artifact) String() string {
8147	return awsutil.Prettify(s)
8148}
8149
8150// GoString returns the string representation
8151func (s Artifact) GoString() string {
8152	return s.String()
8153}
8154
8155// SetArn sets the Arn field's value.
8156func (s *Artifact) SetArn(v string) *Artifact {
8157	s.Arn = &v
8158	return s
8159}
8160
8161// SetExtension sets the Extension field's value.
8162func (s *Artifact) SetExtension(v string) *Artifact {
8163	s.Extension = &v
8164	return s
8165}
8166
8167// SetName sets the Name field's value.
8168func (s *Artifact) SetName(v string) *Artifact {
8169	s.Name = &v
8170	return s
8171}
8172
8173// SetType sets the Type field's value.
8174func (s *Artifact) SetType(v string) *Artifact {
8175	s.Type = &v
8176	return s
8177}
8178
8179// SetUrl sets the Url field's value.
8180func (s *Artifact) SetUrl(v string) *Artifact {
8181	s.Url = &v
8182	return s
8183}
8184
8185// Represents the amount of CPU that an app is using on a physical device. Does
8186// not represent system-wide CPU usage.
8187type CPU struct {
8188	_ struct{} `type:"structure"`
8189
8190	// The CPU's architecture (for example, x86 or ARM).
8191	Architecture *string `locationName:"architecture" type:"string"`
8192
8193	// The clock speed of the device's CPU, expressed in hertz (Hz). For example,
8194	// a 1.2 GHz CPU is expressed as 1200000000.
8195	Clock *float64 `locationName:"clock" type:"double"`
8196
8197	// The CPU's frequency.
8198	Frequency *string `locationName:"frequency" type:"string"`
8199}
8200
8201// String returns the string representation
8202func (s CPU) String() string {
8203	return awsutil.Prettify(s)
8204}
8205
8206// GoString returns the string representation
8207func (s CPU) GoString() string {
8208	return s.String()
8209}
8210
8211// SetArchitecture sets the Architecture field's value.
8212func (s *CPU) SetArchitecture(v string) *CPU {
8213	s.Architecture = &v
8214	return s
8215}
8216
8217// SetClock sets the Clock field's value.
8218func (s *CPU) SetClock(v float64) *CPU {
8219	s.Clock = &v
8220	return s
8221}
8222
8223// SetFrequency sets the Frequency field's value.
8224func (s *CPU) SetFrequency(v string) *CPU {
8225	s.Frequency = &v
8226	return s
8227}
8228
8229// The requested object could not be deleted.
8230type CannotDeleteException struct {
8231	_            struct{}                  `type:"structure"`
8232	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8233
8234	Message_ *string `locationName:"message" type:"string"`
8235}
8236
8237// String returns the string representation
8238func (s CannotDeleteException) String() string {
8239	return awsutil.Prettify(s)
8240}
8241
8242// GoString returns the string representation
8243func (s CannotDeleteException) GoString() string {
8244	return s.String()
8245}
8246
8247func newErrorCannotDeleteException(v protocol.ResponseMetadata) error {
8248	return &CannotDeleteException{
8249		RespMetadata: v,
8250	}
8251}
8252
8253// Code returns the exception type name.
8254func (s *CannotDeleteException) Code() string {
8255	return "CannotDeleteException"
8256}
8257
8258// Message returns the exception's message.
8259func (s *CannotDeleteException) Message() string {
8260	if s.Message_ != nil {
8261		return *s.Message_
8262	}
8263	return ""
8264}
8265
8266// OrigErr always returns nil, satisfies awserr.Error interface.
8267func (s *CannotDeleteException) OrigErr() error {
8268	return nil
8269}
8270
8271func (s *CannotDeleteException) Error() string {
8272	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8273}
8274
8275// Status code returns the HTTP status code for the request's response error.
8276func (s *CannotDeleteException) StatusCode() int {
8277	return s.RespMetadata.StatusCode
8278}
8279
8280// RequestID returns the service's response RequestID for request.
8281func (s *CannotDeleteException) RequestID() string {
8282	return s.RespMetadata.RequestID
8283}
8284
8285// Represents entity counters.
8286type Counters struct {
8287	_ struct{} `type:"structure"`
8288
8289	// The number of errored entities.
8290	Errored *int64 `locationName:"errored" type:"integer"`
8291
8292	// The number of failed entities.
8293	Failed *int64 `locationName:"failed" type:"integer"`
8294
8295	// The number of passed entities.
8296	Passed *int64 `locationName:"passed" type:"integer"`
8297
8298	// The number of skipped entities.
8299	Skipped *int64 `locationName:"skipped" type:"integer"`
8300
8301	// The number of stopped entities.
8302	Stopped *int64 `locationName:"stopped" type:"integer"`
8303
8304	// The total number of entities.
8305	Total *int64 `locationName:"total" type:"integer"`
8306
8307	// The number of warned entities.
8308	Warned *int64 `locationName:"warned" type:"integer"`
8309}
8310
8311// String returns the string representation
8312func (s Counters) String() string {
8313	return awsutil.Prettify(s)
8314}
8315
8316// GoString returns the string representation
8317func (s Counters) GoString() string {
8318	return s.String()
8319}
8320
8321// SetErrored sets the Errored field's value.
8322func (s *Counters) SetErrored(v int64) *Counters {
8323	s.Errored = &v
8324	return s
8325}
8326
8327// SetFailed sets the Failed field's value.
8328func (s *Counters) SetFailed(v int64) *Counters {
8329	s.Failed = &v
8330	return s
8331}
8332
8333// SetPassed sets the Passed field's value.
8334func (s *Counters) SetPassed(v int64) *Counters {
8335	s.Passed = &v
8336	return s
8337}
8338
8339// SetSkipped sets the Skipped field's value.
8340func (s *Counters) SetSkipped(v int64) *Counters {
8341	s.Skipped = &v
8342	return s
8343}
8344
8345// SetStopped sets the Stopped field's value.
8346func (s *Counters) SetStopped(v int64) *Counters {
8347	s.Stopped = &v
8348	return s
8349}
8350
8351// SetTotal sets the Total field's value.
8352func (s *Counters) SetTotal(v int64) *Counters {
8353	s.Total = &v
8354	return s
8355}
8356
8357// SetWarned sets the Warned field's value.
8358func (s *Counters) SetWarned(v int64) *Counters {
8359	s.Warned = &v
8360	return s
8361}
8362
8363// Represents a request to the create device pool operation.
8364type CreateDevicePoolInput struct {
8365	_ struct{} `type:"structure"`
8366
8367	// The device pool's description.
8368	Description *string `locationName:"description" type:"string"`
8369
8370	// The number of devices that Device Farm can add to your device pool. Device
8371	// Farm adds devices that are available and meet the criteria that you assign
8372	// for the rules parameter. Depending on how many devices meet these constraints,
8373	// your device pool might contain fewer devices than the value for this parameter.
8374	//
8375	// By specifying the maximum number of devices, you can control the costs that
8376	// you incur by running tests.
8377	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
8378
8379	// The device pool's name.
8380	//
8381	// Name is a required field
8382	Name *string `locationName:"name" type:"string" required:"true"`
8383
8384	// The ARN of the project for the device pool.
8385	//
8386	// ProjectArn is a required field
8387	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
8388
8389	// The device pool's rules.
8390	//
8391	// Rules is a required field
8392	Rules []*Rule `locationName:"rules" type:"list" required:"true"`
8393}
8394
8395// String returns the string representation
8396func (s CreateDevicePoolInput) String() string {
8397	return awsutil.Prettify(s)
8398}
8399
8400// GoString returns the string representation
8401func (s CreateDevicePoolInput) GoString() string {
8402	return s.String()
8403}
8404
8405// Validate inspects the fields of the type to determine if they are valid.
8406func (s *CreateDevicePoolInput) Validate() error {
8407	invalidParams := request.ErrInvalidParams{Context: "CreateDevicePoolInput"}
8408	if s.Name == nil {
8409		invalidParams.Add(request.NewErrParamRequired("Name"))
8410	}
8411	if s.ProjectArn == nil {
8412		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
8413	}
8414	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
8415		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
8416	}
8417	if s.Rules == nil {
8418		invalidParams.Add(request.NewErrParamRequired("Rules"))
8419	}
8420
8421	if invalidParams.Len() > 0 {
8422		return invalidParams
8423	}
8424	return nil
8425}
8426
8427// SetDescription sets the Description field's value.
8428func (s *CreateDevicePoolInput) SetDescription(v string) *CreateDevicePoolInput {
8429	s.Description = &v
8430	return s
8431}
8432
8433// SetMaxDevices sets the MaxDevices field's value.
8434func (s *CreateDevicePoolInput) SetMaxDevices(v int64) *CreateDevicePoolInput {
8435	s.MaxDevices = &v
8436	return s
8437}
8438
8439// SetName sets the Name field's value.
8440func (s *CreateDevicePoolInput) SetName(v string) *CreateDevicePoolInput {
8441	s.Name = &v
8442	return s
8443}
8444
8445// SetProjectArn sets the ProjectArn field's value.
8446func (s *CreateDevicePoolInput) SetProjectArn(v string) *CreateDevicePoolInput {
8447	s.ProjectArn = &v
8448	return s
8449}
8450
8451// SetRules sets the Rules field's value.
8452func (s *CreateDevicePoolInput) SetRules(v []*Rule) *CreateDevicePoolInput {
8453	s.Rules = v
8454	return s
8455}
8456
8457// Represents the result of a create device pool request.
8458type CreateDevicePoolOutput struct {
8459	_ struct{} `type:"structure"`
8460
8461	// The newly created device pool.
8462	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
8463}
8464
8465// String returns the string representation
8466func (s CreateDevicePoolOutput) String() string {
8467	return awsutil.Prettify(s)
8468}
8469
8470// GoString returns the string representation
8471func (s CreateDevicePoolOutput) GoString() string {
8472	return s.String()
8473}
8474
8475// SetDevicePool sets the DevicePool field's value.
8476func (s *CreateDevicePoolOutput) SetDevicePool(v *DevicePool) *CreateDevicePoolOutput {
8477	s.DevicePool = v
8478	return s
8479}
8480
8481type CreateInstanceProfileInput struct {
8482	_ struct{} `type:"structure"`
8483
8484	// The description of your instance profile.
8485	Description *string `locationName:"description" type:"string"`
8486
8487	// An array of strings that specifies the list of app packages that should not
8488	// be cleaned up from the device after a test run.
8489	//
8490	// The list of packages is considered only if you set packageCleanup to true.
8491	ExcludeAppPackagesFromCleanup []*string `locationName:"excludeAppPackagesFromCleanup" type:"list"`
8492
8493	// The name of your instance profile.
8494	//
8495	// Name is a required field
8496	Name *string `locationName:"name" type:"string" required:"true"`
8497
8498	// When set to true, Device Farm removes app packages after a test run. The
8499	// default value is false for private devices.
8500	PackageCleanup *bool `locationName:"packageCleanup" type:"boolean"`
8501
8502	// When set to true, Device Farm reboots the instance after a test run. The
8503	// default value is true.
8504	RebootAfterUse *bool `locationName:"rebootAfterUse" type:"boolean"`
8505}
8506
8507// String returns the string representation
8508func (s CreateInstanceProfileInput) String() string {
8509	return awsutil.Prettify(s)
8510}
8511
8512// GoString returns the string representation
8513func (s CreateInstanceProfileInput) GoString() string {
8514	return s.String()
8515}
8516
8517// Validate inspects the fields of the type to determine if they are valid.
8518func (s *CreateInstanceProfileInput) Validate() error {
8519	invalidParams := request.ErrInvalidParams{Context: "CreateInstanceProfileInput"}
8520	if s.Name == nil {
8521		invalidParams.Add(request.NewErrParamRequired("Name"))
8522	}
8523
8524	if invalidParams.Len() > 0 {
8525		return invalidParams
8526	}
8527	return nil
8528}
8529
8530// SetDescription sets the Description field's value.
8531func (s *CreateInstanceProfileInput) SetDescription(v string) *CreateInstanceProfileInput {
8532	s.Description = &v
8533	return s
8534}
8535
8536// SetExcludeAppPackagesFromCleanup sets the ExcludeAppPackagesFromCleanup field's value.
8537func (s *CreateInstanceProfileInput) SetExcludeAppPackagesFromCleanup(v []*string) *CreateInstanceProfileInput {
8538	s.ExcludeAppPackagesFromCleanup = v
8539	return s
8540}
8541
8542// SetName sets the Name field's value.
8543func (s *CreateInstanceProfileInput) SetName(v string) *CreateInstanceProfileInput {
8544	s.Name = &v
8545	return s
8546}
8547
8548// SetPackageCleanup sets the PackageCleanup field's value.
8549func (s *CreateInstanceProfileInput) SetPackageCleanup(v bool) *CreateInstanceProfileInput {
8550	s.PackageCleanup = &v
8551	return s
8552}
8553
8554// SetRebootAfterUse sets the RebootAfterUse field's value.
8555func (s *CreateInstanceProfileInput) SetRebootAfterUse(v bool) *CreateInstanceProfileInput {
8556	s.RebootAfterUse = &v
8557	return s
8558}
8559
8560type CreateInstanceProfileOutput struct {
8561	_ struct{} `type:"structure"`
8562
8563	// An object that contains information about your instance profile.
8564	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
8565}
8566
8567// String returns the string representation
8568func (s CreateInstanceProfileOutput) String() string {
8569	return awsutil.Prettify(s)
8570}
8571
8572// GoString returns the string representation
8573func (s CreateInstanceProfileOutput) GoString() string {
8574	return s.String()
8575}
8576
8577// SetInstanceProfile sets the InstanceProfile field's value.
8578func (s *CreateInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *CreateInstanceProfileOutput {
8579	s.InstanceProfile = v
8580	return s
8581}
8582
8583type CreateNetworkProfileInput struct {
8584	_ struct{} `type:"structure"`
8585
8586	// The description of the network profile.
8587	Description *string `locationName:"description" type:"string"`
8588
8589	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
8590	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
8591
8592	// Delay time for all packets to destination in milliseconds as an integer from
8593	// 0 to 2000.
8594	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
8595
8596	// Time variation in the delay of received packets in milliseconds as an integer
8597	// from 0 to 2000.
8598	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
8599
8600	// Proportion of received packets that fail to arrive from 0 to 100 percent.
8601	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
8602
8603	// The name for the new network profile.
8604	//
8605	// Name is a required field
8606	Name *string `locationName:"name" type:"string" required:"true"`
8607
8608	// The Amazon Resource Name (ARN) of the project for which you want to create
8609	// a network profile.
8610	//
8611	// ProjectArn is a required field
8612	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
8613
8614	// The type of network profile to create. Valid values are listed here.
8615	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
8616
8617	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
8618	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
8619
8620	// Delay time for all packets to destination in milliseconds as an integer from
8621	// 0 to 2000.
8622	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
8623
8624	// Time variation in the delay of received packets in milliseconds as an integer
8625	// from 0 to 2000.
8626	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
8627
8628	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
8629	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
8630}
8631
8632// String returns the string representation
8633func (s CreateNetworkProfileInput) String() string {
8634	return awsutil.Prettify(s)
8635}
8636
8637// GoString returns the string representation
8638func (s CreateNetworkProfileInput) GoString() string {
8639	return s.String()
8640}
8641
8642// Validate inspects the fields of the type to determine if they are valid.
8643func (s *CreateNetworkProfileInput) Validate() error {
8644	invalidParams := request.ErrInvalidParams{Context: "CreateNetworkProfileInput"}
8645	if s.Name == nil {
8646		invalidParams.Add(request.NewErrParamRequired("Name"))
8647	}
8648	if s.ProjectArn == nil {
8649		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
8650	}
8651	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
8652		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
8653	}
8654
8655	if invalidParams.Len() > 0 {
8656		return invalidParams
8657	}
8658	return nil
8659}
8660
8661// SetDescription sets the Description field's value.
8662func (s *CreateNetworkProfileInput) SetDescription(v string) *CreateNetworkProfileInput {
8663	s.Description = &v
8664	return s
8665}
8666
8667// SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
8668func (s *CreateNetworkProfileInput) SetDownlinkBandwidthBits(v int64) *CreateNetworkProfileInput {
8669	s.DownlinkBandwidthBits = &v
8670	return s
8671}
8672
8673// SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
8674func (s *CreateNetworkProfileInput) SetDownlinkDelayMs(v int64) *CreateNetworkProfileInput {
8675	s.DownlinkDelayMs = &v
8676	return s
8677}
8678
8679// SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
8680func (s *CreateNetworkProfileInput) SetDownlinkJitterMs(v int64) *CreateNetworkProfileInput {
8681	s.DownlinkJitterMs = &v
8682	return s
8683}
8684
8685// SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
8686func (s *CreateNetworkProfileInput) SetDownlinkLossPercent(v int64) *CreateNetworkProfileInput {
8687	s.DownlinkLossPercent = &v
8688	return s
8689}
8690
8691// SetName sets the Name field's value.
8692func (s *CreateNetworkProfileInput) SetName(v string) *CreateNetworkProfileInput {
8693	s.Name = &v
8694	return s
8695}
8696
8697// SetProjectArn sets the ProjectArn field's value.
8698func (s *CreateNetworkProfileInput) SetProjectArn(v string) *CreateNetworkProfileInput {
8699	s.ProjectArn = &v
8700	return s
8701}
8702
8703// SetType sets the Type field's value.
8704func (s *CreateNetworkProfileInput) SetType(v string) *CreateNetworkProfileInput {
8705	s.Type = &v
8706	return s
8707}
8708
8709// SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
8710func (s *CreateNetworkProfileInput) SetUplinkBandwidthBits(v int64) *CreateNetworkProfileInput {
8711	s.UplinkBandwidthBits = &v
8712	return s
8713}
8714
8715// SetUplinkDelayMs sets the UplinkDelayMs field's value.
8716func (s *CreateNetworkProfileInput) SetUplinkDelayMs(v int64) *CreateNetworkProfileInput {
8717	s.UplinkDelayMs = &v
8718	return s
8719}
8720
8721// SetUplinkJitterMs sets the UplinkJitterMs field's value.
8722func (s *CreateNetworkProfileInput) SetUplinkJitterMs(v int64) *CreateNetworkProfileInput {
8723	s.UplinkJitterMs = &v
8724	return s
8725}
8726
8727// SetUplinkLossPercent sets the UplinkLossPercent field's value.
8728func (s *CreateNetworkProfileInput) SetUplinkLossPercent(v int64) *CreateNetworkProfileInput {
8729	s.UplinkLossPercent = &v
8730	return s
8731}
8732
8733type CreateNetworkProfileOutput struct {
8734	_ struct{} `type:"structure"`
8735
8736	// The network profile that is returned by the create network profile request.
8737	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
8738}
8739
8740// String returns the string representation
8741func (s CreateNetworkProfileOutput) String() string {
8742	return awsutil.Prettify(s)
8743}
8744
8745// GoString returns the string representation
8746func (s CreateNetworkProfileOutput) GoString() string {
8747	return s.String()
8748}
8749
8750// SetNetworkProfile sets the NetworkProfile field's value.
8751func (s *CreateNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *CreateNetworkProfileOutput {
8752	s.NetworkProfile = v
8753	return s
8754}
8755
8756// Represents a request to the create project operation.
8757type CreateProjectInput struct {
8758	_ struct{} `type:"structure"`
8759
8760	// Sets the execution timeout value (in minutes) for a project. All test runs
8761	// in this project use the specified execution timeout value unless overridden
8762	// when scheduling a run.
8763	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
8764
8765	// The project's name.
8766	//
8767	// Name is a required field
8768	Name *string `locationName:"name" type:"string" required:"true"`
8769}
8770
8771// String returns the string representation
8772func (s CreateProjectInput) String() string {
8773	return awsutil.Prettify(s)
8774}
8775
8776// GoString returns the string representation
8777func (s CreateProjectInput) GoString() string {
8778	return s.String()
8779}
8780
8781// Validate inspects the fields of the type to determine if they are valid.
8782func (s *CreateProjectInput) Validate() error {
8783	invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"}
8784	if s.Name == nil {
8785		invalidParams.Add(request.NewErrParamRequired("Name"))
8786	}
8787
8788	if invalidParams.Len() > 0 {
8789		return invalidParams
8790	}
8791	return nil
8792}
8793
8794// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
8795func (s *CreateProjectInput) SetDefaultJobTimeoutMinutes(v int64) *CreateProjectInput {
8796	s.DefaultJobTimeoutMinutes = &v
8797	return s
8798}
8799
8800// SetName sets the Name field's value.
8801func (s *CreateProjectInput) SetName(v string) *CreateProjectInput {
8802	s.Name = &v
8803	return s
8804}
8805
8806// Represents the result of a create project request.
8807type CreateProjectOutput struct {
8808	_ struct{} `type:"structure"`
8809
8810	// The newly created project.
8811	Project *Project `locationName:"project" type:"structure"`
8812}
8813
8814// String returns the string representation
8815func (s CreateProjectOutput) String() string {
8816	return awsutil.Prettify(s)
8817}
8818
8819// GoString returns the string representation
8820func (s CreateProjectOutput) GoString() string {
8821	return s.String()
8822}
8823
8824// SetProject sets the Project field's value.
8825func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput {
8826	s.Project = v
8827	return s
8828}
8829
8830// Configuration settings for a remote access session, including billing method.
8831type CreateRemoteAccessSessionConfiguration struct {
8832	_ struct{} `type:"structure"`
8833
8834	// The billing method for the remote access session.
8835	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
8836
8837	// An array of ARNs included in the VPC endpoint configuration.
8838	VpceConfigurationArns []*string `locationName:"vpceConfigurationArns" type:"list"`
8839}
8840
8841// String returns the string representation
8842func (s CreateRemoteAccessSessionConfiguration) String() string {
8843	return awsutil.Prettify(s)
8844}
8845
8846// GoString returns the string representation
8847func (s CreateRemoteAccessSessionConfiguration) GoString() string {
8848	return s.String()
8849}
8850
8851// SetBillingMethod sets the BillingMethod field's value.
8852func (s *CreateRemoteAccessSessionConfiguration) SetBillingMethod(v string) *CreateRemoteAccessSessionConfiguration {
8853	s.BillingMethod = &v
8854	return s
8855}
8856
8857// SetVpceConfigurationArns sets the VpceConfigurationArns field's value.
8858func (s *CreateRemoteAccessSessionConfiguration) SetVpceConfigurationArns(v []*string) *CreateRemoteAccessSessionConfiguration {
8859	s.VpceConfigurationArns = v
8860	return s
8861}
8862
8863// Creates and submits a request to start a remote access session.
8864type CreateRemoteAccessSessionInput struct {
8865	_ struct{} `type:"structure"`
8866
8867	// Unique identifier for the client. If you want access to multiple devices
8868	// on the same client, you should pass the same clientId value in each call
8869	// to CreateRemoteAccessSession. This identifier is required only if remoteDebugEnabled
8870	// is set to true.
8871	//
8872	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
8873	ClientId *string `locationName:"clientId" type:"string"`
8874
8875	// The configuration information for the remote access session request.
8876	Configuration *CreateRemoteAccessSessionConfiguration `locationName:"configuration" type:"structure"`
8877
8878	// The ARN of the device for which you want to create a remote access session.
8879	//
8880	// DeviceArn is a required field
8881	DeviceArn *string `locationName:"deviceArn" min:"32" type:"string" required:"true"`
8882
8883	// The Amazon Resource Name (ARN) of the device instance for which you want
8884	// to create a remote access session.
8885	InstanceArn *string `locationName:"instanceArn" min:"32" type:"string"`
8886
8887	// The interaction mode of the remote access session. Valid values are:
8888	//
8889	//    * INTERACTIVE: You can interact with the iOS device by viewing, touching,
8890	//    and rotating the screen. You cannot run XCUITest framework-based tests
8891	//    in this mode.
8892	//
8893	//    * NO_VIDEO: You are connected to the device, but cannot interact with
8894	//    it or view the screen. This mode has the fastest test execution speed.
8895	//    You can run XCUITest framework-based tests in this mode.
8896	//
8897	//    * VIDEO_ONLY: You can view the screen, but cannot touch or rotate it.
8898	//    You can run XCUITest framework-based tests and watch the screen in this
8899	//    mode.
8900	InteractionMode *string `locationName:"interactionMode" type:"string" enum:"InteractionMode"`
8901
8902	// The name of the remote access session to create.
8903	Name *string `locationName:"name" type:"string"`
8904
8905	// The Amazon Resource Name (ARN) of the project for which you want to create
8906	// a remote access session.
8907	//
8908	// ProjectArn is a required field
8909	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
8910
8911	// Set to true if you want to access devices remotely for debugging in your
8912	// remote access session.
8913	//
8914	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
8915	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
8916
8917	// The Amazon Resource Name (ARN) for the app to be recorded in the remote access
8918	// session.
8919	RemoteRecordAppArn *string `locationName:"remoteRecordAppArn" min:"32" type:"string"`
8920
8921	// Set to true to enable remote recording for the remote access session.
8922	RemoteRecordEnabled *bool `locationName:"remoteRecordEnabled" type:"boolean"`
8923
8924	// When set to true, for private devices, Device Farm does not sign your app
8925	// again. For public devices, Device Farm always signs your apps again.
8926	//
8927	// For more information on how Device Farm modifies your uploads during tests,
8928	// see Do you modify my app? (https://aws.amazon.com/device-farm/faq/)
8929	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
8930
8931	// Ignored. The public key of the ssh key pair you want to use for connecting
8932	// to remote devices in your remote debugging session. This key is required
8933	// only if remoteDebugEnabled is set to true.
8934	//
8935	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
8936	SshPublicKey *string `locationName:"sshPublicKey" type:"string"`
8937}
8938
8939// String returns the string representation
8940func (s CreateRemoteAccessSessionInput) String() string {
8941	return awsutil.Prettify(s)
8942}
8943
8944// GoString returns the string representation
8945func (s CreateRemoteAccessSessionInput) GoString() string {
8946	return s.String()
8947}
8948
8949// Validate inspects the fields of the type to determine if they are valid.
8950func (s *CreateRemoteAccessSessionInput) Validate() error {
8951	invalidParams := request.ErrInvalidParams{Context: "CreateRemoteAccessSessionInput"}
8952	if s.DeviceArn == nil {
8953		invalidParams.Add(request.NewErrParamRequired("DeviceArn"))
8954	}
8955	if s.DeviceArn != nil && len(*s.DeviceArn) < 32 {
8956		invalidParams.Add(request.NewErrParamMinLen("DeviceArn", 32))
8957	}
8958	if s.InstanceArn != nil && len(*s.InstanceArn) < 32 {
8959		invalidParams.Add(request.NewErrParamMinLen("InstanceArn", 32))
8960	}
8961	if s.ProjectArn == nil {
8962		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
8963	}
8964	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
8965		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
8966	}
8967	if s.RemoteRecordAppArn != nil && len(*s.RemoteRecordAppArn) < 32 {
8968		invalidParams.Add(request.NewErrParamMinLen("RemoteRecordAppArn", 32))
8969	}
8970
8971	if invalidParams.Len() > 0 {
8972		return invalidParams
8973	}
8974	return nil
8975}
8976
8977// SetClientId sets the ClientId field's value.
8978func (s *CreateRemoteAccessSessionInput) SetClientId(v string) *CreateRemoteAccessSessionInput {
8979	s.ClientId = &v
8980	return s
8981}
8982
8983// SetConfiguration sets the Configuration field's value.
8984func (s *CreateRemoteAccessSessionInput) SetConfiguration(v *CreateRemoteAccessSessionConfiguration) *CreateRemoteAccessSessionInput {
8985	s.Configuration = v
8986	return s
8987}
8988
8989// SetDeviceArn sets the DeviceArn field's value.
8990func (s *CreateRemoteAccessSessionInput) SetDeviceArn(v string) *CreateRemoteAccessSessionInput {
8991	s.DeviceArn = &v
8992	return s
8993}
8994
8995// SetInstanceArn sets the InstanceArn field's value.
8996func (s *CreateRemoteAccessSessionInput) SetInstanceArn(v string) *CreateRemoteAccessSessionInput {
8997	s.InstanceArn = &v
8998	return s
8999}
9000
9001// SetInteractionMode sets the InteractionMode field's value.
9002func (s *CreateRemoteAccessSessionInput) SetInteractionMode(v string) *CreateRemoteAccessSessionInput {
9003	s.InteractionMode = &v
9004	return s
9005}
9006
9007// SetName sets the Name field's value.
9008func (s *CreateRemoteAccessSessionInput) SetName(v string) *CreateRemoteAccessSessionInput {
9009	s.Name = &v
9010	return s
9011}
9012
9013// SetProjectArn sets the ProjectArn field's value.
9014func (s *CreateRemoteAccessSessionInput) SetProjectArn(v string) *CreateRemoteAccessSessionInput {
9015	s.ProjectArn = &v
9016	return s
9017}
9018
9019// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
9020func (s *CreateRemoteAccessSessionInput) SetRemoteDebugEnabled(v bool) *CreateRemoteAccessSessionInput {
9021	s.RemoteDebugEnabled = &v
9022	return s
9023}
9024
9025// SetRemoteRecordAppArn sets the RemoteRecordAppArn field's value.
9026func (s *CreateRemoteAccessSessionInput) SetRemoteRecordAppArn(v string) *CreateRemoteAccessSessionInput {
9027	s.RemoteRecordAppArn = &v
9028	return s
9029}
9030
9031// SetRemoteRecordEnabled sets the RemoteRecordEnabled field's value.
9032func (s *CreateRemoteAccessSessionInput) SetRemoteRecordEnabled(v bool) *CreateRemoteAccessSessionInput {
9033	s.RemoteRecordEnabled = &v
9034	return s
9035}
9036
9037// SetSkipAppResign sets the SkipAppResign field's value.
9038func (s *CreateRemoteAccessSessionInput) SetSkipAppResign(v bool) *CreateRemoteAccessSessionInput {
9039	s.SkipAppResign = &v
9040	return s
9041}
9042
9043// SetSshPublicKey sets the SshPublicKey field's value.
9044func (s *CreateRemoteAccessSessionInput) SetSshPublicKey(v string) *CreateRemoteAccessSessionInput {
9045	s.SshPublicKey = &v
9046	return s
9047}
9048
9049// Represents the server response from a request to create a remote access session.
9050type CreateRemoteAccessSessionOutput struct {
9051	_ struct{} `type:"structure"`
9052
9053	// A container that describes the remote access session when the request to
9054	// create a remote access session is sent.
9055	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
9056}
9057
9058// String returns the string representation
9059func (s CreateRemoteAccessSessionOutput) String() string {
9060	return awsutil.Prettify(s)
9061}
9062
9063// GoString returns the string representation
9064func (s CreateRemoteAccessSessionOutput) GoString() string {
9065	return s.String()
9066}
9067
9068// SetRemoteAccessSession sets the RemoteAccessSession field's value.
9069func (s *CreateRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *CreateRemoteAccessSessionOutput {
9070	s.RemoteAccessSession = v
9071	return s
9072}
9073
9074type CreateTestGridProjectInput struct {
9075	_ struct{} `type:"structure"`
9076
9077	// Human-readable description of the project.
9078	Description *string `locationName:"description" min:"1" type:"string"`
9079
9080	// Human-readable name of the Selenium testing project.
9081	//
9082	// Name is a required field
9083	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9084}
9085
9086// String returns the string representation
9087func (s CreateTestGridProjectInput) String() string {
9088	return awsutil.Prettify(s)
9089}
9090
9091// GoString returns the string representation
9092func (s CreateTestGridProjectInput) GoString() string {
9093	return s.String()
9094}
9095
9096// Validate inspects the fields of the type to determine if they are valid.
9097func (s *CreateTestGridProjectInput) Validate() error {
9098	invalidParams := request.ErrInvalidParams{Context: "CreateTestGridProjectInput"}
9099	if s.Description != nil && len(*s.Description) < 1 {
9100		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
9101	}
9102	if s.Name == nil {
9103		invalidParams.Add(request.NewErrParamRequired("Name"))
9104	}
9105	if s.Name != nil && len(*s.Name) < 1 {
9106		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
9107	}
9108
9109	if invalidParams.Len() > 0 {
9110		return invalidParams
9111	}
9112	return nil
9113}
9114
9115// SetDescription sets the Description field's value.
9116func (s *CreateTestGridProjectInput) SetDescription(v string) *CreateTestGridProjectInput {
9117	s.Description = &v
9118	return s
9119}
9120
9121// SetName sets the Name field's value.
9122func (s *CreateTestGridProjectInput) SetName(v string) *CreateTestGridProjectInput {
9123	s.Name = &v
9124	return s
9125}
9126
9127type CreateTestGridProjectOutput struct {
9128	_ struct{} `type:"structure"`
9129
9130	// ARN of the Selenium testing project that was created.
9131	TestGridProject *TestGridProject `locationName:"testGridProject" type:"structure"`
9132}
9133
9134// String returns the string representation
9135func (s CreateTestGridProjectOutput) String() string {
9136	return awsutil.Prettify(s)
9137}
9138
9139// GoString returns the string representation
9140func (s CreateTestGridProjectOutput) GoString() string {
9141	return s.String()
9142}
9143
9144// SetTestGridProject sets the TestGridProject field's value.
9145func (s *CreateTestGridProjectOutput) SetTestGridProject(v *TestGridProject) *CreateTestGridProjectOutput {
9146	s.TestGridProject = v
9147	return s
9148}
9149
9150type CreateTestGridUrlInput struct {
9151	_ struct{} `type:"structure"`
9152
9153	// Lifetime, in seconds, of the URL.
9154	//
9155	// ExpiresInSeconds is a required field
9156	ExpiresInSeconds *int64 `locationName:"expiresInSeconds" min:"60" type:"integer" required:"true"`
9157
9158	// ARN (from CreateTestGridProject or ListTestGridProjects) to associate with
9159	// the short-term URL.
9160	//
9161	// ProjectArn is a required field
9162	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
9163}
9164
9165// String returns the string representation
9166func (s CreateTestGridUrlInput) String() string {
9167	return awsutil.Prettify(s)
9168}
9169
9170// GoString returns the string representation
9171func (s CreateTestGridUrlInput) GoString() string {
9172	return s.String()
9173}
9174
9175// Validate inspects the fields of the type to determine if they are valid.
9176func (s *CreateTestGridUrlInput) Validate() error {
9177	invalidParams := request.ErrInvalidParams{Context: "CreateTestGridUrlInput"}
9178	if s.ExpiresInSeconds == nil {
9179		invalidParams.Add(request.NewErrParamRequired("ExpiresInSeconds"))
9180	}
9181	if s.ExpiresInSeconds != nil && *s.ExpiresInSeconds < 60 {
9182		invalidParams.Add(request.NewErrParamMinValue("ExpiresInSeconds", 60))
9183	}
9184	if s.ProjectArn == nil {
9185		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
9186	}
9187	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
9188		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
9189	}
9190
9191	if invalidParams.Len() > 0 {
9192		return invalidParams
9193	}
9194	return nil
9195}
9196
9197// SetExpiresInSeconds sets the ExpiresInSeconds field's value.
9198func (s *CreateTestGridUrlInput) SetExpiresInSeconds(v int64) *CreateTestGridUrlInput {
9199	s.ExpiresInSeconds = &v
9200	return s
9201}
9202
9203// SetProjectArn sets the ProjectArn field's value.
9204func (s *CreateTestGridUrlInput) SetProjectArn(v string) *CreateTestGridUrlInput {
9205	s.ProjectArn = &v
9206	return s
9207}
9208
9209type CreateTestGridUrlOutput struct {
9210	_ struct{} `type:"structure"`
9211
9212	// The number of seconds the URL from CreateTestGridUrlResult$url stays active.
9213	Expires *time.Time `locationName:"expires" type:"timestamp"`
9214
9215	// A signed URL, expiring in CreateTestGridUrlRequest$expiresInSeconds seconds,
9216	// to be passed to a RemoteWebDriver.
9217	Url *string `locationName:"url" type:"string"`
9218}
9219
9220// String returns the string representation
9221func (s CreateTestGridUrlOutput) String() string {
9222	return awsutil.Prettify(s)
9223}
9224
9225// GoString returns the string representation
9226func (s CreateTestGridUrlOutput) GoString() string {
9227	return s.String()
9228}
9229
9230// SetExpires sets the Expires field's value.
9231func (s *CreateTestGridUrlOutput) SetExpires(v time.Time) *CreateTestGridUrlOutput {
9232	s.Expires = &v
9233	return s
9234}
9235
9236// SetUrl sets the Url field's value.
9237func (s *CreateTestGridUrlOutput) SetUrl(v string) *CreateTestGridUrlOutput {
9238	s.Url = &v
9239	return s
9240}
9241
9242// Represents a request to the create upload operation.
9243type CreateUploadInput struct {
9244	_ struct{} `type:"structure"`
9245
9246	// The upload's content type (for example, application/octet-stream).
9247	ContentType *string `locationName:"contentType" type:"string"`
9248
9249	// The upload's file name. The name should not contain any forward slashes (/).
9250	// If you are uploading an iOS app, the file name must end with the .ipa extension.
9251	// If you are uploading an Android app, the file name must end with the .apk
9252	// extension. For all others, the file name must end with the .zip file extension.
9253	//
9254	// Name is a required field
9255	Name *string `locationName:"name" type:"string" required:"true"`
9256
9257	// The ARN of the project for the upload.
9258	//
9259	// ProjectArn is a required field
9260	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
9261
9262	// The upload's upload type.
9263	//
9264	// Must be one of the following values:
9265	//
9266	//    * ANDROID_APP
9267	//
9268	//    * IOS_APP
9269	//
9270	//    * WEB_APP
9271	//
9272	//    * EXTERNAL_DATA
9273	//
9274	//    * APPIUM_JAVA_JUNIT_TEST_PACKAGE
9275	//
9276	//    * APPIUM_JAVA_TESTNG_TEST_PACKAGE
9277	//
9278	//    * APPIUM_PYTHON_TEST_PACKAGE
9279	//
9280	//    * APPIUM_NODE_TEST_PACKAGE
9281	//
9282	//    * APPIUM_RUBY_TEST_PACKAGE
9283	//
9284	//    * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
9285	//
9286	//    * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
9287	//
9288	//    * APPIUM_WEB_PYTHON_TEST_PACKAGE
9289	//
9290	//    * APPIUM_WEB_NODE_TEST_PACKAGE
9291	//
9292	//    * APPIUM_WEB_RUBY_TEST_PACKAGE
9293	//
9294	//    * CALABASH_TEST_PACKAGE
9295	//
9296	//    * INSTRUMENTATION_TEST_PACKAGE
9297	//
9298	//    * UIAUTOMATION_TEST_PACKAGE
9299	//
9300	//    * UIAUTOMATOR_TEST_PACKAGE
9301	//
9302	//    * XCTEST_TEST_PACKAGE
9303	//
9304	//    * XCTEST_UI_TEST_PACKAGE
9305	//
9306	//    * APPIUM_JAVA_JUNIT_TEST_SPEC
9307	//
9308	//    * APPIUM_JAVA_TESTNG_TEST_SPEC
9309	//
9310	//    * APPIUM_PYTHON_TEST_SPEC
9311	//
9312	//    * APPIUM_NODE_TEST_SPEC
9313	//
9314	//    * APPIUM_RUBY_TEST_SPEC
9315	//
9316	//    * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
9317	//
9318	//    * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
9319	//
9320	//    * APPIUM_WEB_PYTHON_TEST_SPEC
9321	//
9322	//    * APPIUM_WEB_NODE_TEST_SPEC
9323	//
9324	//    * APPIUM_WEB_RUBY_TEST_SPEC
9325	//
9326	//    * INSTRUMENTATION_TEST_SPEC
9327	//
9328	//    * XCTEST_UI_TEST_SPEC
9329	//
9330	// If you call CreateUpload with WEB_APP specified, AWS Device Farm throws an
9331	// ArgumentException error.
9332	//
9333	// Type is a required field
9334	Type *string `locationName:"type" type:"string" required:"true" enum:"UploadType"`
9335}
9336
9337// String returns the string representation
9338func (s CreateUploadInput) String() string {
9339	return awsutil.Prettify(s)
9340}
9341
9342// GoString returns the string representation
9343func (s CreateUploadInput) GoString() string {
9344	return s.String()
9345}
9346
9347// Validate inspects the fields of the type to determine if they are valid.
9348func (s *CreateUploadInput) Validate() error {
9349	invalidParams := request.ErrInvalidParams{Context: "CreateUploadInput"}
9350	if s.Name == nil {
9351		invalidParams.Add(request.NewErrParamRequired("Name"))
9352	}
9353	if s.ProjectArn == nil {
9354		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
9355	}
9356	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
9357		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
9358	}
9359	if s.Type == nil {
9360		invalidParams.Add(request.NewErrParamRequired("Type"))
9361	}
9362
9363	if invalidParams.Len() > 0 {
9364		return invalidParams
9365	}
9366	return nil
9367}
9368
9369// SetContentType sets the ContentType field's value.
9370func (s *CreateUploadInput) SetContentType(v string) *CreateUploadInput {
9371	s.ContentType = &v
9372	return s
9373}
9374
9375// SetName sets the Name field's value.
9376func (s *CreateUploadInput) SetName(v string) *CreateUploadInput {
9377	s.Name = &v
9378	return s
9379}
9380
9381// SetProjectArn sets the ProjectArn field's value.
9382func (s *CreateUploadInput) SetProjectArn(v string) *CreateUploadInput {
9383	s.ProjectArn = &v
9384	return s
9385}
9386
9387// SetType sets the Type field's value.
9388func (s *CreateUploadInput) SetType(v string) *CreateUploadInput {
9389	s.Type = &v
9390	return s
9391}
9392
9393// Represents the result of a create upload request.
9394type CreateUploadOutput struct {
9395	_ struct{} `type:"structure"`
9396
9397	// The newly created upload.
9398	Upload *Upload `locationName:"upload" type:"structure"`
9399}
9400
9401// String returns the string representation
9402func (s CreateUploadOutput) String() string {
9403	return awsutil.Prettify(s)
9404}
9405
9406// GoString returns the string representation
9407func (s CreateUploadOutput) GoString() string {
9408	return s.String()
9409}
9410
9411// SetUpload sets the Upload field's value.
9412func (s *CreateUploadOutput) SetUpload(v *Upload) *CreateUploadOutput {
9413	s.Upload = v
9414	return s
9415}
9416
9417type CreateVPCEConfigurationInput struct {
9418	_ struct{} `type:"structure"`
9419
9420	// The DNS name of the service running in your VPC that you want Device Farm
9421	// to test.
9422	//
9423	// ServiceDnsName is a required field
9424	ServiceDnsName *string `locationName:"serviceDnsName" type:"string" required:"true"`
9425
9426	// An optional description that provides details about your VPC endpoint configuration.
9427	VpceConfigurationDescription *string `locationName:"vpceConfigurationDescription" type:"string"`
9428
9429	// The friendly name you give to your VPC endpoint configuration, to manage
9430	// your configurations more easily.
9431	//
9432	// VpceConfigurationName is a required field
9433	VpceConfigurationName *string `locationName:"vpceConfigurationName" type:"string" required:"true"`
9434
9435	// The name of the VPC endpoint service running in your AWS account that you
9436	// want Device Farm to test.
9437	//
9438	// VpceServiceName is a required field
9439	VpceServiceName *string `locationName:"vpceServiceName" type:"string" required:"true"`
9440}
9441
9442// String returns the string representation
9443func (s CreateVPCEConfigurationInput) String() string {
9444	return awsutil.Prettify(s)
9445}
9446
9447// GoString returns the string representation
9448func (s CreateVPCEConfigurationInput) GoString() string {
9449	return s.String()
9450}
9451
9452// Validate inspects the fields of the type to determine if they are valid.
9453func (s *CreateVPCEConfigurationInput) Validate() error {
9454	invalidParams := request.ErrInvalidParams{Context: "CreateVPCEConfigurationInput"}
9455	if s.ServiceDnsName == nil {
9456		invalidParams.Add(request.NewErrParamRequired("ServiceDnsName"))
9457	}
9458	if s.VpceConfigurationName == nil {
9459		invalidParams.Add(request.NewErrParamRequired("VpceConfigurationName"))
9460	}
9461	if s.VpceServiceName == nil {
9462		invalidParams.Add(request.NewErrParamRequired("VpceServiceName"))
9463	}
9464
9465	if invalidParams.Len() > 0 {
9466		return invalidParams
9467	}
9468	return nil
9469}
9470
9471// SetServiceDnsName sets the ServiceDnsName field's value.
9472func (s *CreateVPCEConfigurationInput) SetServiceDnsName(v string) *CreateVPCEConfigurationInput {
9473	s.ServiceDnsName = &v
9474	return s
9475}
9476
9477// SetVpceConfigurationDescription sets the VpceConfigurationDescription field's value.
9478func (s *CreateVPCEConfigurationInput) SetVpceConfigurationDescription(v string) *CreateVPCEConfigurationInput {
9479	s.VpceConfigurationDescription = &v
9480	return s
9481}
9482
9483// SetVpceConfigurationName sets the VpceConfigurationName field's value.
9484func (s *CreateVPCEConfigurationInput) SetVpceConfigurationName(v string) *CreateVPCEConfigurationInput {
9485	s.VpceConfigurationName = &v
9486	return s
9487}
9488
9489// SetVpceServiceName sets the VpceServiceName field's value.
9490func (s *CreateVPCEConfigurationInput) SetVpceServiceName(v string) *CreateVPCEConfigurationInput {
9491	s.VpceServiceName = &v
9492	return s
9493}
9494
9495type CreateVPCEConfigurationOutput struct {
9496	_ struct{} `type:"structure"`
9497
9498	// An object that contains information about your VPC endpoint configuration.
9499	VpceConfiguration *VPCEConfiguration `locationName:"vpceConfiguration" type:"structure"`
9500}
9501
9502// String returns the string representation
9503func (s CreateVPCEConfigurationOutput) String() string {
9504	return awsutil.Prettify(s)
9505}
9506
9507// GoString returns the string representation
9508func (s CreateVPCEConfigurationOutput) GoString() string {
9509	return s.String()
9510}
9511
9512// SetVpceConfiguration sets the VpceConfiguration field's value.
9513func (s *CreateVPCEConfigurationOutput) SetVpceConfiguration(v *VPCEConfiguration) *CreateVPCEConfigurationOutput {
9514	s.VpceConfiguration = v
9515	return s
9516}
9517
9518// A JSON object that specifies the paths where the artifacts generated by the
9519// customer's tests, on the device or in the test environment, are pulled from.
9520//
9521// Specify deviceHostPaths and optionally specify either iosPaths or androidPaths.
9522//
9523// For web app tests, you can specify both iosPaths and androidPaths.
9524type CustomerArtifactPaths struct {
9525	_ struct{} `type:"structure"`
9526
9527	// Comma-separated list of paths on the Android device where the artifacts generated
9528	// by the customer's tests are pulled from.
9529	AndroidPaths []*string `locationName:"androidPaths" type:"list"`
9530
9531	// Comma-separated list of paths in the test execution environment where the
9532	// artifacts generated by the customer's tests are pulled from.
9533	DeviceHostPaths []*string `locationName:"deviceHostPaths" type:"list"`
9534
9535	// Comma-separated list of paths on the iOS device where the artifacts generated
9536	// by the customer's tests are pulled from.
9537	IosPaths []*string `locationName:"iosPaths" type:"list"`
9538}
9539
9540// String returns the string representation
9541func (s CustomerArtifactPaths) String() string {
9542	return awsutil.Prettify(s)
9543}
9544
9545// GoString returns the string representation
9546func (s CustomerArtifactPaths) GoString() string {
9547	return s.String()
9548}
9549
9550// SetAndroidPaths sets the AndroidPaths field's value.
9551func (s *CustomerArtifactPaths) SetAndroidPaths(v []*string) *CustomerArtifactPaths {
9552	s.AndroidPaths = v
9553	return s
9554}
9555
9556// SetDeviceHostPaths sets the DeviceHostPaths field's value.
9557func (s *CustomerArtifactPaths) SetDeviceHostPaths(v []*string) *CustomerArtifactPaths {
9558	s.DeviceHostPaths = v
9559	return s
9560}
9561
9562// SetIosPaths sets the IosPaths field's value.
9563func (s *CustomerArtifactPaths) SetIosPaths(v []*string) *CustomerArtifactPaths {
9564	s.IosPaths = v
9565	return s
9566}
9567
9568// Represents a request to the delete device pool operation.
9569type DeleteDevicePoolInput struct {
9570	_ struct{} `type:"structure"`
9571
9572	// Represents the Amazon Resource Name (ARN) of the Device Farm device pool
9573	// to delete.
9574	//
9575	// Arn is a required field
9576	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9577}
9578
9579// String returns the string representation
9580func (s DeleteDevicePoolInput) String() string {
9581	return awsutil.Prettify(s)
9582}
9583
9584// GoString returns the string representation
9585func (s DeleteDevicePoolInput) GoString() string {
9586	return s.String()
9587}
9588
9589// Validate inspects the fields of the type to determine if they are valid.
9590func (s *DeleteDevicePoolInput) Validate() error {
9591	invalidParams := request.ErrInvalidParams{Context: "DeleteDevicePoolInput"}
9592	if s.Arn == nil {
9593		invalidParams.Add(request.NewErrParamRequired("Arn"))
9594	}
9595	if s.Arn != nil && len(*s.Arn) < 32 {
9596		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9597	}
9598
9599	if invalidParams.Len() > 0 {
9600		return invalidParams
9601	}
9602	return nil
9603}
9604
9605// SetArn sets the Arn field's value.
9606func (s *DeleteDevicePoolInput) SetArn(v string) *DeleteDevicePoolInput {
9607	s.Arn = &v
9608	return s
9609}
9610
9611// Represents the result of a delete device pool request.
9612type DeleteDevicePoolOutput struct {
9613	_ struct{} `type:"structure"`
9614}
9615
9616// String returns the string representation
9617func (s DeleteDevicePoolOutput) String() string {
9618	return awsutil.Prettify(s)
9619}
9620
9621// GoString returns the string representation
9622func (s DeleteDevicePoolOutput) GoString() string {
9623	return s.String()
9624}
9625
9626type DeleteInstanceProfileInput struct {
9627	_ struct{} `type:"structure"`
9628
9629	// The Amazon Resource Name (ARN) of the instance profile you are requesting
9630	// to delete.
9631	//
9632	// Arn is a required field
9633	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9634}
9635
9636// String returns the string representation
9637func (s DeleteInstanceProfileInput) String() string {
9638	return awsutil.Prettify(s)
9639}
9640
9641// GoString returns the string representation
9642func (s DeleteInstanceProfileInput) GoString() string {
9643	return s.String()
9644}
9645
9646// Validate inspects the fields of the type to determine if they are valid.
9647func (s *DeleteInstanceProfileInput) Validate() error {
9648	invalidParams := request.ErrInvalidParams{Context: "DeleteInstanceProfileInput"}
9649	if s.Arn == nil {
9650		invalidParams.Add(request.NewErrParamRequired("Arn"))
9651	}
9652	if s.Arn != nil && len(*s.Arn) < 32 {
9653		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9654	}
9655
9656	if invalidParams.Len() > 0 {
9657		return invalidParams
9658	}
9659	return nil
9660}
9661
9662// SetArn sets the Arn field's value.
9663func (s *DeleteInstanceProfileInput) SetArn(v string) *DeleteInstanceProfileInput {
9664	s.Arn = &v
9665	return s
9666}
9667
9668type DeleteInstanceProfileOutput struct {
9669	_ struct{} `type:"structure"`
9670}
9671
9672// String returns the string representation
9673func (s DeleteInstanceProfileOutput) String() string {
9674	return awsutil.Prettify(s)
9675}
9676
9677// GoString returns the string representation
9678func (s DeleteInstanceProfileOutput) GoString() string {
9679	return s.String()
9680}
9681
9682type DeleteNetworkProfileInput struct {
9683	_ struct{} `type:"structure"`
9684
9685	// The ARN of the network profile to delete.
9686	//
9687	// Arn is a required field
9688	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9689}
9690
9691// String returns the string representation
9692func (s DeleteNetworkProfileInput) String() string {
9693	return awsutil.Prettify(s)
9694}
9695
9696// GoString returns the string representation
9697func (s DeleteNetworkProfileInput) GoString() string {
9698	return s.String()
9699}
9700
9701// Validate inspects the fields of the type to determine if they are valid.
9702func (s *DeleteNetworkProfileInput) Validate() error {
9703	invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkProfileInput"}
9704	if s.Arn == nil {
9705		invalidParams.Add(request.NewErrParamRequired("Arn"))
9706	}
9707	if s.Arn != nil && len(*s.Arn) < 32 {
9708		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9709	}
9710
9711	if invalidParams.Len() > 0 {
9712		return invalidParams
9713	}
9714	return nil
9715}
9716
9717// SetArn sets the Arn field's value.
9718func (s *DeleteNetworkProfileInput) SetArn(v string) *DeleteNetworkProfileInput {
9719	s.Arn = &v
9720	return s
9721}
9722
9723type DeleteNetworkProfileOutput struct {
9724	_ struct{} `type:"structure"`
9725}
9726
9727// String returns the string representation
9728func (s DeleteNetworkProfileOutput) String() string {
9729	return awsutil.Prettify(s)
9730}
9731
9732// GoString returns the string representation
9733func (s DeleteNetworkProfileOutput) GoString() string {
9734	return s.String()
9735}
9736
9737// Represents a request to the delete project operation.
9738type DeleteProjectInput struct {
9739	_ struct{} `type:"structure"`
9740
9741	// Represents the Amazon Resource Name (ARN) of the Device Farm project to delete.
9742	//
9743	// Arn is a required field
9744	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9745}
9746
9747// String returns the string representation
9748func (s DeleteProjectInput) String() string {
9749	return awsutil.Prettify(s)
9750}
9751
9752// GoString returns the string representation
9753func (s DeleteProjectInput) GoString() string {
9754	return s.String()
9755}
9756
9757// Validate inspects the fields of the type to determine if they are valid.
9758func (s *DeleteProjectInput) Validate() error {
9759	invalidParams := request.ErrInvalidParams{Context: "DeleteProjectInput"}
9760	if s.Arn == nil {
9761		invalidParams.Add(request.NewErrParamRequired("Arn"))
9762	}
9763	if s.Arn != nil && len(*s.Arn) < 32 {
9764		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9765	}
9766
9767	if invalidParams.Len() > 0 {
9768		return invalidParams
9769	}
9770	return nil
9771}
9772
9773// SetArn sets the Arn field's value.
9774func (s *DeleteProjectInput) SetArn(v string) *DeleteProjectInput {
9775	s.Arn = &v
9776	return s
9777}
9778
9779// Represents the result of a delete project request.
9780type DeleteProjectOutput struct {
9781	_ struct{} `type:"structure"`
9782}
9783
9784// String returns the string representation
9785func (s DeleteProjectOutput) String() string {
9786	return awsutil.Prettify(s)
9787}
9788
9789// GoString returns the string representation
9790func (s DeleteProjectOutput) GoString() string {
9791	return s.String()
9792}
9793
9794// Represents the request to delete the specified remote access session.
9795type DeleteRemoteAccessSessionInput struct {
9796	_ struct{} `type:"structure"`
9797
9798	// The Amazon Resource Name (ARN) of the session for which you want to delete
9799	// remote access.
9800	//
9801	// Arn is a required field
9802	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9803}
9804
9805// String returns the string representation
9806func (s DeleteRemoteAccessSessionInput) String() string {
9807	return awsutil.Prettify(s)
9808}
9809
9810// GoString returns the string representation
9811func (s DeleteRemoteAccessSessionInput) GoString() string {
9812	return s.String()
9813}
9814
9815// Validate inspects the fields of the type to determine if they are valid.
9816func (s *DeleteRemoteAccessSessionInput) Validate() error {
9817	invalidParams := request.ErrInvalidParams{Context: "DeleteRemoteAccessSessionInput"}
9818	if s.Arn == nil {
9819		invalidParams.Add(request.NewErrParamRequired("Arn"))
9820	}
9821	if s.Arn != nil && len(*s.Arn) < 32 {
9822		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9823	}
9824
9825	if invalidParams.Len() > 0 {
9826		return invalidParams
9827	}
9828	return nil
9829}
9830
9831// SetArn sets the Arn field's value.
9832func (s *DeleteRemoteAccessSessionInput) SetArn(v string) *DeleteRemoteAccessSessionInput {
9833	s.Arn = &v
9834	return s
9835}
9836
9837// The response from the server when a request is made to delete the remote
9838// access session.
9839type DeleteRemoteAccessSessionOutput struct {
9840	_ struct{} `type:"structure"`
9841}
9842
9843// String returns the string representation
9844func (s DeleteRemoteAccessSessionOutput) String() string {
9845	return awsutil.Prettify(s)
9846}
9847
9848// GoString returns the string representation
9849func (s DeleteRemoteAccessSessionOutput) GoString() string {
9850	return s.String()
9851}
9852
9853// Represents a request to the delete run operation.
9854type DeleteRunInput struct {
9855	_ struct{} `type:"structure"`
9856
9857	// The Amazon Resource Name (ARN) for the run to delete.
9858	//
9859	// Arn is a required field
9860	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9861}
9862
9863// String returns the string representation
9864func (s DeleteRunInput) String() string {
9865	return awsutil.Prettify(s)
9866}
9867
9868// GoString returns the string representation
9869func (s DeleteRunInput) GoString() string {
9870	return s.String()
9871}
9872
9873// Validate inspects the fields of the type to determine if they are valid.
9874func (s *DeleteRunInput) Validate() error {
9875	invalidParams := request.ErrInvalidParams{Context: "DeleteRunInput"}
9876	if s.Arn == nil {
9877		invalidParams.Add(request.NewErrParamRequired("Arn"))
9878	}
9879	if s.Arn != nil && len(*s.Arn) < 32 {
9880		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9881	}
9882
9883	if invalidParams.Len() > 0 {
9884		return invalidParams
9885	}
9886	return nil
9887}
9888
9889// SetArn sets the Arn field's value.
9890func (s *DeleteRunInput) SetArn(v string) *DeleteRunInput {
9891	s.Arn = &v
9892	return s
9893}
9894
9895// Represents the result of a delete run request.
9896type DeleteRunOutput struct {
9897	_ struct{} `type:"structure"`
9898}
9899
9900// String returns the string representation
9901func (s DeleteRunOutput) String() string {
9902	return awsutil.Prettify(s)
9903}
9904
9905// GoString returns the string representation
9906func (s DeleteRunOutput) GoString() string {
9907	return s.String()
9908}
9909
9910type DeleteTestGridProjectInput struct {
9911	_ struct{} `type:"structure"`
9912
9913	// The ARN of the project to delete, from CreateTestGridProject or ListTestGridProjects.
9914	//
9915	// ProjectArn is a required field
9916	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
9917}
9918
9919// String returns the string representation
9920func (s DeleteTestGridProjectInput) String() string {
9921	return awsutil.Prettify(s)
9922}
9923
9924// GoString returns the string representation
9925func (s DeleteTestGridProjectInput) GoString() string {
9926	return s.String()
9927}
9928
9929// Validate inspects the fields of the type to determine if they are valid.
9930func (s *DeleteTestGridProjectInput) Validate() error {
9931	invalidParams := request.ErrInvalidParams{Context: "DeleteTestGridProjectInput"}
9932	if s.ProjectArn == nil {
9933		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
9934	}
9935	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
9936		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
9937	}
9938
9939	if invalidParams.Len() > 0 {
9940		return invalidParams
9941	}
9942	return nil
9943}
9944
9945// SetProjectArn sets the ProjectArn field's value.
9946func (s *DeleteTestGridProjectInput) SetProjectArn(v string) *DeleteTestGridProjectInput {
9947	s.ProjectArn = &v
9948	return s
9949}
9950
9951type DeleteTestGridProjectOutput struct {
9952	_ struct{} `type:"structure"`
9953}
9954
9955// String returns the string representation
9956func (s DeleteTestGridProjectOutput) String() string {
9957	return awsutil.Prettify(s)
9958}
9959
9960// GoString returns the string representation
9961func (s DeleteTestGridProjectOutput) GoString() string {
9962	return s.String()
9963}
9964
9965// Represents a request to the delete upload operation.
9966type DeleteUploadInput struct {
9967	_ struct{} `type:"structure"`
9968
9969	// Represents the Amazon Resource Name (ARN) of the Device Farm upload to delete.
9970	//
9971	// Arn is a required field
9972	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
9973}
9974
9975// String returns the string representation
9976func (s DeleteUploadInput) String() string {
9977	return awsutil.Prettify(s)
9978}
9979
9980// GoString returns the string representation
9981func (s DeleteUploadInput) GoString() string {
9982	return s.String()
9983}
9984
9985// Validate inspects the fields of the type to determine if they are valid.
9986func (s *DeleteUploadInput) Validate() error {
9987	invalidParams := request.ErrInvalidParams{Context: "DeleteUploadInput"}
9988	if s.Arn == nil {
9989		invalidParams.Add(request.NewErrParamRequired("Arn"))
9990	}
9991	if s.Arn != nil && len(*s.Arn) < 32 {
9992		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
9993	}
9994
9995	if invalidParams.Len() > 0 {
9996		return invalidParams
9997	}
9998	return nil
9999}
10000
10001// SetArn sets the Arn field's value.
10002func (s *DeleteUploadInput) SetArn(v string) *DeleteUploadInput {
10003	s.Arn = &v
10004	return s
10005}
10006
10007// Represents the result of a delete upload request.
10008type DeleteUploadOutput struct {
10009	_ struct{} `type:"structure"`
10010}
10011
10012// String returns the string representation
10013func (s DeleteUploadOutput) String() string {
10014	return awsutil.Prettify(s)
10015}
10016
10017// GoString returns the string representation
10018func (s DeleteUploadOutput) GoString() string {
10019	return s.String()
10020}
10021
10022type DeleteVPCEConfigurationInput struct {
10023	_ struct{} `type:"structure"`
10024
10025	// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want
10026	// to delete.
10027	//
10028	// Arn is a required field
10029	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
10030}
10031
10032// String returns the string representation
10033func (s DeleteVPCEConfigurationInput) String() string {
10034	return awsutil.Prettify(s)
10035}
10036
10037// GoString returns the string representation
10038func (s DeleteVPCEConfigurationInput) GoString() string {
10039	return s.String()
10040}
10041
10042// Validate inspects the fields of the type to determine if they are valid.
10043func (s *DeleteVPCEConfigurationInput) Validate() error {
10044	invalidParams := request.ErrInvalidParams{Context: "DeleteVPCEConfigurationInput"}
10045	if s.Arn == nil {
10046		invalidParams.Add(request.NewErrParamRequired("Arn"))
10047	}
10048	if s.Arn != nil && len(*s.Arn) < 32 {
10049		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
10050	}
10051
10052	if invalidParams.Len() > 0 {
10053		return invalidParams
10054	}
10055	return nil
10056}
10057
10058// SetArn sets the Arn field's value.
10059func (s *DeleteVPCEConfigurationInput) SetArn(v string) *DeleteVPCEConfigurationInput {
10060	s.Arn = &v
10061	return s
10062}
10063
10064type DeleteVPCEConfigurationOutput struct {
10065	_ struct{} `type:"structure"`
10066}
10067
10068// String returns the string representation
10069func (s DeleteVPCEConfigurationOutput) String() string {
10070	return awsutil.Prettify(s)
10071}
10072
10073// GoString returns the string representation
10074func (s DeleteVPCEConfigurationOutput) GoString() string {
10075	return s.String()
10076}
10077
10078// Represents a device type that an app is tested against.
10079type Device struct {
10080	_ struct{} `type:"structure"`
10081
10082	// The device's ARN.
10083	Arn *string `locationName:"arn" min:"32" type:"string"`
10084
10085	// Indicates how likely a device is available for a test run. Currently available
10086	// in the ListDevices and GetDevice API methods.
10087	Availability *string `locationName:"availability" type:"string" enum:"DeviceAvailability"`
10088
10089	// The device's carrier.
10090	Carrier *string `locationName:"carrier" type:"string"`
10091
10092	// Information about the device's CPU.
10093	Cpu *CPU `locationName:"cpu" type:"structure"`
10094
10095	// The name of the fleet to which this device belongs.
10096	FleetName *string `locationName:"fleetName" type:"string"`
10097
10098	// The type of fleet to which this device belongs. Possible values are PRIVATE
10099	// and PUBLIC.
10100	FleetType *string `locationName:"fleetType" type:"string"`
10101
10102	// The device's form factor.
10103	//
10104	// Allowed values include:
10105	//
10106	//    * PHONE
10107	//
10108	//    * TABLET
10109	FormFactor *string `locationName:"formFactor" type:"string" enum:"DeviceFormFactor"`
10110
10111	// The device's heap size, expressed in bytes.
10112	HeapSize *int64 `locationName:"heapSize" type:"long"`
10113
10114	// The device's image name.
10115	Image *string `locationName:"image" type:"string"`
10116
10117	// The instances that belong to this device.
10118	Instances []*DeviceInstance `locationName:"instances" type:"list"`
10119
10120	// The device's manufacturer name.
10121	Manufacturer *string `locationName:"manufacturer" type:"string"`
10122
10123	// The device's total memory size, expressed in bytes.
10124	Memory *int64 `locationName:"memory" type:"long"`
10125
10126	// The device's model name.
10127	Model *string `locationName:"model" type:"string"`
10128
10129	// The device's model ID.
10130	ModelId *string `locationName:"modelId" type:"string"`
10131
10132	// The device's display name.
10133	Name *string `locationName:"name" type:"string"`
10134
10135	// The device's operating system type.
10136	Os *string `locationName:"os" type:"string"`
10137
10138	// The device's platform.
10139	//
10140	// Allowed values include:
10141	//
10142	//    * ANDROID
10143	//
10144	//    * IOS
10145	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
10146
10147	// The device's radio.
10148	Radio *string `locationName:"radio" type:"string"`
10149
10150	// Specifies whether remote access has been enabled for the specified device.
10151	RemoteAccessEnabled *bool `locationName:"remoteAccessEnabled" type:"boolean"`
10152
10153	// This flag is set to true if remote debugging is enabled for the device.
10154	//
10155	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
10156	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
10157
10158	// The resolution of the device.
10159	Resolution *Resolution `locationName:"resolution" type:"structure"`
10160}
10161
10162// String returns the string representation
10163func (s Device) String() string {
10164	return awsutil.Prettify(s)
10165}
10166
10167// GoString returns the string representation
10168func (s Device) GoString() string {
10169	return s.String()
10170}
10171
10172// SetArn sets the Arn field's value.
10173func (s *Device) SetArn(v string) *Device {
10174	s.Arn = &v
10175	return s
10176}
10177
10178// SetAvailability sets the Availability field's value.
10179func (s *Device) SetAvailability(v string) *Device {
10180	s.Availability = &v
10181	return s
10182}
10183
10184// SetCarrier sets the Carrier field's value.
10185func (s *Device) SetCarrier(v string) *Device {
10186	s.Carrier = &v
10187	return s
10188}
10189
10190// SetCpu sets the Cpu field's value.
10191func (s *Device) SetCpu(v *CPU) *Device {
10192	s.Cpu = v
10193	return s
10194}
10195
10196// SetFleetName sets the FleetName field's value.
10197func (s *Device) SetFleetName(v string) *Device {
10198	s.FleetName = &v
10199	return s
10200}
10201
10202// SetFleetType sets the FleetType field's value.
10203func (s *Device) SetFleetType(v string) *Device {
10204	s.FleetType = &v
10205	return s
10206}
10207
10208// SetFormFactor sets the FormFactor field's value.
10209func (s *Device) SetFormFactor(v string) *Device {
10210	s.FormFactor = &v
10211	return s
10212}
10213
10214// SetHeapSize sets the HeapSize field's value.
10215func (s *Device) SetHeapSize(v int64) *Device {
10216	s.HeapSize = &v
10217	return s
10218}
10219
10220// SetImage sets the Image field's value.
10221func (s *Device) SetImage(v string) *Device {
10222	s.Image = &v
10223	return s
10224}
10225
10226// SetInstances sets the Instances field's value.
10227func (s *Device) SetInstances(v []*DeviceInstance) *Device {
10228	s.Instances = v
10229	return s
10230}
10231
10232// SetManufacturer sets the Manufacturer field's value.
10233func (s *Device) SetManufacturer(v string) *Device {
10234	s.Manufacturer = &v
10235	return s
10236}
10237
10238// SetMemory sets the Memory field's value.
10239func (s *Device) SetMemory(v int64) *Device {
10240	s.Memory = &v
10241	return s
10242}
10243
10244// SetModel sets the Model field's value.
10245func (s *Device) SetModel(v string) *Device {
10246	s.Model = &v
10247	return s
10248}
10249
10250// SetModelId sets the ModelId field's value.
10251func (s *Device) SetModelId(v string) *Device {
10252	s.ModelId = &v
10253	return s
10254}
10255
10256// SetName sets the Name field's value.
10257func (s *Device) SetName(v string) *Device {
10258	s.Name = &v
10259	return s
10260}
10261
10262// SetOs sets the Os field's value.
10263func (s *Device) SetOs(v string) *Device {
10264	s.Os = &v
10265	return s
10266}
10267
10268// SetPlatform sets the Platform field's value.
10269func (s *Device) SetPlatform(v string) *Device {
10270	s.Platform = &v
10271	return s
10272}
10273
10274// SetRadio sets the Radio field's value.
10275func (s *Device) SetRadio(v string) *Device {
10276	s.Radio = &v
10277	return s
10278}
10279
10280// SetRemoteAccessEnabled sets the RemoteAccessEnabled field's value.
10281func (s *Device) SetRemoteAccessEnabled(v bool) *Device {
10282	s.RemoteAccessEnabled = &v
10283	return s
10284}
10285
10286// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
10287func (s *Device) SetRemoteDebugEnabled(v bool) *Device {
10288	s.RemoteDebugEnabled = &v
10289	return s
10290}
10291
10292// SetResolution sets the Resolution field's value.
10293func (s *Device) SetResolution(v *Resolution) *Device {
10294	s.Resolution = v
10295	return s
10296}
10297
10298// Represents a device filter used to select a set of devices to be included
10299// in a test run. This data structure is passed in as the deviceSelectionConfiguration
10300// parameter to ScheduleRun. For an example of the JSON request syntax, see
10301// ScheduleRun.
10302//
10303// It is also passed in as the filters parameter to ListDevices. For an example
10304// of the JSON request syntax, see ListDevices.
10305type DeviceFilter struct {
10306	_ struct{} `type:"structure"`
10307
10308	// The aspect of a device such as platform or model used as the selection criteria
10309	// in a device filter.
10310	//
10311	// The supported operators for each attribute are provided in the following
10312	// list.
10313	//
10314	// ARN
10315	//
10316	// The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).
10317	//
10318	// Supported operators: EQUALS, IN, NOT_IN
10319	//
10320	// PLATFORM
10321	//
10322	// The device platform. Valid values are ANDROID or IOS.
10323	//
10324	// Supported operators: EQUALS
10325	//
10326	// OS_VERSION
10327	//
10328	// The operating system version (for example, 10.3.2).
10329	//
10330	// Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN,
10331	// LESS_THAN_OR_EQUALS, NOT_IN
10332	//
10333	// MODEL
10334	//
10335	// The device model (for example, iPad 5th Gen).
10336	//
10337	// Supported operators: CONTAINS, EQUALS, IN, NOT_IN
10338	//
10339	// AVAILABILITY
10340	//
10341	// The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE,
10342	// BUSY, or TEMPORARY_NOT_AVAILABLE.
10343	//
10344	// Supported operators: EQUALS
10345	//
10346	// FORM_FACTOR
10347	//
10348	// The device form factor. Valid values are PHONE or TABLET.
10349	//
10350	// Supported operators: EQUALS
10351	//
10352	// MANUFACTURER
10353	//
10354	// The device manufacturer (for example, Apple).
10355	//
10356	// Supported operators: EQUALS, IN, NOT_IN
10357	//
10358	// REMOTE_ACCESS_ENABLED
10359	//
10360	// Whether the device is enabled for remote access. Valid values are TRUE or
10361	// FALSE.
10362	//
10363	// Supported operators: EQUALS
10364	//
10365	// REMOTE_DEBUG_ENABLED
10366	//
10367	// Whether the device is enabled for remote debugging. Valid values are TRUE
10368	// or FALSE.
10369	//
10370	// Supported operators: EQUALS
10371	//
10372	// Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
10373	// this filter is ignored.
10374	//
10375	// INSTANCE_ARN
10376	//
10377	// The Amazon Resource Name (ARN) of the device instance.
10378	//
10379	// Supported operators: EQUALS, IN, NOT_IN
10380	//
10381	// INSTANCE_LABELS
10382	//
10383	// The label of the device instance.
10384	//
10385	// Supported operators: CONTAINS
10386	//
10387	// FLEET_TYPE
10388	//
10389	// The fleet type. Valid values are PUBLIC or PRIVATE.
10390	//
10391	// Supported operators: EQUALS
10392	Attribute *string `locationName:"attribute" type:"string" enum:"DeviceFilterAttribute"`
10393
10394	// Specifies how Device Farm compares the filter's attribute to the value. See
10395	// the attribute descriptions.
10396	Operator *string `locationName:"operator" type:"string" enum:"RuleOperator"`
10397
10398	// An array of one or more filter values used in a device filter.
10399	//
10400	// Operator Values
10401	//
10402	//    * The IN and NOT_IN operators can take a values array that has more than
10403	//    one element.
10404	//
10405	//    * The other operators require an array with a single element.
10406	//
10407	// Attribute Values
10408	//
10409	//    * The PLATFORM attribute can be set to ANDROID or IOS.
10410	//
10411	//    * The AVAILABILITY attribute can be set to AVAILABLE, HIGHLY_AVAILABLE,
10412	//    BUSY, or TEMPORARY_NOT_AVAILABLE.
10413	//
10414	//    * The FORM_FACTOR attribute can be set to PHONE or TABLET.
10415	//
10416	//    * The FLEET_TYPE attribute can be set to PUBLIC or PRIVATE.
10417	Values []*string `locationName:"values" type:"list"`
10418}
10419
10420// String returns the string representation
10421func (s DeviceFilter) String() string {
10422	return awsutil.Prettify(s)
10423}
10424
10425// GoString returns the string representation
10426func (s DeviceFilter) GoString() string {
10427	return s.String()
10428}
10429
10430// SetAttribute sets the Attribute field's value.
10431func (s *DeviceFilter) SetAttribute(v string) *DeviceFilter {
10432	s.Attribute = &v
10433	return s
10434}
10435
10436// SetOperator sets the Operator field's value.
10437func (s *DeviceFilter) SetOperator(v string) *DeviceFilter {
10438	s.Operator = &v
10439	return s
10440}
10441
10442// SetValues sets the Values field's value.
10443func (s *DeviceFilter) SetValues(v []*string) *DeviceFilter {
10444	s.Values = v
10445	return s
10446}
10447
10448// Represents the device instance.
10449type DeviceInstance struct {
10450	_ struct{} `type:"structure"`
10451
10452	// The Amazon Resource Name (ARN) of the device instance.
10453	Arn *string `locationName:"arn" min:"32" type:"string"`
10454
10455	// The ARN of the device.
10456	DeviceArn *string `locationName:"deviceArn" min:"32" type:"string"`
10457
10458	// A object that contains information about the instance profile.
10459	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
10460
10461	// An array of strings that describe the device instance.
10462	Labels []*string `locationName:"labels" type:"list"`
10463
10464	// The status of the device instance. Valid values are listed here.
10465	Status *string `locationName:"status" type:"string" enum:"InstanceStatus"`
10466
10467	// Unique device identifier for the device instance.
10468	Udid *string `locationName:"udid" type:"string"`
10469}
10470
10471// String returns the string representation
10472func (s DeviceInstance) String() string {
10473	return awsutil.Prettify(s)
10474}
10475
10476// GoString returns the string representation
10477func (s DeviceInstance) GoString() string {
10478	return s.String()
10479}
10480
10481// SetArn sets the Arn field's value.
10482func (s *DeviceInstance) SetArn(v string) *DeviceInstance {
10483	s.Arn = &v
10484	return s
10485}
10486
10487// SetDeviceArn sets the DeviceArn field's value.
10488func (s *DeviceInstance) SetDeviceArn(v string) *DeviceInstance {
10489	s.DeviceArn = &v
10490	return s
10491}
10492
10493// SetInstanceProfile sets the InstanceProfile field's value.
10494func (s *DeviceInstance) SetInstanceProfile(v *InstanceProfile) *DeviceInstance {
10495	s.InstanceProfile = v
10496	return s
10497}
10498
10499// SetLabels sets the Labels field's value.
10500func (s *DeviceInstance) SetLabels(v []*string) *DeviceInstance {
10501	s.Labels = v
10502	return s
10503}
10504
10505// SetStatus sets the Status field's value.
10506func (s *DeviceInstance) SetStatus(v string) *DeviceInstance {
10507	s.Status = &v
10508	return s
10509}
10510
10511// SetUdid sets the Udid field's value.
10512func (s *DeviceInstance) SetUdid(v string) *DeviceInstance {
10513	s.Udid = &v
10514	return s
10515}
10516
10517// Represents the total (metered or unmetered) minutes used by the resource
10518// to run tests. Contains the sum of minutes consumed by all children.
10519type DeviceMinutes struct {
10520	_ struct{} `type:"structure"`
10521
10522	// When specified, represents only the sum of metered minutes used by the resource
10523	// to run tests.
10524	Metered *float64 `locationName:"metered" type:"double"`
10525
10526	// When specified, represents the total minutes used by the resource to run
10527	// tests.
10528	Total *float64 `locationName:"total" type:"double"`
10529
10530	// When specified, represents only the sum of unmetered minutes used by the
10531	// resource to run tests.
10532	Unmetered *float64 `locationName:"unmetered" type:"double"`
10533}
10534
10535// String returns the string representation
10536func (s DeviceMinutes) String() string {
10537	return awsutil.Prettify(s)
10538}
10539
10540// GoString returns the string representation
10541func (s DeviceMinutes) GoString() string {
10542	return s.String()
10543}
10544
10545// SetMetered sets the Metered field's value.
10546func (s *DeviceMinutes) SetMetered(v float64) *DeviceMinutes {
10547	s.Metered = &v
10548	return s
10549}
10550
10551// SetTotal sets the Total field's value.
10552func (s *DeviceMinutes) SetTotal(v float64) *DeviceMinutes {
10553	s.Total = &v
10554	return s
10555}
10556
10557// SetUnmetered sets the Unmetered field's value.
10558func (s *DeviceMinutes) SetUnmetered(v float64) *DeviceMinutes {
10559	s.Unmetered = &v
10560	return s
10561}
10562
10563// Represents a collection of device types.
10564type DevicePool struct {
10565	_ struct{} `type:"structure"`
10566
10567	// The device pool's ARN.
10568	Arn *string `locationName:"arn" min:"32" type:"string"`
10569
10570	// The device pool's description.
10571	Description *string `locationName:"description" type:"string"`
10572
10573	// The number of devices that Device Farm can add to your device pool. Device
10574	// Farm adds devices that are available and meet the criteria that you assign
10575	// for the rules parameter. Depending on how many devices meet these constraints,
10576	// your device pool might contain fewer devices than the value for this parameter.
10577	//
10578	// By specifying the maximum number of devices, you can control the costs that
10579	// you incur by running tests.
10580	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
10581
10582	// The device pool's name.
10583	Name *string `locationName:"name" type:"string"`
10584
10585	// Information about the device pool's rules.
10586	Rules []*Rule `locationName:"rules" type:"list"`
10587
10588	// The device pool's type.
10589	//
10590	// Allowed values include:
10591	//
10592	//    * CURATED: A device pool that is created and managed by AWS Device Farm.
10593	//
10594	//    * PRIVATE: A device pool that is created and managed by the device pool
10595	//    developer.
10596	Type *string `locationName:"type" type:"string" enum:"DevicePoolType"`
10597}
10598
10599// String returns the string representation
10600func (s DevicePool) String() string {
10601	return awsutil.Prettify(s)
10602}
10603
10604// GoString returns the string representation
10605func (s DevicePool) GoString() string {
10606	return s.String()
10607}
10608
10609// SetArn sets the Arn field's value.
10610func (s *DevicePool) SetArn(v string) *DevicePool {
10611	s.Arn = &v
10612	return s
10613}
10614
10615// SetDescription sets the Description field's value.
10616func (s *DevicePool) SetDescription(v string) *DevicePool {
10617	s.Description = &v
10618	return s
10619}
10620
10621// SetMaxDevices sets the MaxDevices field's value.
10622func (s *DevicePool) SetMaxDevices(v int64) *DevicePool {
10623	s.MaxDevices = &v
10624	return s
10625}
10626
10627// SetName sets the Name field's value.
10628func (s *DevicePool) SetName(v string) *DevicePool {
10629	s.Name = &v
10630	return s
10631}
10632
10633// SetRules sets the Rules field's value.
10634func (s *DevicePool) SetRules(v []*Rule) *DevicePool {
10635	s.Rules = v
10636	return s
10637}
10638
10639// SetType sets the Type field's value.
10640func (s *DevicePool) SetType(v string) *DevicePool {
10641	s.Type = &v
10642	return s
10643}
10644
10645// Represents a device pool compatibility result.
10646type DevicePoolCompatibilityResult struct {
10647	_ struct{} `type:"structure"`
10648
10649	// Whether the result was compatible with the device pool.
10650	Compatible *bool `locationName:"compatible" type:"boolean"`
10651
10652	// The device (phone or tablet) to return information about.
10653	Device *Device `locationName:"device" type:"structure"`
10654
10655	// Information about the compatibility.
10656	IncompatibilityMessages []*IncompatibilityMessage `locationName:"incompatibilityMessages" type:"list"`
10657}
10658
10659// String returns the string representation
10660func (s DevicePoolCompatibilityResult) String() string {
10661	return awsutil.Prettify(s)
10662}
10663
10664// GoString returns the string representation
10665func (s DevicePoolCompatibilityResult) GoString() string {
10666	return s.String()
10667}
10668
10669// SetCompatible sets the Compatible field's value.
10670func (s *DevicePoolCompatibilityResult) SetCompatible(v bool) *DevicePoolCompatibilityResult {
10671	s.Compatible = &v
10672	return s
10673}
10674
10675// SetDevice sets the Device field's value.
10676func (s *DevicePoolCompatibilityResult) SetDevice(v *Device) *DevicePoolCompatibilityResult {
10677	s.Device = v
10678	return s
10679}
10680
10681// SetIncompatibilityMessages sets the IncompatibilityMessages field's value.
10682func (s *DevicePoolCompatibilityResult) SetIncompatibilityMessages(v []*IncompatibilityMessage) *DevicePoolCompatibilityResult {
10683	s.IncompatibilityMessages = v
10684	return s
10685}
10686
10687// Represents the device filters used in a test run and the maximum number of
10688// devices to be included in the run. It is passed in as the deviceSelectionConfiguration
10689// request parameter in ScheduleRun.
10690type DeviceSelectionConfiguration struct {
10691	_ struct{} `type:"structure"`
10692
10693	// Used to dynamically select a set of devices for a test run. A filter is made
10694	// up of an attribute, an operator, and one or more values.
10695	//
10696	//    * Attribute The aspect of a device such as platform or model used as the
10697	//    selection criteria in a device filter. Allowed values include: ARN: The
10698	//    Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).
10699	//    PLATFORM: The device platform. Valid values are ANDROID or IOS. OS_VERSION:
10700	//    The operating system version (for example, 10.3.2). MODEL: The device
10701	//    model (for example, iPad 5th Gen). AVAILABILITY: The current availability
10702	//    of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or
10703	//    TEMPORARY_NOT_AVAILABLE. FORM_FACTOR: The device form factor. Valid values
10704	//    are PHONE or TABLET. MANUFACTURER: The device manufacturer (for example,
10705	//    Apple). REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote
10706	//    access. Valid values are TRUE or FALSE. REMOTE_DEBUG_ENABLED: Whether
10707	//    the device is enabled for remote debugging. Valid values are TRUE or FALSE.
10708	//    Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
10709	//    this filter is ignored. INSTANCE_ARN: The Amazon Resource Name (ARN) of
10710	//    the device instance. INSTANCE_LABELS: The label of the device instance.
10711	//    FLEET_TYPE: The fleet type. Valid values are PUBLIC or PRIVATE.
10712	//
10713	//    * Operator The filter operator. The EQUALS operator is available for every
10714	//    attribute except INSTANCE_LABELS. The CONTAINS operator is available for
10715	//    the INSTANCE_LABELS and MODEL attributes. The IN and NOT_IN operators
10716	//    are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN
10717	//    attributes. The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS
10718	//    operators are also available for the OS_VERSION attribute.
10719	//
10720	//    * Values An array of one or more filter values. Operator Values The IN
10721	//    and NOT_IN operators can take a values array that has more than one element.
10722	//    The other operators require an array with a single element. Attribute
10723	//    Values The PLATFORM attribute can be set to ANDROID or IOS. The AVAILABILITY
10724	//    attribute can be set to AVAILABLE, HIGHLY_AVAILABLE, BUSY, or TEMPORARY_NOT_AVAILABLE.
10725	//    The FORM_FACTOR attribute can be set to PHONE or TABLET. The FLEET_TYPE
10726	//    attribute can be set to PUBLIC or PRIVATE.
10727	//
10728	// Filters is a required field
10729	Filters []*DeviceFilter `locationName:"filters" type:"list" required:"true"`
10730
10731	// The maximum number of devices to be included in a test run.
10732	//
10733	// MaxDevices is a required field
10734	MaxDevices *int64 `locationName:"maxDevices" type:"integer" required:"true"`
10735}
10736
10737// String returns the string representation
10738func (s DeviceSelectionConfiguration) String() string {
10739	return awsutil.Prettify(s)
10740}
10741
10742// GoString returns the string representation
10743func (s DeviceSelectionConfiguration) GoString() string {
10744	return s.String()
10745}
10746
10747// Validate inspects the fields of the type to determine if they are valid.
10748func (s *DeviceSelectionConfiguration) Validate() error {
10749	invalidParams := request.ErrInvalidParams{Context: "DeviceSelectionConfiguration"}
10750	if s.Filters == nil {
10751		invalidParams.Add(request.NewErrParamRequired("Filters"))
10752	}
10753	if s.MaxDevices == nil {
10754		invalidParams.Add(request.NewErrParamRequired("MaxDevices"))
10755	}
10756
10757	if invalidParams.Len() > 0 {
10758		return invalidParams
10759	}
10760	return nil
10761}
10762
10763// SetFilters sets the Filters field's value.
10764func (s *DeviceSelectionConfiguration) SetFilters(v []*DeviceFilter) *DeviceSelectionConfiguration {
10765	s.Filters = v
10766	return s
10767}
10768
10769// SetMaxDevices sets the MaxDevices field's value.
10770func (s *DeviceSelectionConfiguration) SetMaxDevices(v int64) *DeviceSelectionConfiguration {
10771	s.MaxDevices = &v
10772	return s
10773}
10774
10775// Contains the run results requested by the device selection configuration
10776// and how many devices were returned. For an example of the JSON response syntax,
10777// see ScheduleRun.
10778type DeviceSelectionResult struct {
10779	_ struct{} `type:"structure"`
10780
10781	// The filters in a device selection result.
10782	Filters []*DeviceFilter `locationName:"filters" type:"list"`
10783
10784	// The number of devices that matched the device filter selection criteria.
10785	MatchedDevicesCount *int64 `locationName:"matchedDevicesCount" type:"integer"`
10786
10787	// The maximum number of devices to be selected by a device filter and included
10788	// in a test run.
10789	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
10790}
10791
10792// String returns the string representation
10793func (s DeviceSelectionResult) String() string {
10794	return awsutil.Prettify(s)
10795}
10796
10797// GoString returns the string representation
10798func (s DeviceSelectionResult) GoString() string {
10799	return s.String()
10800}
10801
10802// SetFilters sets the Filters field's value.
10803func (s *DeviceSelectionResult) SetFilters(v []*DeviceFilter) *DeviceSelectionResult {
10804	s.Filters = v
10805	return s
10806}
10807
10808// SetMatchedDevicesCount sets the MatchedDevicesCount field's value.
10809func (s *DeviceSelectionResult) SetMatchedDevicesCount(v int64) *DeviceSelectionResult {
10810	s.MatchedDevicesCount = &v
10811	return s
10812}
10813
10814// SetMaxDevices sets the MaxDevices field's value.
10815func (s *DeviceSelectionResult) SetMaxDevices(v int64) *DeviceSelectionResult {
10816	s.MaxDevices = &v
10817	return s
10818}
10819
10820// Represents configuration information about a test run, such as the execution
10821// timeout (in minutes).
10822type ExecutionConfiguration struct {
10823	_ struct{} `type:"structure"`
10824
10825	// True if account cleanup is enabled at the beginning of the test. Otherwise,
10826	// false.
10827	AccountsCleanup *bool `locationName:"accountsCleanup" type:"boolean"`
10828
10829	// True if app package cleanup is enabled at the beginning of the test. Otherwise,
10830	// false.
10831	AppPackagesCleanup *bool `locationName:"appPackagesCleanup" type:"boolean"`
10832
10833	// The number of minutes a test run executes before it times out.
10834	JobTimeoutMinutes *int64 `locationName:"jobTimeoutMinutes" type:"integer"`
10835
10836	// When set to true, for private devices, Device Farm does not sign your app
10837	// again. For public devices, Device Farm always signs your apps again.
10838	//
10839	// For more information about how Device Farm re-signs your apps, see Do you
10840	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
10841	// Farm FAQs.
10842	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
10843
10844	// Set to true to enable video capture. Otherwise, set to false. The default
10845	// is true.
10846	VideoCapture *bool `locationName:"videoCapture" type:"boolean"`
10847}
10848
10849// String returns the string representation
10850func (s ExecutionConfiguration) String() string {
10851	return awsutil.Prettify(s)
10852}
10853
10854// GoString returns the string representation
10855func (s ExecutionConfiguration) GoString() string {
10856	return s.String()
10857}
10858
10859// SetAccountsCleanup sets the AccountsCleanup field's value.
10860func (s *ExecutionConfiguration) SetAccountsCleanup(v bool) *ExecutionConfiguration {
10861	s.AccountsCleanup = &v
10862	return s
10863}
10864
10865// SetAppPackagesCleanup sets the AppPackagesCleanup field's value.
10866func (s *ExecutionConfiguration) SetAppPackagesCleanup(v bool) *ExecutionConfiguration {
10867	s.AppPackagesCleanup = &v
10868	return s
10869}
10870
10871// SetJobTimeoutMinutes sets the JobTimeoutMinutes field's value.
10872func (s *ExecutionConfiguration) SetJobTimeoutMinutes(v int64) *ExecutionConfiguration {
10873	s.JobTimeoutMinutes = &v
10874	return s
10875}
10876
10877// SetSkipAppResign sets the SkipAppResign field's value.
10878func (s *ExecutionConfiguration) SetSkipAppResign(v bool) *ExecutionConfiguration {
10879	s.SkipAppResign = &v
10880	return s
10881}
10882
10883// SetVideoCapture sets the VideoCapture field's value.
10884func (s *ExecutionConfiguration) SetVideoCapture(v bool) *ExecutionConfiguration {
10885	s.VideoCapture = &v
10886	return s
10887}
10888
10889// Represents the request sent to retrieve the account settings.
10890type GetAccountSettingsInput struct {
10891	_ struct{} `type:"structure"`
10892}
10893
10894// String returns the string representation
10895func (s GetAccountSettingsInput) String() string {
10896	return awsutil.Prettify(s)
10897}
10898
10899// GoString returns the string representation
10900func (s GetAccountSettingsInput) GoString() string {
10901	return s.String()
10902}
10903
10904// Represents the account settings return values from the GetAccountSettings
10905// request.
10906type GetAccountSettingsOutput struct {
10907	_ struct{} `type:"structure"`
10908
10909	// The account settings.
10910	AccountSettings *AccountSettings `locationName:"accountSettings" type:"structure"`
10911}
10912
10913// String returns the string representation
10914func (s GetAccountSettingsOutput) String() string {
10915	return awsutil.Prettify(s)
10916}
10917
10918// GoString returns the string representation
10919func (s GetAccountSettingsOutput) GoString() string {
10920	return s.String()
10921}
10922
10923// SetAccountSettings sets the AccountSettings field's value.
10924func (s *GetAccountSettingsOutput) SetAccountSettings(v *AccountSettings) *GetAccountSettingsOutput {
10925	s.AccountSettings = v
10926	return s
10927}
10928
10929// Represents a request to the get device request.
10930type GetDeviceInput struct {
10931	_ struct{} `type:"structure"`
10932
10933	// The device type's ARN.
10934	//
10935	// Arn is a required field
10936	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
10937}
10938
10939// String returns the string representation
10940func (s GetDeviceInput) String() string {
10941	return awsutil.Prettify(s)
10942}
10943
10944// GoString returns the string representation
10945func (s GetDeviceInput) GoString() string {
10946	return s.String()
10947}
10948
10949// Validate inspects the fields of the type to determine if they are valid.
10950func (s *GetDeviceInput) Validate() error {
10951	invalidParams := request.ErrInvalidParams{Context: "GetDeviceInput"}
10952	if s.Arn == nil {
10953		invalidParams.Add(request.NewErrParamRequired("Arn"))
10954	}
10955	if s.Arn != nil && len(*s.Arn) < 32 {
10956		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
10957	}
10958
10959	if invalidParams.Len() > 0 {
10960		return invalidParams
10961	}
10962	return nil
10963}
10964
10965// SetArn sets the Arn field's value.
10966func (s *GetDeviceInput) SetArn(v string) *GetDeviceInput {
10967	s.Arn = &v
10968	return s
10969}
10970
10971type GetDeviceInstanceInput struct {
10972	_ struct{} `type:"structure"`
10973
10974	// The Amazon Resource Name (ARN) of the instance you're requesting information
10975	// about.
10976	//
10977	// Arn is a required field
10978	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
10979}
10980
10981// String returns the string representation
10982func (s GetDeviceInstanceInput) String() string {
10983	return awsutil.Prettify(s)
10984}
10985
10986// GoString returns the string representation
10987func (s GetDeviceInstanceInput) GoString() string {
10988	return s.String()
10989}
10990
10991// Validate inspects the fields of the type to determine if they are valid.
10992func (s *GetDeviceInstanceInput) Validate() error {
10993	invalidParams := request.ErrInvalidParams{Context: "GetDeviceInstanceInput"}
10994	if s.Arn == nil {
10995		invalidParams.Add(request.NewErrParamRequired("Arn"))
10996	}
10997	if s.Arn != nil && len(*s.Arn) < 32 {
10998		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
10999	}
11000
11001	if invalidParams.Len() > 0 {
11002		return invalidParams
11003	}
11004	return nil
11005}
11006
11007// SetArn sets the Arn field's value.
11008func (s *GetDeviceInstanceInput) SetArn(v string) *GetDeviceInstanceInput {
11009	s.Arn = &v
11010	return s
11011}
11012
11013type GetDeviceInstanceOutput struct {
11014	_ struct{} `type:"structure"`
11015
11016	// An object that contains information about your device instance.
11017	DeviceInstance *DeviceInstance `locationName:"deviceInstance" type:"structure"`
11018}
11019
11020// String returns the string representation
11021func (s GetDeviceInstanceOutput) String() string {
11022	return awsutil.Prettify(s)
11023}
11024
11025// GoString returns the string representation
11026func (s GetDeviceInstanceOutput) GoString() string {
11027	return s.String()
11028}
11029
11030// SetDeviceInstance sets the DeviceInstance field's value.
11031func (s *GetDeviceInstanceOutput) SetDeviceInstance(v *DeviceInstance) *GetDeviceInstanceOutput {
11032	s.DeviceInstance = v
11033	return s
11034}
11035
11036// Represents the result of a get device request.
11037type GetDeviceOutput struct {
11038	_ struct{} `type:"structure"`
11039
11040	// An object that contains information about the requested device.
11041	Device *Device `locationName:"device" type:"structure"`
11042}
11043
11044// String returns the string representation
11045func (s GetDeviceOutput) String() string {
11046	return awsutil.Prettify(s)
11047}
11048
11049// GoString returns the string representation
11050func (s GetDeviceOutput) GoString() string {
11051	return s.String()
11052}
11053
11054// SetDevice sets the Device field's value.
11055func (s *GetDeviceOutput) SetDevice(v *Device) *GetDeviceOutput {
11056	s.Device = v
11057	return s
11058}
11059
11060// Represents a request to the get device pool compatibility operation.
11061type GetDevicePoolCompatibilityInput struct {
11062	_ struct{} `type:"structure"`
11063
11064	// The ARN of the app that is associated with the specified device pool.
11065	AppArn *string `locationName:"appArn" min:"32" type:"string"`
11066
11067	// An object that contains information about the settings for a run.
11068	Configuration *ScheduleRunConfiguration `locationName:"configuration" type:"structure"`
11069
11070	// The device pool's ARN.
11071	//
11072	// DevicePoolArn is a required field
11073	DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string" required:"true"`
11074
11075	// Information about the uploaded test to be run against the device pool.
11076	Test *ScheduleRunTest `locationName:"test" type:"structure"`
11077
11078	// The test type for the specified device pool.
11079	//
11080	// Allowed values include the following:
11081	//
11082	//    * BUILTIN_FUZZ.
11083	//
11084	//    * BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android
11085	//    app, interacting with it and capturing screenshots at the same time.
11086	//
11087	//    * APPIUM_JAVA_JUNIT.
11088	//
11089	//    * APPIUM_JAVA_TESTNG.
11090	//
11091	//    * APPIUM_PYTHON.
11092	//
11093	//    * APPIUM_NODE.
11094	//
11095	//    * APPIUM_RUBY.
11096	//
11097	//    * APPIUM_WEB_JAVA_JUNIT.
11098	//
11099	//    * APPIUM_WEB_JAVA_TESTNG.
11100	//
11101	//    * APPIUM_WEB_PYTHON.
11102	//
11103	//    * APPIUM_WEB_NODE.
11104	//
11105	//    * APPIUM_WEB_RUBY.
11106	//
11107	//    * CALABASH.
11108	//
11109	//    * INSTRUMENTATION.
11110	//
11111	//    * UIAUTOMATION.
11112	//
11113	//    * UIAUTOMATOR.
11114	//
11115	//    * XCTEST.
11116	//
11117	//    * XCTEST_UI.
11118	TestType *string `locationName:"testType" type:"string" enum:"TestType"`
11119}
11120
11121// String returns the string representation
11122func (s GetDevicePoolCompatibilityInput) String() string {
11123	return awsutil.Prettify(s)
11124}
11125
11126// GoString returns the string representation
11127func (s GetDevicePoolCompatibilityInput) GoString() string {
11128	return s.String()
11129}
11130
11131// Validate inspects the fields of the type to determine if they are valid.
11132func (s *GetDevicePoolCompatibilityInput) Validate() error {
11133	invalidParams := request.ErrInvalidParams{Context: "GetDevicePoolCompatibilityInput"}
11134	if s.AppArn != nil && len(*s.AppArn) < 32 {
11135		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
11136	}
11137	if s.DevicePoolArn == nil {
11138		invalidParams.Add(request.NewErrParamRequired("DevicePoolArn"))
11139	}
11140	if s.DevicePoolArn != nil && len(*s.DevicePoolArn) < 32 {
11141		invalidParams.Add(request.NewErrParamMinLen("DevicePoolArn", 32))
11142	}
11143	if s.Configuration != nil {
11144		if err := s.Configuration.Validate(); err != nil {
11145			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
11146		}
11147	}
11148	if s.Test != nil {
11149		if err := s.Test.Validate(); err != nil {
11150			invalidParams.AddNested("Test", err.(request.ErrInvalidParams))
11151		}
11152	}
11153
11154	if invalidParams.Len() > 0 {
11155		return invalidParams
11156	}
11157	return nil
11158}
11159
11160// SetAppArn sets the AppArn field's value.
11161func (s *GetDevicePoolCompatibilityInput) SetAppArn(v string) *GetDevicePoolCompatibilityInput {
11162	s.AppArn = &v
11163	return s
11164}
11165
11166// SetConfiguration sets the Configuration field's value.
11167func (s *GetDevicePoolCompatibilityInput) SetConfiguration(v *ScheduleRunConfiguration) *GetDevicePoolCompatibilityInput {
11168	s.Configuration = v
11169	return s
11170}
11171
11172// SetDevicePoolArn sets the DevicePoolArn field's value.
11173func (s *GetDevicePoolCompatibilityInput) SetDevicePoolArn(v string) *GetDevicePoolCompatibilityInput {
11174	s.DevicePoolArn = &v
11175	return s
11176}
11177
11178// SetTest sets the Test field's value.
11179func (s *GetDevicePoolCompatibilityInput) SetTest(v *ScheduleRunTest) *GetDevicePoolCompatibilityInput {
11180	s.Test = v
11181	return s
11182}
11183
11184// SetTestType sets the TestType field's value.
11185func (s *GetDevicePoolCompatibilityInput) SetTestType(v string) *GetDevicePoolCompatibilityInput {
11186	s.TestType = &v
11187	return s
11188}
11189
11190// Represents the result of describe device pool compatibility request.
11191type GetDevicePoolCompatibilityOutput struct {
11192	_ struct{} `type:"structure"`
11193
11194	// Information about compatible devices.
11195	CompatibleDevices []*DevicePoolCompatibilityResult `locationName:"compatibleDevices" type:"list"`
11196
11197	// Information about incompatible devices.
11198	IncompatibleDevices []*DevicePoolCompatibilityResult `locationName:"incompatibleDevices" type:"list"`
11199}
11200
11201// String returns the string representation
11202func (s GetDevicePoolCompatibilityOutput) String() string {
11203	return awsutil.Prettify(s)
11204}
11205
11206// GoString returns the string representation
11207func (s GetDevicePoolCompatibilityOutput) GoString() string {
11208	return s.String()
11209}
11210
11211// SetCompatibleDevices sets the CompatibleDevices field's value.
11212func (s *GetDevicePoolCompatibilityOutput) SetCompatibleDevices(v []*DevicePoolCompatibilityResult) *GetDevicePoolCompatibilityOutput {
11213	s.CompatibleDevices = v
11214	return s
11215}
11216
11217// SetIncompatibleDevices sets the IncompatibleDevices field's value.
11218func (s *GetDevicePoolCompatibilityOutput) SetIncompatibleDevices(v []*DevicePoolCompatibilityResult) *GetDevicePoolCompatibilityOutput {
11219	s.IncompatibleDevices = v
11220	return s
11221}
11222
11223// Represents a request to the get device pool operation.
11224type GetDevicePoolInput struct {
11225	_ struct{} `type:"structure"`
11226
11227	// The device pool's ARN.
11228	//
11229	// Arn is a required field
11230	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11231}
11232
11233// String returns the string representation
11234func (s GetDevicePoolInput) String() string {
11235	return awsutil.Prettify(s)
11236}
11237
11238// GoString returns the string representation
11239func (s GetDevicePoolInput) GoString() string {
11240	return s.String()
11241}
11242
11243// Validate inspects the fields of the type to determine if they are valid.
11244func (s *GetDevicePoolInput) Validate() error {
11245	invalidParams := request.ErrInvalidParams{Context: "GetDevicePoolInput"}
11246	if s.Arn == nil {
11247		invalidParams.Add(request.NewErrParamRequired("Arn"))
11248	}
11249	if s.Arn != nil && len(*s.Arn) < 32 {
11250		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11251	}
11252
11253	if invalidParams.Len() > 0 {
11254		return invalidParams
11255	}
11256	return nil
11257}
11258
11259// SetArn sets the Arn field's value.
11260func (s *GetDevicePoolInput) SetArn(v string) *GetDevicePoolInput {
11261	s.Arn = &v
11262	return s
11263}
11264
11265// Represents the result of a get device pool request.
11266type GetDevicePoolOutput struct {
11267	_ struct{} `type:"structure"`
11268
11269	// An object that contains information about the requested device pool.
11270	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
11271}
11272
11273// String returns the string representation
11274func (s GetDevicePoolOutput) String() string {
11275	return awsutil.Prettify(s)
11276}
11277
11278// GoString returns the string representation
11279func (s GetDevicePoolOutput) GoString() string {
11280	return s.String()
11281}
11282
11283// SetDevicePool sets the DevicePool field's value.
11284func (s *GetDevicePoolOutput) SetDevicePool(v *DevicePool) *GetDevicePoolOutput {
11285	s.DevicePool = v
11286	return s
11287}
11288
11289type GetInstanceProfileInput struct {
11290	_ struct{} `type:"structure"`
11291
11292	// The Amazon Resource Name (ARN) of an instance profile.
11293	//
11294	// Arn is a required field
11295	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11296}
11297
11298// String returns the string representation
11299func (s GetInstanceProfileInput) String() string {
11300	return awsutil.Prettify(s)
11301}
11302
11303// GoString returns the string representation
11304func (s GetInstanceProfileInput) GoString() string {
11305	return s.String()
11306}
11307
11308// Validate inspects the fields of the type to determine if they are valid.
11309func (s *GetInstanceProfileInput) Validate() error {
11310	invalidParams := request.ErrInvalidParams{Context: "GetInstanceProfileInput"}
11311	if s.Arn == nil {
11312		invalidParams.Add(request.NewErrParamRequired("Arn"))
11313	}
11314	if s.Arn != nil && len(*s.Arn) < 32 {
11315		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11316	}
11317
11318	if invalidParams.Len() > 0 {
11319		return invalidParams
11320	}
11321	return nil
11322}
11323
11324// SetArn sets the Arn field's value.
11325func (s *GetInstanceProfileInput) SetArn(v string) *GetInstanceProfileInput {
11326	s.Arn = &v
11327	return s
11328}
11329
11330type GetInstanceProfileOutput struct {
11331	_ struct{} `type:"structure"`
11332
11333	// An object that contains information about an instance profile.
11334	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
11335}
11336
11337// String returns the string representation
11338func (s GetInstanceProfileOutput) String() string {
11339	return awsutil.Prettify(s)
11340}
11341
11342// GoString returns the string representation
11343func (s GetInstanceProfileOutput) GoString() string {
11344	return s.String()
11345}
11346
11347// SetInstanceProfile sets the InstanceProfile field's value.
11348func (s *GetInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *GetInstanceProfileOutput {
11349	s.InstanceProfile = v
11350	return s
11351}
11352
11353// Represents a request to the get job operation.
11354type GetJobInput struct {
11355	_ struct{} `type:"structure"`
11356
11357	// The job's ARN.
11358	//
11359	// Arn is a required field
11360	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11361}
11362
11363// String returns the string representation
11364func (s GetJobInput) String() string {
11365	return awsutil.Prettify(s)
11366}
11367
11368// GoString returns the string representation
11369func (s GetJobInput) GoString() string {
11370	return s.String()
11371}
11372
11373// Validate inspects the fields of the type to determine if they are valid.
11374func (s *GetJobInput) Validate() error {
11375	invalidParams := request.ErrInvalidParams{Context: "GetJobInput"}
11376	if s.Arn == nil {
11377		invalidParams.Add(request.NewErrParamRequired("Arn"))
11378	}
11379	if s.Arn != nil && len(*s.Arn) < 32 {
11380		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11381	}
11382
11383	if invalidParams.Len() > 0 {
11384		return invalidParams
11385	}
11386	return nil
11387}
11388
11389// SetArn sets the Arn field's value.
11390func (s *GetJobInput) SetArn(v string) *GetJobInput {
11391	s.Arn = &v
11392	return s
11393}
11394
11395// Represents the result of a get job request.
11396type GetJobOutput struct {
11397	_ struct{} `type:"structure"`
11398
11399	// An object that contains information about the requested job.
11400	Job *Job `locationName:"job" type:"structure"`
11401}
11402
11403// String returns the string representation
11404func (s GetJobOutput) String() string {
11405	return awsutil.Prettify(s)
11406}
11407
11408// GoString returns the string representation
11409func (s GetJobOutput) GoString() string {
11410	return s.String()
11411}
11412
11413// SetJob sets the Job field's value.
11414func (s *GetJobOutput) SetJob(v *Job) *GetJobOutput {
11415	s.Job = v
11416	return s
11417}
11418
11419type GetNetworkProfileInput struct {
11420	_ struct{} `type:"structure"`
11421
11422	// The ARN of the network profile to return information about.
11423	//
11424	// Arn is a required field
11425	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11426}
11427
11428// String returns the string representation
11429func (s GetNetworkProfileInput) String() string {
11430	return awsutil.Prettify(s)
11431}
11432
11433// GoString returns the string representation
11434func (s GetNetworkProfileInput) GoString() string {
11435	return s.String()
11436}
11437
11438// Validate inspects the fields of the type to determine if they are valid.
11439func (s *GetNetworkProfileInput) Validate() error {
11440	invalidParams := request.ErrInvalidParams{Context: "GetNetworkProfileInput"}
11441	if s.Arn == nil {
11442		invalidParams.Add(request.NewErrParamRequired("Arn"))
11443	}
11444	if s.Arn != nil && len(*s.Arn) < 32 {
11445		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11446	}
11447
11448	if invalidParams.Len() > 0 {
11449		return invalidParams
11450	}
11451	return nil
11452}
11453
11454// SetArn sets the Arn field's value.
11455func (s *GetNetworkProfileInput) SetArn(v string) *GetNetworkProfileInput {
11456	s.Arn = &v
11457	return s
11458}
11459
11460type GetNetworkProfileOutput struct {
11461	_ struct{} `type:"structure"`
11462
11463	// The network profile.
11464	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
11465}
11466
11467// String returns the string representation
11468func (s GetNetworkProfileOutput) String() string {
11469	return awsutil.Prettify(s)
11470}
11471
11472// GoString returns the string representation
11473func (s GetNetworkProfileOutput) GoString() string {
11474	return s.String()
11475}
11476
11477// SetNetworkProfile sets the NetworkProfile field's value.
11478func (s *GetNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *GetNetworkProfileOutput {
11479	s.NetworkProfile = v
11480	return s
11481}
11482
11483// Represents the request to retrieve the offering status for the specified
11484// customer or account.
11485type GetOfferingStatusInput struct {
11486	_ struct{} `type:"structure"`
11487
11488	// An identifier that was returned from the previous call to this operation,
11489	// which can be used to return the next set of items in the list.
11490	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
11491}
11492
11493// String returns the string representation
11494func (s GetOfferingStatusInput) String() string {
11495	return awsutil.Prettify(s)
11496}
11497
11498// GoString returns the string representation
11499func (s GetOfferingStatusInput) GoString() string {
11500	return s.String()
11501}
11502
11503// Validate inspects the fields of the type to determine if they are valid.
11504func (s *GetOfferingStatusInput) Validate() error {
11505	invalidParams := request.ErrInvalidParams{Context: "GetOfferingStatusInput"}
11506	if s.NextToken != nil && len(*s.NextToken) < 4 {
11507		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
11508	}
11509
11510	if invalidParams.Len() > 0 {
11511		return invalidParams
11512	}
11513	return nil
11514}
11515
11516// SetNextToken sets the NextToken field's value.
11517func (s *GetOfferingStatusInput) SetNextToken(v string) *GetOfferingStatusInput {
11518	s.NextToken = &v
11519	return s
11520}
11521
11522// Returns the status result for a device offering.
11523type GetOfferingStatusOutput struct {
11524	_ struct{} `type:"structure"`
11525
11526	// When specified, gets the offering status for the current period.
11527	Current map[string]*OfferingStatus `locationName:"current" type:"map"`
11528
11529	// When specified, gets the offering status for the next period.
11530	NextPeriod map[string]*OfferingStatus `locationName:"nextPeriod" type:"map"`
11531
11532	// An identifier that was returned from the previous call to this operation,
11533	// which can be used to return the next set of items in the list.
11534	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
11535}
11536
11537// String returns the string representation
11538func (s GetOfferingStatusOutput) String() string {
11539	return awsutil.Prettify(s)
11540}
11541
11542// GoString returns the string representation
11543func (s GetOfferingStatusOutput) GoString() string {
11544	return s.String()
11545}
11546
11547// SetCurrent sets the Current field's value.
11548func (s *GetOfferingStatusOutput) SetCurrent(v map[string]*OfferingStatus) *GetOfferingStatusOutput {
11549	s.Current = v
11550	return s
11551}
11552
11553// SetNextPeriod sets the NextPeriod field's value.
11554func (s *GetOfferingStatusOutput) SetNextPeriod(v map[string]*OfferingStatus) *GetOfferingStatusOutput {
11555	s.NextPeriod = v
11556	return s
11557}
11558
11559// SetNextToken sets the NextToken field's value.
11560func (s *GetOfferingStatusOutput) SetNextToken(v string) *GetOfferingStatusOutput {
11561	s.NextToken = &v
11562	return s
11563}
11564
11565// Represents a request to the get project operation.
11566type GetProjectInput struct {
11567	_ struct{} `type:"structure"`
11568
11569	// The project's ARN.
11570	//
11571	// Arn is a required field
11572	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11573}
11574
11575// String returns the string representation
11576func (s GetProjectInput) String() string {
11577	return awsutil.Prettify(s)
11578}
11579
11580// GoString returns the string representation
11581func (s GetProjectInput) GoString() string {
11582	return s.String()
11583}
11584
11585// Validate inspects the fields of the type to determine if they are valid.
11586func (s *GetProjectInput) Validate() error {
11587	invalidParams := request.ErrInvalidParams{Context: "GetProjectInput"}
11588	if s.Arn == nil {
11589		invalidParams.Add(request.NewErrParamRequired("Arn"))
11590	}
11591	if s.Arn != nil && len(*s.Arn) < 32 {
11592		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11593	}
11594
11595	if invalidParams.Len() > 0 {
11596		return invalidParams
11597	}
11598	return nil
11599}
11600
11601// SetArn sets the Arn field's value.
11602func (s *GetProjectInput) SetArn(v string) *GetProjectInput {
11603	s.Arn = &v
11604	return s
11605}
11606
11607// Represents the result of a get project request.
11608type GetProjectOutput struct {
11609	_ struct{} `type:"structure"`
11610
11611	// The project to get information about.
11612	Project *Project `locationName:"project" type:"structure"`
11613}
11614
11615// String returns the string representation
11616func (s GetProjectOutput) String() string {
11617	return awsutil.Prettify(s)
11618}
11619
11620// GoString returns the string representation
11621func (s GetProjectOutput) GoString() string {
11622	return s.String()
11623}
11624
11625// SetProject sets the Project field's value.
11626func (s *GetProjectOutput) SetProject(v *Project) *GetProjectOutput {
11627	s.Project = v
11628	return s
11629}
11630
11631// Represents the request to get information about the specified remote access
11632// session.
11633type GetRemoteAccessSessionInput struct {
11634	_ struct{} `type:"structure"`
11635
11636	// The Amazon Resource Name (ARN) of the remote access session about which you
11637	// want to get session information.
11638	//
11639	// Arn is a required field
11640	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11641}
11642
11643// String returns the string representation
11644func (s GetRemoteAccessSessionInput) String() string {
11645	return awsutil.Prettify(s)
11646}
11647
11648// GoString returns the string representation
11649func (s GetRemoteAccessSessionInput) GoString() string {
11650	return s.String()
11651}
11652
11653// Validate inspects the fields of the type to determine if they are valid.
11654func (s *GetRemoteAccessSessionInput) Validate() error {
11655	invalidParams := request.ErrInvalidParams{Context: "GetRemoteAccessSessionInput"}
11656	if s.Arn == nil {
11657		invalidParams.Add(request.NewErrParamRequired("Arn"))
11658	}
11659	if s.Arn != nil && len(*s.Arn) < 32 {
11660		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11661	}
11662
11663	if invalidParams.Len() > 0 {
11664		return invalidParams
11665	}
11666	return nil
11667}
11668
11669// SetArn sets the Arn field's value.
11670func (s *GetRemoteAccessSessionInput) SetArn(v string) *GetRemoteAccessSessionInput {
11671	s.Arn = &v
11672	return s
11673}
11674
11675// Represents the response from the server that lists detailed information about
11676// the remote access session.
11677type GetRemoteAccessSessionOutput struct {
11678	_ struct{} `type:"structure"`
11679
11680	// A container that lists detailed information about the remote access session.
11681	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
11682}
11683
11684// String returns the string representation
11685func (s GetRemoteAccessSessionOutput) String() string {
11686	return awsutil.Prettify(s)
11687}
11688
11689// GoString returns the string representation
11690func (s GetRemoteAccessSessionOutput) GoString() string {
11691	return s.String()
11692}
11693
11694// SetRemoteAccessSession sets the RemoteAccessSession field's value.
11695func (s *GetRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *GetRemoteAccessSessionOutput {
11696	s.RemoteAccessSession = v
11697	return s
11698}
11699
11700// Represents a request to the get run operation.
11701type GetRunInput struct {
11702	_ struct{} `type:"structure"`
11703
11704	// The run's ARN.
11705	//
11706	// Arn is a required field
11707	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11708}
11709
11710// String returns the string representation
11711func (s GetRunInput) String() string {
11712	return awsutil.Prettify(s)
11713}
11714
11715// GoString returns the string representation
11716func (s GetRunInput) GoString() string {
11717	return s.String()
11718}
11719
11720// Validate inspects the fields of the type to determine if they are valid.
11721func (s *GetRunInput) Validate() error {
11722	invalidParams := request.ErrInvalidParams{Context: "GetRunInput"}
11723	if s.Arn == nil {
11724		invalidParams.Add(request.NewErrParamRequired("Arn"))
11725	}
11726	if s.Arn != nil && len(*s.Arn) < 32 {
11727		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11728	}
11729
11730	if invalidParams.Len() > 0 {
11731		return invalidParams
11732	}
11733	return nil
11734}
11735
11736// SetArn sets the Arn field's value.
11737func (s *GetRunInput) SetArn(v string) *GetRunInput {
11738	s.Arn = &v
11739	return s
11740}
11741
11742// Represents the result of a get run request.
11743type GetRunOutput struct {
11744	_ struct{} `type:"structure"`
11745
11746	// The run to get results from.
11747	Run *Run `locationName:"run" type:"structure"`
11748}
11749
11750// String returns the string representation
11751func (s GetRunOutput) String() string {
11752	return awsutil.Prettify(s)
11753}
11754
11755// GoString returns the string representation
11756func (s GetRunOutput) GoString() string {
11757	return s.String()
11758}
11759
11760// SetRun sets the Run field's value.
11761func (s *GetRunOutput) SetRun(v *Run) *GetRunOutput {
11762	s.Run = v
11763	return s
11764}
11765
11766// Represents a request to the get suite operation.
11767type GetSuiteInput struct {
11768	_ struct{} `type:"structure"`
11769
11770	// The suite's ARN.
11771	//
11772	// Arn is a required field
11773	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11774}
11775
11776// String returns the string representation
11777func (s GetSuiteInput) String() string {
11778	return awsutil.Prettify(s)
11779}
11780
11781// GoString returns the string representation
11782func (s GetSuiteInput) GoString() string {
11783	return s.String()
11784}
11785
11786// Validate inspects the fields of the type to determine if they are valid.
11787func (s *GetSuiteInput) Validate() error {
11788	invalidParams := request.ErrInvalidParams{Context: "GetSuiteInput"}
11789	if s.Arn == nil {
11790		invalidParams.Add(request.NewErrParamRequired("Arn"))
11791	}
11792	if s.Arn != nil && len(*s.Arn) < 32 {
11793		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
11794	}
11795
11796	if invalidParams.Len() > 0 {
11797		return invalidParams
11798	}
11799	return nil
11800}
11801
11802// SetArn sets the Arn field's value.
11803func (s *GetSuiteInput) SetArn(v string) *GetSuiteInput {
11804	s.Arn = &v
11805	return s
11806}
11807
11808// Represents the result of a get suite request.
11809type GetSuiteOutput struct {
11810	_ struct{} `type:"structure"`
11811
11812	// A collection of one or more tests.
11813	Suite *Suite `locationName:"suite" type:"structure"`
11814}
11815
11816// String returns the string representation
11817func (s GetSuiteOutput) String() string {
11818	return awsutil.Prettify(s)
11819}
11820
11821// GoString returns the string representation
11822func (s GetSuiteOutput) GoString() string {
11823	return s.String()
11824}
11825
11826// SetSuite sets the Suite field's value.
11827func (s *GetSuiteOutput) SetSuite(v *Suite) *GetSuiteOutput {
11828	s.Suite = v
11829	return s
11830}
11831
11832type GetTestGridProjectInput struct {
11833	_ struct{} `type:"structure"`
11834
11835	// The ARN of the Selenium testing project, from either CreateTestGridProject
11836	// or ListTestGridProjects.
11837	//
11838	// ProjectArn is a required field
11839	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
11840}
11841
11842// String returns the string representation
11843func (s GetTestGridProjectInput) String() string {
11844	return awsutil.Prettify(s)
11845}
11846
11847// GoString returns the string representation
11848func (s GetTestGridProjectInput) GoString() string {
11849	return s.String()
11850}
11851
11852// Validate inspects the fields of the type to determine if they are valid.
11853func (s *GetTestGridProjectInput) Validate() error {
11854	invalidParams := request.ErrInvalidParams{Context: "GetTestGridProjectInput"}
11855	if s.ProjectArn == nil {
11856		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
11857	}
11858	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
11859		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
11860	}
11861
11862	if invalidParams.Len() > 0 {
11863		return invalidParams
11864	}
11865	return nil
11866}
11867
11868// SetProjectArn sets the ProjectArn field's value.
11869func (s *GetTestGridProjectInput) SetProjectArn(v string) *GetTestGridProjectInput {
11870	s.ProjectArn = &v
11871	return s
11872}
11873
11874type GetTestGridProjectOutput struct {
11875	_ struct{} `type:"structure"`
11876
11877	// A TestGridProject.
11878	TestGridProject *TestGridProject `locationName:"testGridProject" type:"structure"`
11879}
11880
11881// String returns the string representation
11882func (s GetTestGridProjectOutput) String() string {
11883	return awsutil.Prettify(s)
11884}
11885
11886// GoString returns the string representation
11887func (s GetTestGridProjectOutput) GoString() string {
11888	return s.String()
11889}
11890
11891// SetTestGridProject sets the TestGridProject field's value.
11892func (s *GetTestGridProjectOutput) SetTestGridProject(v *TestGridProject) *GetTestGridProjectOutput {
11893	s.TestGridProject = v
11894	return s
11895}
11896
11897type GetTestGridSessionInput struct {
11898	_ struct{} `type:"structure"`
11899
11900	// The ARN for the project that this session belongs to. See CreateTestGridProject
11901	// and ListTestGridProjects.
11902	ProjectArn *string `locationName:"projectArn" min:"32" type:"string"`
11903
11904	// An ARN that uniquely identifies a TestGridSession.
11905	SessionArn *string `locationName:"sessionArn" min:"32" type:"string"`
11906
11907	// An ID associated with this session.
11908	SessionId *string `locationName:"sessionId" min:"1" type:"string"`
11909}
11910
11911// String returns the string representation
11912func (s GetTestGridSessionInput) String() string {
11913	return awsutil.Prettify(s)
11914}
11915
11916// GoString returns the string representation
11917func (s GetTestGridSessionInput) GoString() string {
11918	return s.String()
11919}
11920
11921// Validate inspects the fields of the type to determine if they are valid.
11922func (s *GetTestGridSessionInput) Validate() error {
11923	invalidParams := request.ErrInvalidParams{Context: "GetTestGridSessionInput"}
11924	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
11925		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
11926	}
11927	if s.SessionArn != nil && len(*s.SessionArn) < 32 {
11928		invalidParams.Add(request.NewErrParamMinLen("SessionArn", 32))
11929	}
11930	if s.SessionId != nil && len(*s.SessionId) < 1 {
11931		invalidParams.Add(request.NewErrParamMinLen("SessionId", 1))
11932	}
11933
11934	if invalidParams.Len() > 0 {
11935		return invalidParams
11936	}
11937	return nil
11938}
11939
11940// SetProjectArn sets the ProjectArn field's value.
11941func (s *GetTestGridSessionInput) SetProjectArn(v string) *GetTestGridSessionInput {
11942	s.ProjectArn = &v
11943	return s
11944}
11945
11946// SetSessionArn sets the SessionArn field's value.
11947func (s *GetTestGridSessionInput) SetSessionArn(v string) *GetTestGridSessionInput {
11948	s.SessionArn = &v
11949	return s
11950}
11951
11952// SetSessionId sets the SessionId field's value.
11953func (s *GetTestGridSessionInput) SetSessionId(v string) *GetTestGridSessionInput {
11954	s.SessionId = &v
11955	return s
11956}
11957
11958type GetTestGridSessionOutput struct {
11959	_ struct{} `type:"structure"`
11960
11961	// The TestGridSession that was requested.
11962	TestGridSession *TestGridSession `locationName:"testGridSession" type:"structure"`
11963}
11964
11965// String returns the string representation
11966func (s GetTestGridSessionOutput) String() string {
11967	return awsutil.Prettify(s)
11968}
11969
11970// GoString returns the string representation
11971func (s GetTestGridSessionOutput) GoString() string {
11972	return s.String()
11973}
11974
11975// SetTestGridSession sets the TestGridSession field's value.
11976func (s *GetTestGridSessionOutput) SetTestGridSession(v *TestGridSession) *GetTestGridSessionOutput {
11977	s.TestGridSession = v
11978	return s
11979}
11980
11981// Represents a request to the get test operation.
11982type GetTestInput struct {
11983	_ struct{} `type:"structure"`
11984
11985	// The test's ARN.
11986	//
11987	// Arn is a required field
11988	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
11989}
11990
11991// String returns the string representation
11992func (s GetTestInput) String() string {
11993	return awsutil.Prettify(s)
11994}
11995
11996// GoString returns the string representation
11997func (s GetTestInput) GoString() string {
11998	return s.String()
11999}
12000
12001// Validate inspects the fields of the type to determine if they are valid.
12002func (s *GetTestInput) Validate() error {
12003	invalidParams := request.ErrInvalidParams{Context: "GetTestInput"}
12004	if s.Arn == nil {
12005		invalidParams.Add(request.NewErrParamRequired("Arn"))
12006	}
12007	if s.Arn != nil && len(*s.Arn) < 32 {
12008		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
12009	}
12010
12011	if invalidParams.Len() > 0 {
12012		return invalidParams
12013	}
12014	return nil
12015}
12016
12017// SetArn sets the Arn field's value.
12018func (s *GetTestInput) SetArn(v string) *GetTestInput {
12019	s.Arn = &v
12020	return s
12021}
12022
12023// Represents the result of a get test request.
12024type GetTestOutput struct {
12025	_ struct{} `type:"structure"`
12026
12027	// A test condition that is evaluated.
12028	Test *Test `locationName:"test" type:"structure"`
12029}
12030
12031// String returns the string representation
12032func (s GetTestOutput) String() string {
12033	return awsutil.Prettify(s)
12034}
12035
12036// GoString returns the string representation
12037func (s GetTestOutput) GoString() string {
12038	return s.String()
12039}
12040
12041// SetTest sets the Test field's value.
12042func (s *GetTestOutput) SetTest(v *Test) *GetTestOutput {
12043	s.Test = v
12044	return s
12045}
12046
12047// Represents a request to the get upload operation.
12048type GetUploadInput struct {
12049	_ struct{} `type:"structure"`
12050
12051	// The upload's ARN.
12052	//
12053	// Arn is a required field
12054	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
12055}
12056
12057// String returns the string representation
12058func (s GetUploadInput) String() string {
12059	return awsutil.Prettify(s)
12060}
12061
12062// GoString returns the string representation
12063func (s GetUploadInput) GoString() string {
12064	return s.String()
12065}
12066
12067// Validate inspects the fields of the type to determine if they are valid.
12068func (s *GetUploadInput) Validate() error {
12069	invalidParams := request.ErrInvalidParams{Context: "GetUploadInput"}
12070	if s.Arn == nil {
12071		invalidParams.Add(request.NewErrParamRequired("Arn"))
12072	}
12073	if s.Arn != nil && len(*s.Arn) < 32 {
12074		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
12075	}
12076
12077	if invalidParams.Len() > 0 {
12078		return invalidParams
12079	}
12080	return nil
12081}
12082
12083// SetArn sets the Arn field's value.
12084func (s *GetUploadInput) SetArn(v string) *GetUploadInput {
12085	s.Arn = &v
12086	return s
12087}
12088
12089// Represents the result of a get upload request.
12090type GetUploadOutput struct {
12091	_ struct{} `type:"structure"`
12092
12093	// An app or a set of one or more tests to upload or that have been uploaded.
12094	Upload *Upload `locationName:"upload" type:"structure"`
12095}
12096
12097// String returns the string representation
12098func (s GetUploadOutput) String() string {
12099	return awsutil.Prettify(s)
12100}
12101
12102// GoString returns the string representation
12103func (s GetUploadOutput) GoString() string {
12104	return s.String()
12105}
12106
12107// SetUpload sets the Upload field's value.
12108func (s *GetUploadOutput) SetUpload(v *Upload) *GetUploadOutput {
12109	s.Upload = v
12110	return s
12111}
12112
12113type GetVPCEConfigurationInput struct {
12114	_ struct{} `type:"structure"`
12115
12116	// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want
12117	// to describe.
12118	//
12119	// Arn is a required field
12120	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
12121}
12122
12123// String returns the string representation
12124func (s GetVPCEConfigurationInput) String() string {
12125	return awsutil.Prettify(s)
12126}
12127
12128// GoString returns the string representation
12129func (s GetVPCEConfigurationInput) GoString() string {
12130	return s.String()
12131}
12132
12133// Validate inspects the fields of the type to determine if they are valid.
12134func (s *GetVPCEConfigurationInput) Validate() error {
12135	invalidParams := request.ErrInvalidParams{Context: "GetVPCEConfigurationInput"}
12136	if s.Arn == nil {
12137		invalidParams.Add(request.NewErrParamRequired("Arn"))
12138	}
12139	if s.Arn != nil && len(*s.Arn) < 32 {
12140		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
12141	}
12142
12143	if invalidParams.Len() > 0 {
12144		return invalidParams
12145	}
12146	return nil
12147}
12148
12149// SetArn sets the Arn field's value.
12150func (s *GetVPCEConfigurationInput) SetArn(v string) *GetVPCEConfigurationInput {
12151	s.Arn = &v
12152	return s
12153}
12154
12155type GetVPCEConfigurationOutput struct {
12156	_ struct{} `type:"structure"`
12157
12158	// An object that contains information about your VPC endpoint configuration.
12159	VpceConfiguration *VPCEConfiguration `locationName:"vpceConfiguration" type:"structure"`
12160}
12161
12162// String returns the string representation
12163func (s GetVPCEConfigurationOutput) String() string {
12164	return awsutil.Prettify(s)
12165}
12166
12167// GoString returns the string representation
12168func (s GetVPCEConfigurationOutput) GoString() string {
12169	return s.String()
12170}
12171
12172// SetVpceConfiguration sets the VpceConfiguration field's value.
12173func (s *GetVPCEConfigurationOutput) SetVpceConfiguration(v *VPCEConfiguration) *GetVPCEConfigurationOutput {
12174	s.VpceConfiguration = v
12175	return s
12176}
12177
12178// An entity with the same name already exists.
12179type IdempotencyException struct {
12180	_            struct{}                  `type:"structure"`
12181	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12182
12183	// Any additional information about the exception.
12184	Message_ *string `locationName:"message" type:"string"`
12185}
12186
12187// String returns the string representation
12188func (s IdempotencyException) String() string {
12189	return awsutil.Prettify(s)
12190}
12191
12192// GoString returns the string representation
12193func (s IdempotencyException) GoString() string {
12194	return s.String()
12195}
12196
12197func newErrorIdempotencyException(v protocol.ResponseMetadata) error {
12198	return &IdempotencyException{
12199		RespMetadata: v,
12200	}
12201}
12202
12203// Code returns the exception type name.
12204func (s *IdempotencyException) Code() string {
12205	return "IdempotencyException"
12206}
12207
12208// Message returns the exception's message.
12209func (s *IdempotencyException) Message() string {
12210	if s.Message_ != nil {
12211		return *s.Message_
12212	}
12213	return ""
12214}
12215
12216// OrigErr always returns nil, satisfies awserr.Error interface.
12217func (s *IdempotencyException) OrigErr() error {
12218	return nil
12219}
12220
12221func (s *IdempotencyException) Error() string {
12222	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12223}
12224
12225// Status code returns the HTTP status code for the request's response error.
12226func (s *IdempotencyException) StatusCode() int {
12227	return s.RespMetadata.StatusCode
12228}
12229
12230// RequestID returns the service's response RequestID for request.
12231func (s *IdempotencyException) RequestID() string {
12232	return s.RespMetadata.RequestID
12233}
12234
12235// Represents information about incompatibility.
12236type IncompatibilityMessage struct {
12237	_ struct{} `type:"structure"`
12238
12239	// A message about the incompatibility.
12240	Message *string `locationName:"message" type:"string"`
12241
12242	// The type of incompatibility.
12243	//
12244	// Allowed values include:
12245	//
12246	//    * ARN
12247	//
12248	//    * FORM_FACTOR (for example, phone or tablet)
12249	//
12250	//    * MANUFACTURER
12251	//
12252	//    * PLATFORM (for example, Android or iOS)
12253	//
12254	//    * REMOTE_ACCESS_ENABLED
12255	//
12256	//    * APPIUM_VERSION
12257	Type *string `locationName:"type" type:"string" enum:"DeviceAttribute"`
12258}
12259
12260// String returns the string representation
12261func (s IncompatibilityMessage) String() string {
12262	return awsutil.Prettify(s)
12263}
12264
12265// GoString returns the string representation
12266func (s IncompatibilityMessage) GoString() string {
12267	return s.String()
12268}
12269
12270// SetMessage sets the Message field's value.
12271func (s *IncompatibilityMessage) SetMessage(v string) *IncompatibilityMessage {
12272	s.Message = &v
12273	return s
12274}
12275
12276// SetType sets the Type field's value.
12277func (s *IncompatibilityMessage) SetType(v string) *IncompatibilityMessage {
12278	s.Type = &v
12279	return s
12280}
12281
12282// Represents the request to install an Android application (in .apk format)
12283// or an iOS application (in .ipa format) as part of a remote access session.
12284type InstallToRemoteAccessSessionInput struct {
12285	_ struct{} `type:"structure"`
12286
12287	// The ARN of the app about which you are requesting information.
12288	//
12289	// AppArn is a required field
12290	AppArn *string `locationName:"appArn" min:"32" type:"string" required:"true"`
12291
12292	// The Amazon Resource Name (ARN) of the remote access session about which you
12293	// are requesting information.
12294	//
12295	// RemoteAccessSessionArn is a required field
12296	RemoteAccessSessionArn *string `locationName:"remoteAccessSessionArn" min:"32" type:"string" required:"true"`
12297}
12298
12299// String returns the string representation
12300func (s InstallToRemoteAccessSessionInput) String() string {
12301	return awsutil.Prettify(s)
12302}
12303
12304// GoString returns the string representation
12305func (s InstallToRemoteAccessSessionInput) GoString() string {
12306	return s.String()
12307}
12308
12309// Validate inspects the fields of the type to determine if they are valid.
12310func (s *InstallToRemoteAccessSessionInput) Validate() error {
12311	invalidParams := request.ErrInvalidParams{Context: "InstallToRemoteAccessSessionInput"}
12312	if s.AppArn == nil {
12313		invalidParams.Add(request.NewErrParamRequired("AppArn"))
12314	}
12315	if s.AppArn != nil && len(*s.AppArn) < 32 {
12316		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
12317	}
12318	if s.RemoteAccessSessionArn == nil {
12319		invalidParams.Add(request.NewErrParamRequired("RemoteAccessSessionArn"))
12320	}
12321	if s.RemoteAccessSessionArn != nil && len(*s.RemoteAccessSessionArn) < 32 {
12322		invalidParams.Add(request.NewErrParamMinLen("RemoteAccessSessionArn", 32))
12323	}
12324
12325	if invalidParams.Len() > 0 {
12326		return invalidParams
12327	}
12328	return nil
12329}
12330
12331// SetAppArn sets the AppArn field's value.
12332func (s *InstallToRemoteAccessSessionInput) SetAppArn(v string) *InstallToRemoteAccessSessionInput {
12333	s.AppArn = &v
12334	return s
12335}
12336
12337// SetRemoteAccessSessionArn sets the RemoteAccessSessionArn field's value.
12338func (s *InstallToRemoteAccessSessionInput) SetRemoteAccessSessionArn(v string) *InstallToRemoteAccessSessionInput {
12339	s.RemoteAccessSessionArn = &v
12340	return s
12341}
12342
12343// Represents the response from the server after AWS Device Farm makes a request
12344// to install to a remote access session.
12345type InstallToRemoteAccessSessionOutput struct {
12346	_ struct{} `type:"structure"`
12347
12348	// An app to upload or that has been uploaded.
12349	AppUpload *Upload `locationName:"appUpload" type:"structure"`
12350}
12351
12352// String returns the string representation
12353func (s InstallToRemoteAccessSessionOutput) String() string {
12354	return awsutil.Prettify(s)
12355}
12356
12357// GoString returns the string representation
12358func (s InstallToRemoteAccessSessionOutput) GoString() string {
12359	return s.String()
12360}
12361
12362// SetAppUpload sets the AppUpload field's value.
12363func (s *InstallToRemoteAccessSessionOutput) SetAppUpload(v *Upload) *InstallToRemoteAccessSessionOutput {
12364	s.AppUpload = v
12365	return s
12366}
12367
12368// Represents the instance profile.
12369type InstanceProfile struct {
12370	_ struct{} `type:"structure"`
12371
12372	// The Amazon Resource Name (ARN) of the instance profile.
12373	Arn *string `locationName:"arn" min:"32" type:"string"`
12374
12375	// The description of the instance profile.
12376	Description *string `locationName:"description" type:"string"`
12377
12378	// An array of strings containing the list of app packages that should not be
12379	// cleaned up from the device after a test run completes.
12380	//
12381	// The list of packages is considered only if you set packageCleanup to true.
12382	ExcludeAppPackagesFromCleanup []*string `locationName:"excludeAppPackagesFromCleanup" type:"list"`
12383
12384	// The name of the instance profile.
12385	Name *string `locationName:"name" type:"string"`
12386
12387	// When set to true, Device Farm removes app packages after a test run. The
12388	// default value is false for private devices.
12389	PackageCleanup *bool `locationName:"packageCleanup" type:"boolean"`
12390
12391	// When set to true, Device Farm reboots the instance after a test run. The
12392	// default value is true.
12393	RebootAfterUse *bool `locationName:"rebootAfterUse" type:"boolean"`
12394}
12395
12396// String returns the string representation
12397func (s InstanceProfile) String() string {
12398	return awsutil.Prettify(s)
12399}
12400
12401// GoString returns the string representation
12402func (s InstanceProfile) GoString() string {
12403	return s.String()
12404}
12405
12406// SetArn sets the Arn field's value.
12407func (s *InstanceProfile) SetArn(v string) *InstanceProfile {
12408	s.Arn = &v
12409	return s
12410}
12411
12412// SetDescription sets the Description field's value.
12413func (s *InstanceProfile) SetDescription(v string) *InstanceProfile {
12414	s.Description = &v
12415	return s
12416}
12417
12418// SetExcludeAppPackagesFromCleanup sets the ExcludeAppPackagesFromCleanup field's value.
12419func (s *InstanceProfile) SetExcludeAppPackagesFromCleanup(v []*string) *InstanceProfile {
12420	s.ExcludeAppPackagesFromCleanup = v
12421	return s
12422}
12423
12424// SetName sets the Name field's value.
12425func (s *InstanceProfile) SetName(v string) *InstanceProfile {
12426	s.Name = &v
12427	return s
12428}
12429
12430// SetPackageCleanup sets the PackageCleanup field's value.
12431func (s *InstanceProfile) SetPackageCleanup(v bool) *InstanceProfile {
12432	s.PackageCleanup = &v
12433	return s
12434}
12435
12436// SetRebootAfterUse sets the RebootAfterUse field's value.
12437func (s *InstanceProfile) SetRebootAfterUse(v bool) *InstanceProfile {
12438	s.RebootAfterUse = &v
12439	return s
12440}
12441
12442// An internal exception was raised in the service. Contact aws-devicefarm-support@amazon.com
12443// (mailto:aws-devicefarm-support@amazon.com) if you see this error.
12444type InternalServiceException struct {
12445	_            struct{}                  `type:"structure"`
12446	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12447
12448	Message_ *string `locationName:"message" type:"string"`
12449}
12450
12451// String returns the string representation
12452func (s InternalServiceException) String() string {
12453	return awsutil.Prettify(s)
12454}
12455
12456// GoString returns the string representation
12457func (s InternalServiceException) GoString() string {
12458	return s.String()
12459}
12460
12461func newErrorInternalServiceException(v protocol.ResponseMetadata) error {
12462	return &InternalServiceException{
12463		RespMetadata: v,
12464	}
12465}
12466
12467// Code returns the exception type name.
12468func (s *InternalServiceException) Code() string {
12469	return "InternalServiceException"
12470}
12471
12472// Message returns the exception's message.
12473func (s *InternalServiceException) Message() string {
12474	if s.Message_ != nil {
12475		return *s.Message_
12476	}
12477	return ""
12478}
12479
12480// OrigErr always returns nil, satisfies awserr.Error interface.
12481func (s *InternalServiceException) OrigErr() error {
12482	return nil
12483}
12484
12485func (s *InternalServiceException) Error() string {
12486	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12487}
12488
12489// Status code returns the HTTP status code for the request's response error.
12490func (s *InternalServiceException) StatusCode() int {
12491	return s.RespMetadata.StatusCode
12492}
12493
12494// RequestID returns the service's response RequestID for request.
12495func (s *InternalServiceException) RequestID() string {
12496	return s.RespMetadata.RequestID
12497}
12498
12499// There was an error with the update request, or you do not have sufficient
12500// permissions to update this VPC endpoint configuration.
12501type InvalidOperationException struct {
12502	_            struct{}                  `type:"structure"`
12503	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12504
12505	Message_ *string `locationName:"message" type:"string"`
12506}
12507
12508// String returns the string representation
12509func (s InvalidOperationException) String() string {
12510	return awsutil.Prettify(s)
12511}
12512
12513// GoString returns the string representation
12514func (s InvalidOperationException) GoString() string {
12515	return s.String()
12516}
12517
12518func newErrorInvalidOperationException(v protocol.ResponseMetadata) error {
12519	return &InvalidOperationException{
12520		RespMetadata: v,
12521	}
12522}
12523
12524// Code returns the exception type name.
12525func (s *InvalidOperationException) Code() string {
12526	return "InvalidOperationException"
12527}
12528
12529// Message returns the exception's message.
12530func (s *InvalidOperationException) Message() string {
12531	if s.Message_ != nil {
12532		return *s.Message_
12533	}
12534	return ""
12535}
12536
12537// OrigErr always returns nil, satisfies awserr.Error interface.
12538func (s *InvalidOperationException) OrigErr() error {
12539	return nil
12540}
12541
12542func (s *InvalidOperationException) Error() string {
12543	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12544}
12545
12546// Status code returns the HTTP status code for the request's response error.
12547func (s *InvalidOperationException) StatusCode() int {
12548	return s.RespMetadata.StatusCode
12549}
12550
12551// RequestID returns the service's response RequestID for request.
12552func (s *InvalidOperationException) RequestID() string {
12553	return s.RespMetadata.RequestID
12554}
12555
12556// Represents a device.
12557type Job struct {
12558	_ struct{} `type:"structure"`
12559
12560	// The job's ARN.
12561	Arn *string `locationName:"arn" min:"32" type:"string"`
12562
12563	// The job's result counters.
12564	Counters *Counters `locationName:"counters" type:"structure"`
12565
12566	// When the job was created.
12567	Created *time.Time `locationName:"created" type:"timestamp"`
12568
12569	// The device (phone or tablet).
12570	Device *Device `locationName:"device" type:"structure"`
12571
12572	// Represents the total (metered or unmetered) minutes used by the job.
12573	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
12574
12575	// The ARN of the instance.
12576	InstanceArn *string `locationName:"instanceArn" min:"32" type:"string"`
12577
12578	// A message about the job's result.
12579	Message *string `locationName:"message" type:"string"`
12580
12581	// The job's name.
12582	Name *string `locationName:"name" type:"string"`
12583
12584	// The job's result.
12585	//
12586	// Allowed values include:
12587	//
12588	//    * PENDING
12589	//
12590	//    * PASSED
12591	//
12592	//    * WARNED
12593	//
12594	//    * FAILED
12595	//
12596	//    * SKIPPED
12597	//
12598	//    * ERRORED
12599	//
12600	//    * STOPPED
12601	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
12602
12603	// The job's start time.
12604	Started *time.Time `locationName:"started" type:"timestamp"`
12605
12606	// The job's status.
12607	//
12608	// Allowed values include:
12609	//
12610	//    * PENDING
12611	//
12612	//    * PENDING_CONCURRENCY
12613	//
12614	//    * PENDING_DEVICE
12615	//
12616	//    * PROCESSING
12617	//
12618	//    * SCHEDULING
12619	//
12620	//    * PREPARING
12621	//
12622	//    * RUNNING
12623	//
12624	//    * COMPLETED
12625	//
12626	//    * STOPPING
12627	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
12628
12629	// The job's stop time.
12630	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
12631
12632	// The job's type.
12633	//
12634	// Allowed values include the following:
12635	//
12636	//    * BUILTIN_FUZZ
12637	//
12638	//    * BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android
12639	//    app, interacting with it and capturing screenshots at the same time.
12640	//
12641	//    * APPIUM_JAVA_JUNIT
12642	//
12643	//    * APPIUM_JAVA_TESTNG
12644	//
12645	//    * APPIUM_PYTHON
12646	//
12647	//    * APPIUM_NODE
12648	//
12649	//    * APPIUM_RUBY
12650	//
12651	//    * APPIUM_WEB_JAVA_JUNIT
12652	//
12653	//    * APPIUM_WEB_JAVA_TESTNG
12654	//
12655	//    * APPIUM_WEB_PYTHON
12656	//
12657	//    * APPIUM_WEB_NODE
12658	//
12659	//    * APPIUM_WEB_RUBY
12660	//
12661	//    * CALABASH
12662	//
12663	//    * INSTRUMENTATION
12664	//
12665	//    * UIAUTOMATION
12666	//
12667	//    * UIAUTOMATOR
12668	//
12669	//    * XCTEST
12670	//
12671	//    * XCTEST_UI
12672	Type *string `locationName:"type" type:"string" enum:"TestType"`
12673
12674	// This value is set to true if video capture is enabled. Otherwise, it is set
12675	// to false.
12676	VideoCapture *bool `locationName:"videoCapture" type:"boolean"`
12677
12678	// The endpoint for streaming device video.
12679	VideoEndpoint *string `locationName:"videoEndpoint" type:"string"`
12680}
12681
12682// String returns the string representation
12683func (s Job) String() string {
12684	return awsutil.Prettify(s)
12685}
12686
12687// GoString returns the string representation
12688func (s Job) GoString() string {
12689	return s.String()
12690}
12691
12692// SetArn sets the Arn field's value.
12693func (s *Job) SetArn(v string) *Job {
12694	s.Arn = &v
12695	return s
12696}
12697
12698// SetCounters sets the Counters field's value.
12699func (s *Job) SetCounters(v *Counters) *Job {
12700	s.Counters = v
12701	return s
12702}
12703
12704// SetCreated sets the Created field's value.
12705func (s *Job) SetCreated(v time.Time) *Job {
12706	s.Created = &v
12707	return s
12708}
12709
12710// SetDevice sets the Device field's value.
12711func (s *Job) SetDevice(v *Device) *Job {
12712	s.Device = v
12713	return s
12714}
12715
12716// SetDeviceMinutes sets the DeviceMinutes field's value.
12717func (s *Job) SetDeviceMinutes(v *DeviceMinutes) *Job {
12718	s.DeviceMinutes = v
12719	return s
12720}
12721
12722// SetInstanceArn sets the InstanceArn field's value.
12723func (s *Job) SetInstanceArn(v string) *Job {
12724	s.InstanceArn = &v
12725	return s
12726}
12727
12728// SetMessage sets the Message field's value.
12729func (s *Job) SetMessage(v string) *Job {
12730	s.Message = &v
12731	return s
12732}
12733
12734// SetName sets the Name field's value.
12735func (s *Job) SetName(v string) *Job {
12736	s.Name = &v
12737	return s
12738}
12739
12740// SetResult sets the Result field's value.
12741func (s *Job) SetResult(v string) *Job {
12742	s.Result = &v
12743	return s
12744}
12745
12746// SetStarted sets the Started field's value.
12747func (s *Job) SetStarted(v time.Time) *Job {
12748	s.Started = &v
12749	return s
12750}
12751
12752// SetStatus sets the Status field's value.
12753func (s *Job) SetStatus(v string) *Job {
12754	s.Status = &v
12755	return s
12756}
12757
12758// SetStopped sets the Stopped field's value.
12759func (s *Job) SetStopped(v time.Time) *Job {
12760	s.Stopped = &v
12761	return s
12762}
12763
12764// SetType sets the Type field's value.
12765func (s *Job) SetType(v string) *Job {
12766	s.Type = &v
12767	return s
12768}
12769
12770// SetVideoCapture sets the VideoCapture field's value.
12771func (s *Job) SetVideoCapture(v bool) *Job {
12772	s.VideoCapture = &v
12773	return s
12774}
12775
12776// SetVideoEndpoint sets the VideoEndpoint field's value.
12777func (s *Job) SetVideoEndpoint(v string) *Job {
12778	s.VideoEndpoint = &v
12779	return s
12780}
12781
12782// A limit was exceeded.
12783type LimitExceededException struct {
12784	_            struct{}                  `type:"structure"`
12785	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12786
12787	// Any additional information about the exception.
12788	Message_ *string `locationName:"message" type:"string"`
12789}
12790
12791// String returns the string representation
12792func (s LimitExceededException) String() string {
12793	return awsutil.Prettify(s)
12794}
12795
12796// GoString returns the string representation
12797func (s LimitExceededException) GoString() string {
12798	return s.String()
12799}
12800
12801func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
12802	return &LimitExceededException{
12803		RespMetadata: v,
12804	}
12805}
12806
12807// Code returns the exception type name.
12808func (s *LimitExceededException) Code() string {
12809	return "LimitExceededException"
12810}
12811
12812// Message returns the exception's message.
12813func (s *LimitExceededException) Message() string {
12814	if s.Message_ != nil {
12815		return *s.Message_
12816	}
12817	return ""
12818}
12819
12820// OrigErr always returns nil, satisfies awserr.Error interface.
12821func (s *LimitExceededException) OrigErr() error {
12822	return nil
12823}
12824
12825func (s *LimitExceededException) Error() string {
12826	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12827}
12828
12829// Status code returns the HTTP status code for the request's response error.
12830func (s *LimitExceededException) StatusCode() int {
12831	return s.RespMetadata.StatusCode
12832}
12833
12834// RequestID returns the service's response RequestID for request.
12835func (s *LimitExceededException) RequestID() string {
12836	return s.RespMetadata.RequestID
12837}
12838
12839// Represents a request to the list artifacts operation.
12840type ListArtifactsInput struct {
12841	_ struct{} `type:"structure"`
12842
12843	// The run, job, suite, or test ARN.
12844	//
12845	// Arn is a required field
12846	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
12847
12848	// An identifier that was returned from the previous call to this operation,
12849	// which can be used to return the next set of items in the list.
12850	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
12851
12852	// The artifacts' type.
12853	//
12854	// Allowed values include:
12855	//
12856	//    * FILE
12857	//
12858	//    * LOG
12859	//
12860	//    * SCREENSHOT
12861	//
12862	// Type is a required field
12863	Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactCategory"`
12864}
12865
12866// String returns the string representation
12867func (s ListArtifactsInput) String() string {
12868	return awsutil.Prettify(s)
12869}
12870
12871// GoString returns the string representation
12872func (s ListArtifactsInput) GoString() string {
12873	return s.String()
12874}
12875
12876// Validate inspects the fields of the type to determine if they are valid.
12877func (s *ListArtifactsInput) Validate() error {
12878	invalidParams := request.ErrInvalidParams{Context: "ListArtifactsInput"}
12879	if s.Arn == nil {
12880		invalidParams.Add(request.NewErrParamRequired("Arn"))
12881	}
12882	if s.Arn != nil && len(*s.Arn) < 32 {
12883		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
12884	}
12885	if s.NextToken != nil && len(*s.NextToken) < 4 {
12886		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
12887	}
12888	if s.Type == nil {
12889		invalidParams.Add(request.NewErrParamRequired("Type"))
12890	}
12891
12892	if invalidParams.Len() > 0 {
12893		return invalidParams
12894	}
12895	return nil
12896}
12897
12898// SetArn sets the Arn field's value.
12899func (s *ListArtifactsInput) SetArn(v string) *ListArtifactsInput {
12900	s.Arn = &v
12901	return s
12902}
12903
12904// SetNextToken sets the NextToken field's value.
12905func (s *ListArtifactsInput) SetNextToken(v string) *ListArtifactsInput {
12906	s.NextToken = &v
12907	return s
12908}
12909
12910// SetType sets the Type field's value.
12911func (s *ListArtifactsInput) SetType(v string) *ListArtifactsInput {
12912	s.Type = &v
12913	return s
12914}
12915
12916// Represents the result of a list artifacts operation.
12917type ListArtifactsOutput struct {
12918	_ struct{} `type:"structure"`
12919
12920	// Information about the artifacts.
12921	Artifacts []*Artifact `locationName:"artifacts" type:"list"`
12922
12923	// If the number of items that are returned is significantly large, this is
12924	// an identifier that is also returned. It can be used in a subsequent call
12925	// to this operation to return the next set of items in the list.
12926	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
12927}
12928
12929// String returns the string representation
12930func (s ListArtifactsOutput) String() string {
12931	return awsutil.Prettify(s)
12932}
12933
12934// GoString returns the string representation
12935func (s ListArtifactsOutput) GoString() string {
12936	return s.String()
12937}
12938
12939// SetArtifacts sets the Artifacts field's value.
12940func (s *ListArtifactsOutput) SetArtifacts(v []*Artifact) *ListArtifactsOutput {
12941	s.Artifacts = v
12942	return s
12943}
12944
12945// SetNextToken sets the NextToken field's value.
12946func (s *ListArtifactsOutput) SetNextToken(v string) *ListArtifactsOutput {
12947	s.NextToken = &v
12948	return s
12949}
12950
12951type ListDeviceInstancesInput struct {
12952	_ struct{} `type:"structure"`
12953
12954	// An integer that specifies the maximum number of items you want to return
12955	// in the API response.
12956	MaxResults *int64 `locationName:"maxResults" type:"integer"`
12957
12958	// An identifier that was returned from the previous call to this operation,
12959	// which can be used to return the next set of items in the list.
12960	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
12961}
12962
12963// String returns the string representation
12964func (s ListDeviceInstancesInput) String() string {
12965	return awsutil.Prettify(s)
12966}
12967
12968// GoString returns the string representation
12969func (s ListDeviceInstancesInput) GoString() string {
12970	return s.String()
12971}
12972
12973// Validate inspects the fields of the type to determine if they are valid.
12974func (s *ListDeviceInstancesInput) Validate() error {
12975	invalidParams := request.ErrInvalidParams{Context: "ListDeviceInstancesInput"}
12976	if s.NextToken != nil && len(*s.NextToken) < 4 {
12977		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
12978	}
12979
12980	if invalidParams.Len() > 0 {
12981		return invalidParams
12982	}
12983	return nil
12984}
12985
12986// SetMaxResults sets the MaxResults field's value.
12987func (s *ListDeviceInstancesInput) SetMaxResults(v int64) *ListDeviceInstancesInput {
12988	s.MaxResults = &v
12989	return s
12990}
12991
12992// SetNextToken sets the NextToken field's value.
12993func (s *ListDeviceInstancesInput) SetNextToken(v string) *ListDeviceInstancesInput {
12994	s.NextToken = &v
12995	return s
12996}
12997
12998type ListDeviceInstancesOutput struct {
12999	_ struct{} `type:"structure"`
13000
13001	// An object that contains information about your device instances.
13002	DeviceInstances []*DeviceInstance `locationName:"deviceInstances" type:"list"`
13003
13004	// An identifier that can be used in the next call to this operation to return
13005	// the next set of items in the list.
13006	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13007}
13008
13009// String returns the string representation
13010func (s ListDeviceInstancesOutput) String() string {
13011	return awsutil.Prettify(s)
13012}
13013
13014// GoString returns the string representation
13015func (s ListDeviceInstancesOutput) GoString() string {
13016	return s.String()
13017}
13018
13019// SetDeviceInstances sets the DeviceInstances field's value.
13020func (s *ListDeviceInstancesOutput) SetDeviceInstances(v []*DeviceInstance) *ListDeviceInstancesOutput {
13021	s.DeviceInstances = v
13022	return s
13023}
13024
13025// SetNextToken sets the NextToken field's value.
13026func (s *ListDeviceInstancesOutput) SetNextToken(v string) *ListDeviceInstancesOutput {
13027	s.NextToken = &v
13028	return s
13029}
13030
13031// Represents the result of a list device pools request.
13032type ListDevicePoolsInput struct {
13033	_ struct{} `type:"structure"`
13034
13035	// The project ARN.
13036	//
13037	// Arn is a required field
13038	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
13039
13040	// An identifier that was returned from the previous call to this operation,
13041	// which can be used to return the next set of items in the list.
13042	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13043
13044	// The device pools' type.
13045	//
13046	// Allowed values include:
13047	//
13048	//    * CURATED: A device pool that is created and managed by AWS Device Farm.
13049	//
13050	//    * PRIVATE: A device pool that is created and managed by the device pool
13051	//    developer.
13052	Type *string `locationName:"type" type:"string" enum:"DevicePoolType"`
13053}
13054
13055// String returns the string representation
13056func (s ListDevicePoolsInput) String() string {
13057	return awsutil.Prettify(s)
13058}
13059
13060// GoString returns the string representation
13061func (s ListDevicePoolsInput) GoString() string {
13062	return s.String()
13063}
13064
13065// Validate inspects the fields of the type to determine if they are valid.
13066func (s *ListDevicePoolsInput) Validate() error {
13067	invalidParams := request.ErrInvalidParams{Context: "ListDevicePoolsInput"}
13068	if s.Arn == nil {
13069		invalidParams.Add(request.NewErrParamRequired("Arn"))
13070	}
13071	if s.Arn != nil && len(*s.Arn) < 32 {
13072		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13073	}
13074	if s.NextToken != nil && len(*s.NextToken) < 4 {
13075		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13076	}
13077
13078	if invalidParams.Len() > 0 {
13079		return invalidParams
13080	}
13081	return nil
13082}
13083
13084// SetArn sets the Arn field's value.
13085func (s *ListDevicePoolsInput) SetArn(v string) *ListDevicePoolsInput {
13086	s.Arn = &v
13087	return s
13088}
13089
13090// SetNextToken sets the NextToken field's value.
13091func (s *ListDevicePoolsInput) SetNextToken(v string) *ListDevicePoolsInput {
13092	s.NextToken = &v
13093	return s
13094}
13095
13096// SetType sets the Type field's value.
13097func (s *ListDevicePoolsInput) SetType(v string) *ListDevicePoolsInput {
13098	s.Type = &v
13099	return s
13100}
13101
13102// Represents the result of a list device pools request.
13103type ListDevicePoolsOutput struct {
13104	_ struct{} `type:"structure"`
13105
13106	// Information about the device pools.
13107	DevicePools []*DevicePool `locationName:"devicePools" type:"list"`
13108
13109	// If the number of items that are returned is significantly large, this is
13110	// an identifier that is also returned. It can be used in a subsequent call
13111	// to this operation to return the next set of items in the list.
13112	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13113}
13114
13115// String returns the string representation
13116func (s ListDevicePoolsOutput) String() string {
13117	return awsutil.Prettify(s)
13118}
13119
13120// GoString returns the string representation
13121func (s ListDevicePoolsOutput) GoString() string {
13122	return s.String()
13123}
13124
13125// SetDevicePools sets the DevicePools field's value.
13126func (s *ListDevicePoolsOutput) SetDevicePools(v []*DevicePool) *ListDevicePoolsOutput {
13127	s.DevicePools = v
13128	return s
13129}
13130
13131// SetNextToken sets the NextToken field's value.
13132func (s *ListDevicePoolsOutput) SetNextToken(v string) *ListDevicePoolsOutput {
13133	s.NextToken = &v
13134	return s
13135}
13136
13137// Represents the result of a list devices request.
13138type ListDevicesInput struct {
13139	_ struct{} `type:"structure"`
13140
13141	// The Amazon Resource Name (ARN) of the project.
13142	Arn *string `locationName:"arn" min:"32" type:"string"`
13143
13144	// Used to select a set of devices. A filter is made up of an attribute, an
13145	// operator, and one or more values.
13146	//
13147	//    * Attribute: The aspect of a device such as platform or model used as
13148	//    the selection criteria in a device filter. Allowed values include: ARN:
13149	//    The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example).
13150	//    PLATFORM: The device platform. Valid values are ANDROID or IOS. OS_VERSION:
13151	//    The operating system version (for example, 10.3.2). MODEL: The device
13152	//    model (for example, iPad 5th Gen). AVAILABILITY: The current availability
13153	//    of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE, BUSY, or
13154	//    TEMPORARY_NOT_AVAILABLE. FORM_FACTOR: The device form factor. Valid values
13155	//    are PHONE or TABLET. MANUFACTURER: The device manufacturer (for example,
13156	//    Apple). REMOTE_ACCESS_ENABLED: Whether the device is enabled for remote
13157	//    access. Valid values are TRUE or FALSE. REMOTE_DEBUG_ENABLED: Whether
13158	//    the device is enabled for remote debugging. Valid values are TRUE or FALSE.
13159	//    Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
13160	//    this attribute is ignored. INSTANCE_ARN: The Amazon Resource Name (ARN)
13161	//    of the device instance. INSTANCE_LABELS: The label of the device instance.
13162	//    FLEET_TYPE: The fleet type. Valid values are PUBLIC or PRIVATE.
13163	//
13164	//    * Operator: The filter operator. The EQUALS operator is available for
13165	//    every attribute except INSTANCE_LABELS. The CONTAINS operator is available
13166	//    for the INSTANCE_LABELS and MODEL attributes. The IN and NOT_IN operators
13167	//    are available for the ARN, OS_VERSION, MODEL, MANUFACTURER, and INSTANCE_ARN
13168	//    attributes. The LESS_THAN, GREATER_THAN, LESS_THAN_OR_EQUALS, and GREATER_THAN_OR_EQUALS
13169	//    operators are also available for the OS_VERSION attribute.
13170	//
13171	//    * Values: An array of one or more filter values. The IN and NOT_IN operators
13172	//    take a values array that has one or more elements. The other operators
13173	//    require an array with a single element. In a request, the AVAILABILITY
13174	//    attribute takes the following values: AVAILABLE, HIGHLY_AVAILABLE, BUSY,
13175	//    or TEMPORARY_NOT_AVAILABLE.
13176	Filters []*DeviceFilter `locationName:"filters" type:"list"`
13177
13178	// An identifier that was returned from the previous call to this operation,
13179	// which can be used to return the next set of items in the list.
13180	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13181}
13182
13183// String returns the string representation
13184func (s ListDevicesInput) String() string {
13185	return awsutil.Prettify(s)
13186}
13187
13188// GoString returns the string representation
13189func (s ListDevicesInput) GoString() string {
13190	return s.String()
13191}
13192
13193// Validate inspects the fields of the type to determine if they are valid.
13194func (s *ListDevicesInput) Validate() error {
13195	invalidParams := request.ErrInvalidParams{Context: "ListDevicesInput"}
13196	if s.Arn != nil && len(*s.Arn) < 32 {
13197		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13198	}
13199	if s.NextToken != nil && len(*s.NextToken) < 4 {
13200		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13201	}
13202
13203	if invalidParams.Len() > 0 {
13204		return invalidParams
13205	}
13206	return nil
13207}
13208
13209// SetArn sets the Arn field's value.
13210func (s *ListDevicesInput) SetArn(v string) *ListDevicesInput {
13211	s.Arn = &v
13212	return s
13213}
13214
13215// SetFilters sets the Filters field's value.
13216func (s *ListDevicesInput) SetFilters(v []*DeviceFilter) *ListDevicesInput {
13217	s.Filters = v
13218	return s
13219}
13220
13221// SetNextToken sets the NextToken field's value.
13222func (s *ListDevicesInput) SetNextToken(v string) *ListDevicesInput {
13223	s.NextToken = &v
13224	return s
13225}
13226
13227// Represents the result of a list devices operation.
13228type ListDevicesOutput struct {
13229	_ struct{} `type:"structure"`
13230
13231	// Information about the devices.
13232	Devices []*Device `locationName:"devices" type:"list"`
13233
13234	// If the number of items that are returned is significantly large, this is
13235	// an identifier that is also returned. It can be used in a subsequent call
13236	// to this operation to return the next set of items in the list.
13237	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13238}
13239
13240// String returns the string representation
13241func (s ListDevicesOutput) String() string {
13242	return awsutil.Prettify(s)
13243}
13244
13245// GoString returns the string representation
13246func (s ListDevicesOutput) GoString() string {
13247	return s.String()
13248}
13249
13250// SetDevices sets the Devices field's value.
13251func (s *ListDevicesOutput) SetDevices(v []*Device) *ListDevicesOutput {
13252	s.Devices = v
13253	return s
13254}
13255
13256// SetNextToken sets the NextToken field's value.
13257func (s *ListDevicesOutput) SetNextToken(v string) *ListDevicesOutput {
13258	s.NextToken = &v
13259	return s
13260}
13261
13262type ListInstanceProfilesInput struct {
13263	_ struct{} `type:"structure"`
13264
13265	// An integer that specifies the maximum number of items you want to return
13266	// in the API response.
13267	MaxResults *int64 `locationName:"maxResults" type:"integer"`
13268
13269	// An identifier that was returned from the previous call to this operation,
13270	// which can be used to return the next set of items in the list.
13271	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13272}
13273
13274// String returns the string representation
13275func (s ListInstanceProfilesInput) String() string {
13276	return awsutil.Prettify(s)
13277}
13278
13279// GoString returns the string representation
13280func (s ListInstanceProfilesInput) GoString() string {
13281	return s.String()
13282}
13283
13284// Validate inspects the fields of the type to determine if they are valid.
13285func (s *ListInstanceProfilesInput) Validate() error {
13286	invalidParams := request.ErrInvalidParams{Context: "ListInstanceProfilesInput"}
13287	if s.NextToken != nil && len(*s.NextToken) < 4 {
13288		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13289	}
13290
13291	if invalidParams.Len() > 0 {
13292		return invalidParams
13293	}
13294	return nil
13295}
13296
13297// SetMaxResults sets the MaxResults field's value.
13298func (s *ListInstanceProfilesInput) SetMaxResults(v int64) *ListInstanceProfilesInput {
13299	s.MaxResults = &v
13300	return s
13301}
13302
13303// SetNextToken sets the NextToken field's value.
13304func (s *ListInstanceProfilesInput) SetNextToken(v string) *ListInstanceProfilesInput {
13305	s.NextToken = &v
13306	return s
13307}
13308
13309type ListInstanceProfilesOutput struct {
13310	_ struct{} `type:"structure"`
13311
13312	// An object that contains information about your instance profiles.
13313	InstanceProfiles []*InstanceProfile `locationName:"instanceProfiles" type:"list"`
13314
13315	// An identifier that can be used in the next call to this operation to return
13316	// the next set of items in the list.
13317	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13318}
13319
13320// String returns the string representation
13321func (s ListInstanceProfilesOutput) String() string {
13322	return awsutil.Prettify(s)
13323}
13324
13325// GoString returns the string representation
13326func (s ListInstanceProfilesOutput) GoString() string {
13327	return s.String()
13328}
13329
13330// SetInstanceProfiles sets the InstanceProfiles field's value.
13331func (s *ListInstanceProfilesOutput) SetInstanceProfiles(v []*InstanceProfile) *ListInstanceProfilesOutput {
13332	s.InstanceProfiles = v
13333	return s
13334}
13335
13336// SetNextToken sets the NextToken field's value.
13337func (s *ListInstanceProfilesOutput) SetNextToken(v string) *ListInstanceProfilesOutput {
13338	s.NextToken = &v
13339	return s
13340}
13341
13342// Represents a request to the list jobs operation.
13343type ListJobsInput struct {
13344	_ struct{} `type:"structure"`
13345
13346	// The run's Amazon Resource Name (ARN).
13347	//
13348	// Arn is a required field
13349	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
13350
13351	// An identifier that was returned from the previous call to this operation,
13352	// which can be used to return the next set of items in the list.
13353	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13354}
13355
13356// String returns the string representation
13357func (s ListJobsInput) String() string {
13358	return awsutil.Prettify(s)
13359}
13360
13361// GoString returns the string representation
13362func (s ListJobsInput) GoString() string {
13363	return s.String()
13364}
13365
13366// Validate inspects the fields of the type to determine if they are valid.
13367func (s *ListJobsInput) Validate() error {
13368	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
13369	if s.Arn == nil {
13370		invalidParams.Add(request.NewErrParamRequired("Arn"))
13371	}
13372	if s.Arn != nil && len(*s.Arn) < 32 {
13373		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13374	}
13375	if s.NextToken != nil && len(*s.NextToken) < 4 {
13376		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13377	}
13378
13379	if invalidParams.Len() > 0 {
13380		return invalidParams
13381	}
13382	return nil
13383}
13384
13385// SetArn sets the Arn field's value.
13386func (s *ListJobsInput) SetArn(v string) *ListJobsInput {
13387	s.Arn = &v
13388	return s
13389}
13390
13391// SetNextToken sets the NextToken field's value.
13392func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
13393	s.NextToken = &v
13394	return s
13395}
13396
13397// Represents the result of a list jobs request.
13398type ListJobsOutput struct {
13399	_ struct{} `type:"structure"`
13400
13401	// Information about the jobs.
13402	Jobs []*Job `locationName:"jobs" type:"list"`
13403
13404	// If the number of items that are returned is significantly large, this is
13405	// an identifier that is also returned. It can be used in a subsequent call
13406	// to this operation to return the next set of items in the list.
13407	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13408}
13409
13410// String returns the string representation
13411func (s ListJobsOutput) String() string {
13412	return awsutil.Prettify(s)
13413}
13414
13415// GoString returns the string representation
13416func (s ListJobsOutput) GoString() string {
13417	return s.String()
13418}
13419
13420// SetJobs sets the Jobs field's value.
13421func (s *ListJobsOutput) SetJobs(v []*Job) *ListJobsOutput {
13422	s.Jobs = v
13423	return s
13424}
13425
13426// SetNextToken sets the NextToken field's value.
13427func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
13428	s.NextToken = &v
13429	return s
13430}
13431
13432type ListNetworkProfilesInput struct {
13433	_ struct{} `type:"structure"`
13434
13435	// The Amazon Resource Name (ARN) of the project for which you want to list
13436	// network profiles.
13437	//
13438	// Arn is a required field
13439	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
13440
13441	// An identifier that was returned from the previous call to this operation,
13442	// which can be used to return the next set of items in the list.
13443	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13444
13445	// The type of network profile to return information about. Valid values are
13446	// listed here.
13447	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
13448}
13449
13450// String returns the string representation
13451func (s ListNetworkProfilesInput) String() string {
13452	return awsutil.Prettify(s)
13453}
13454
13455// GoString returns the string representation
13456func (s ListNetworkProfilesInput) GoString() string {
13457	return s.String()
13458}
13459
13460// Validate inspects the fields of the type to determine if they are valid.
13461func (s *ListNetworkProfilesInput) Validate() error {
13462	invalidParams := request.ErrInvalidParams{Context: "ListNetworkProfilesInput"}
13463	if s.Arn == nil {
13464		invalidParams.Add(request.NewErrParamRequired("Arn"))
13465	}
13466	if s.Arn != nil && len(*s.Arn) < 32 {
13467		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13468	}
13469	if s.NextToken != nil && len(*s.NextToken) < 4 {
13470		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13471	}
13472
13473	if invalidParams.Len() > 0 {
13474		return invalidParams
13475	}
13476	return nil
13477}
13478
13479// SetArn sets the Arn field's value.
13480func (s *ListNetworkProfilesInput) SetArn(v string) *ListNetworkProfilesInput {
13481	s.Arn = &v
13482	return s
13483}
13484
13485// SetNextToken sets the NextToken field's value.
13486func (s *ListNetworkProfilesInput) SetNextToken(v string) *ListNetworkProfilesInput {
13487	s.NextToken = &v
13488	return s
13489}
13490
13491// SetType sets the Type field's value.
13492func (s *ListNetworkProfilesInput) SetType(v string) *ListNetworkProfilesInput {
13493	s.Type = &v
13494	return s
13495}
13496
13497type ListNetworkProfilesOutput struct {
13498	_ struct{} `type:"structure"`
13499
13500	// A list of the available network profiles.
13501	NetworkProfiles []*NetworkProfile `locationName:"networkProfiles" type:"list"`
13502
13503	// An identifier that was returned from the previous call to this operation,
13504	// which can be used to return the next set of items in the list.
13505	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13506}
13507
13508// String returns the string representation
13509func (s ListNetworkProfilesOutput) String() string {
13510	return awsutil.Prettify(s)
13511}
13512
13513// GoString returns the string representation
13514func (s ListNetworkProfilesOutput) GoString() string {
13515	return s.String()
13516}
13517
13518// SetNetworkProfiles sets the NetworkProfiles field's value.
13519func (s *ListNetworkProfilesOutput) SetNetworkProfiles(v []*NetworkProfile) *ListNetworkProfilesOutput {
13520	s.NetworkProfiles = v
13521	return s
13522}
13523
13524// SetNextToken sets the NextToken field's value.
13525func (s *ListNetworkProfilesOutput) SetNextToken(v string) *ListNetworkProfilesOutput {
13526	s.NextToken = &v
13527	return s
13528}
13529
13530type ListOfferingPromotionsInput struct {
13531	_ struct{} `type:"structure"`
13532
13533	// An identifier that was returned from the previous call to this operation,
13534	// which can be used to return the next set of items in the list.
13535	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13536}
13537
13538// String returns the string representation
13539func (s ListOfferingPromotionsInput) String() string {
13540	return awsutil.Prettify(s)
13541}
13542
13543// GoString returns the string representation
13544func (s ListOfferingPromotionsInput) GoString() string {
13545	return s.String()
13546}
13547
13548// Validate inspects the fields of the type to determine if they are valid.
13549func (s *ListOfferingPromotionsInput) Validate() error {
13550	invalidParams := request.ErrInvalidParams{Context: "ListOfferingPromotionsInput"}
13551	if s.NextToken != nil && len(*s.NextToken) < 4 {
13552		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13553	}
13554
13555	if invalidParams.Len() > 0 {
13556		return invalidParams
13557	}
13558	return nil
13559}
13560
13561// SetNextToken sets the NextToken field's value.
13562func (s *ListOfferingPromotionsInput) SetNextToken(v string) *ListOfferingPromotionsInput {
13563	s.NextToken = &v
13564	return s
13565}
13566
13567type ListOfferingPromotionsOutput struct {
13568	_ struct{} `type:"structure"`
13569
13570	// An identifier to be used in the next call to this operation, to return the
13571	// next set of items in the list.
13572	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13573
13574	// Information about the offering promotions.
13575	OfferingPromotions []*OfferingPromotion `locationName:"offeringPromotions" type:"list"`
13576}
13577
13578// String returns the string representation
13579func (s ListOfferingPromotionsOutput) String() string {
13580	return awsutil.Prettify(s)
13581}
13582
13583// GoString returns the string representation
13584func (s ListOfferingPromotionsOutput) GoString() string {
13585	return s.String()
13586}
13587
13588// SetNextToken sets the NextToken field's value.
13589func (s *ListOfferingPromotionsOutput) SetNextToken(v string) *ListOfferingPromotionsOutput {
13590	s.NextToken = &v
13591	return s
13592}
13593
13594// SetOfferingPromotions sets the OfferingPromotions field's value.
13595func (s *ListOfferingPromotionsOutput) SetOfferingPromotions(v []*OfferingPromotion) *ListOfferingPromotionsOutput {
13596	s.OfferingPromotions = v
13597	return s
13598}
13599
13600// Represents the request to list the offering transaction history.
13601type ListOfferingTransactionsInput struct {
13602	_ struct{} `type:"structure"`
13603
13604	// An identifier that was returned from the previous call to this operation,
13605	// which can be used to return the next set of items in the list.
13606	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13607}
13608
13609// String returns the string representation
13610func (s ListOfferingTransactionsInput) String() string {
13611	return awsutil.Prettify(s)
13612}
13613
13614// GoString returns the string representation
13615func (s ListOfferingTransactionsInput) GoString() string {
13616	return s.String()
13617}
13618
13619// Validate inspects the fields of the type to determine if they are valid.
13620func (s *ListOfferingTransactionsInput) Validate() error {
13621	invalidParams := request.ErrInvalidParams{Context: "ListOfferingTransactionsInput"}
13622	if s.NextToken != nil && len(*s.NextToken) < 4 {
13623		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13624	}
13625
13626	if invalidParams.Len() > 0 {
13627		return invalidParams
13628	}
13629	return nil
13630}
13631
13632// SetNextToken sets the NextToken field's value.
13633func (s *ListOfferingTransactionsInput) SetNextToken(v string) *ListOfferingTransactionsInput {
13634	s.NextToken = &v
13635	return s
13636}
13637
13638// Returns the transaction log of the specified offerings.
13639type ListOfferingTransactionsOutput struct {
13640	_ struct{} `type:"structure"`
13641
13642	// An identifier that was returned from the previous call to this operation,
13643	// which can be used to return the next set of items in the list.
13644	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13645
13646	// The audit log of subscriptions you have purchased and modified through AWS
13647	// Device Farm.
13648	OfferingTransactions []*OfferingTransaction `locationName:"offeringTransactions" type:"list"`
13649}
13650
13651// String returns the string representation
13652func (s ListOfferingTransactionsOutput) String() string {
13653	return awsutil.Prettify(s)
13654}
13655
13656// GoString returns the string representation
13657func (s ListOfferingTransactionsOutput) GoString() string {
13658	return s.String()
13659}
13660
13661// SetNextToken sets the NextToken field's value.
13662func (s *ListOfferingTransactionsOutput) SetNextToken(v string) *ListOfferingTransactionsOutput {
13663	s.NextToken = &v
13664	return s
13665}
13666
13667// SetOfferingTransactions sets the OfferingTransactions field's value.
13668func (s *ListOfferingTransactionsOutput) SetOfferingTransactions(v []*OfferingTransaction) *ListOfferingTransactionsOutput {
13669	s.OfferingTransactions = v
13670	return s
13671}
13672
13673// Represents the request to list all offerings.
13674type ListOfferingsInput struct {
13675	_ struct{} `type:"structure"`
13676
13677	// An identifier that was returned from the previous call to this operation,
13678	// which can be used to return the next set of items in the list.
13679	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13680}
13681
13682// String returns the string representation
13683func (s ListOfferingsInput) String() string {
13684	return awsutil.Prettify(s)
13685}
13686
13687// GoString returns the string representation
13688func (s ListOfferingsInput) GoString() string {
13689	return s.String()
13690}
13691
13692// Validate inspects the fields of the type to determine if they are valid.
13693func (s *ListOfferingsInput) Validate() error {
13694	invalidParams := request.ErrInvalidParams{Context: "ListOfferingsInput"}
13695	if s.NextToken != nil && len(*s.NextToken) < 4 {
13696		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13697	}
13698
13699	if invalidParams.Len() > 0 {
13700		return invalidParams
13701	}
13702	return nil
13703}
13704
13705// SetNextToken sets the NextToken field's value.
13706func (s *ListOfferingsInput) SetNextToken(v string) *ListOfferingsInput {
13707	s.NextToken = &v
13708	return s
13709}
13710
13711// Represents the return values of the list of offerings.
13712type ListOfferingsOutput struct {
13713	_ struct{} `type:"structure"`
13714
13715	// An identifier that was returned from the previous call to this operation,
13716	// which can be used to return the next set of items in the list.
13717	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13718
13719	// A value that represents the list offering results.
13720	Offerings []*Offering `locationName:"offerings" type:"list"`
13721}
13722
13723// String returns the string representation
13724func (s ListOfferingsOutput) String() string {
13725	return awsutil.Prettify(s)
13726}
13727
13728// GoString returns the string representation
13729func (s ListOfferingsOutput) GoString() string {
13730	return s.String()
13731}
13732
13733// SetNextToken sets the NextToken field's value.
13734func (s *ListOfferingsOutput) SetNextToken(v string) *ListOfferingsOutput {
13735	s.NextToken = &v
13736	return s
13737}
13738
13739// SetOfferings sets the Offerings field's value.
13740func (s *ListOfferingsOutput) SetOfferings(v []*Offering) *ListOfferingsOutput {
13741	s.Offerings = v
13742	return s
13743}
13744
13745// Represents a request to the list projects operation.
13746type ListProjectsInput struct {
13747	_ struct{} `type:"structure"`
13748
13749	// Optional. If no Amazon Resource Name (ARN) is specified, then AWS Device
13750	// Farm returns a list of all projects for the AWS account. You can also specify
13751	// a project ARN.
13752	Arn *string `locationName:"arn" min:"32" type:"string"`
13753
13754	// An identifier that was returned from the previous call to this operation,
13755	// which can be used to return the next set of items in the list.
13756	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13757}
13758
13759// String returns the string representation
13760func (s ListProjectsInput) String() string {
13761	return awsutil.Prettify(s)
13762}
13763
13764// GoString returns the string representation
13765func (s ListProjectsInput) GoString() string {
13766	return s.String()
13767}
13768
13769// Validate inspects the fields of the type to determine if they are valid.
13770func (s *ListProjectsInput) Validate() error {
13771	invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"}
13772	if s.Arn != nil && len(*s.Arn) < 32 {
13773		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13774	}
13775	if s.NextToken != nil && len(*s.NextToken) < 4 {
13776		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13777	}
13778
13779	if invalidParams.Len() > 0 {
13780		return invalidParams
13781	}
13782	return nil
13783}
13784
13785// SetArn sets the Arn field's value.
13786func (s *ListProjectsInput) SetArn(v string) *ListProjectsInput {
13787	s.Arn = &v
13788	return s
13789}
13790
13791// SetNextToken sets the NextToken field's value.
13792func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput {
13793	s.NextToken = &v
13794	return s
13795}
13796
13797// Represents the result of a list projects request.
13798type ListProjectsOutput struct {
13799	_ struct{} `type:"structure"`
13800
13801	// If the number of items that are returned is significantly large, this is
13802	// an identifier that is also returned. It can be used in a subsequent call
13803	// to this operation to return the next set of items in the list.
13804	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13805
13806	// Information about the projects.
13807	Projects []*Project `locationName:"projects" type:"list"`
13808}
13809
13810// String returns the string representation
13811func (s ListProjectsOutput) String() string {
13812	return awsutil.Prettify(s)
13813}
13814
13815// GoString returns the string representation
13816func (s ListProjectsOutput) GoString() string {
13817	return s.String()
13818}
13819
13820// SetNextToken sets the NextToken field's value.
13821func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput {
13822	s.NextToken = &v
13823	return s
13824}
13825
13826// SetProjects sets the Projects field's value.
13827func (s *ListProjectsOutput) SetProjects(v []*Project) *ListProjectsOutput {
13828	s.Projects = v
13829	return s
13830}
13831
13832// Represents the request to return information about the remote access session.
13833type ListRemoteAccessSessionsInput struct {
13834	_ struct{} `type:"structure"`
13835
13836	// The Amazon Resource Name (ARN) of the project about which you are requesting
13837	// information.
13838	//
13839	// Arn is a required field
13840	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
13841
13842	// An identifier that was returned from the previous call to this operation,
13843	// which can be used to return the next set of items in the list.
13844	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13845}
13846
13847// String returns the string representation
13848func (s ListRemoteAccessSessionsInput) String() string {
13849	return awsutil.Prettify(s)
13850}
13851
13852// GoString returns the string representation
13853func (s ListRemoteAccessSessionsInput) GoString() string {
13854	return s.String()
13855}
13856
13857// Validate inspects the fields of the type to determine if they are valid.
13858func (s *ListRemoteAccessSessionsInput) Validate() error {
13859	invalidParams := request.ErrInvalidParams{Context: "ListRemoteAccessSessionsInput"}
13860	if s.Arn == nil {
13861		invalidParams.Add(request.NewErrParamRequired("Arn"))
13862	}
13863	if s.Arn != nil && len(*s.Arn) < 32 {
13864		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13865	}
13866	if s.NextToken != nil && len(*s.NextToken) < 4 {
13867		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13868	}
13869
13870	if invalidParams.Len() > 0 {
13871		return invalidParams
13872	}
13873	return nil
13874}
13875
13876// SetArn sets the Arn field's value.
13877func (s *ListRemoteAccessSessionsInput) SetArn(v string) *ListRemoteAccessSessionsInput {
13878	s.Arn = &v
13879	return s
13880}
13881
13882// SetNextToken sets the NextToken field's value.
13883func (s *ListRemoteAccessSessionsInput) SetNextToken(v string) *ListRemoteAccessSessionsInput {
13884	s.NextToken = &v
13885	return s
13886}
13887
13888// Represents the response from the server after AWS Device Farm makes a request
13889// to return information about the remote access session.
13890type ListRemoteAccessSessionsOutput struct {
13891	_ struct{} `type:"structure"`
13892
13893	// An identifier that was returned from the previous call to this operation,
13894	// which can be used to return the next set of items in the list.
13895	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13896
13897	// A container that represents the metadata from the service about each remote
13898	// access session you are requesting.
13899	RemoteAccessSessions []*RemoteAccessSession `locationName:"remoteAccessSessions" type:"list"`
13900}
13901
13902// String returns the string representation
13903func (s ListRemoteAccessSessionsOutput) String() string {
13904	return awsutil.Prettify(s)
13905}
13906
13907// GoString returns the string representation
13908func (s ListRemoteAccessSessionsOutput) GoString() string {
13909	return s.String()
13910}
13911
13912// SetNextToken sets the NextToken field's value.
13913func (s *ListRemoteAccessSessionsOutput) SetNextToken(v string) *ListRemoteAccessSessionsOutput {
13914	s.NextToken = &v
13915	return s
13916}
13917
13918// SetRemoteAccessSessions sets the RemoteAccessSessions field's value.
13919func (s *ListRemoteAccessSessionsOutput) SetRemoteAccessSessions(v []*RemoteAccessSession) *ListRemoteAccessSessionsOutput {
13920	s.RemoteAccessSessions = v
13921	return s
13922}
13923
13924// Represents a request to the list runs operation.
13925type ListRunsInput struct {
13926	_ struct{} `type:"structure"`
13927
13928	// The Amazon Resource Name (ARN) of the project for which you want to list
13929	// runs.
13930	//
13931	// Arn is a required field
13932	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
13933
13934	// An identifier that was returned from the previous call to this operation,
13935	// which can be used to return the next set of items in the list.
13936	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13937}
13938
13939// String returns the string representation
13940func (s ListRunsInput) String() string {
13941	return awsutil.Prettify(s)
13942}
13943
13944// GoString returns the string representation
13945func (s ListRunsInput) GoString() string {
13946	return s.String()
13947}
13948
13949// Validate inspects the fields of the type to determine if they are valid.
13950func (s *ListRunsInput) Validate() error {
13951	invalidParams := request.ErrInvalidParams{Context: "ListRunsInput"}
13952	if s.Arn == nil {
13953		invalidParams.Add(request.NewErrParamRequired("Arn"))
13954	}
13955	if s.Arn != nil && len(*s.Arn) < 32 {
13956		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
13957	}
13958	if s.NextToken != nil && len(*s.NextToken) < 4 {
13959		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
13960	}
13961
13962	if invalidParams.Len() > 0 {
13963		return invalidParams
13964	}
13965	return nil
13966}
13967
13968// SetArn sets the Arn field's value.
13969func (s *ListRunsInput) SetArn(v string) *ListRunsInput {
13970	s.Arn = &v
13971	return s
13972}
13973
13974// SetNextToken sets the NextToken field's value.
13975func (s *ListRunsInput) SetNextToken(v string) *ListRunsInput {
13976	s.NextToken = &v
13977	return s
13978}
13979
13980// Represents the result of a list runs request.
13981type ListRunsOutput struct {
13982	_ struct{} `type:"structure"`
13983
13984	// If the number of items that are returned is significantly large, this is
13985	// an identifier that is also returned. It can be used in a subsequent call
13986	// to this operation to return the next set of items in the list.
13987	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
13988
13989	// Information about the runs.
13990	Runs []*Run `locationName:"runs" type:"list"`
13991}
13992
13993// String returns the string representation
13994func (s ListRunsOutput) String() string {
13995	return awsutil.Prettify(s)
13996}
13997
13998// GoString returns the string representation
13999func (s ListRunsOutput) GoString() string {
14000	return s.String()
14001}
14002
14003// SetNextToken sets the NextToken field's value.
14004func (s *ListRunsOutput) SetNextToken(v string) *ListRunsOutput {
14005	s.NextToken = &v
14006	return s
14007}
14008
14009// SetRuns sets the Runs field's value.
14010func (s *ListRunsOutput) SetRuns(v []*Run) *ListRunsOutput {
14011	s.Runs = v
14012	return s
14013}
14014
14015// Represents a request to the list samples operation.
14016type ListSamplesInput struct {
14017	_ struct{} `type:"structure"`
14018
14019	// The Amazon Resource Name (ARN) of the job used to list samples.
14020	//
14021	// Arn is a required field
14022	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
14023
14024	// An identifier that was returned from the previous call to this operation,
14025	// which can be used to return the next set of items in the list.
14026	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14027}
14028
14029// String returns the string representation
14030func (s ListSamplesInput) String() string {
14031	return awsutil.Prettify(s)
14032}
14033
14034// GoString returns the string representation
14035func (s ListSamplesInput) GoString() string {
14036	return s.String()
14037}
14038
14039// Validate inspects the fields of the type to determine if they are valid.
14040func (s *ListSamplesInput) Validate() error {
14041	invalidParams := request.ErrInvalidParams{Context: "ListSamplesInput"}
14042	if s.Arn == nil {
14043		invalidParams.Add(request.NewErrParamRequired("Arn"))
14044	}
14045	if s.Arn != nil && len(*s.Arn) < 32 {
14046		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
14047	}
14048	if s.NextToken != nil && len(*s.NextToken) < 4 {
14049		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14050	}
14051
14052	if invalidParams.Len() > 0 {
14053		return invalidParams
14054	}
14055	return nil
14056}
14057
14058// SetArn sets the Arn field's value.
14059func (s *ListSamplesInput) SetArn(v string) *ListSamplesInput {
14060	s.Arn = &v
14061	return s
14062}
14063
14064// SetNextToken sets the NextToken field's value.
14065func (s *ListSamplesInput) SetNextToken(v string) *ListSamplesInput {
14066	s.NextToken = &v
14067	return s
14068}
14069
14070// Represents the result of a list samples request.
14071type ListSamplesOutput struct {
14072	_ struct{} `type:"structure"`
14073
14074	// If the number of items that are returned is significantly large, this is
14075	// an identifier that is also returned. It can be used in a subsequent call
14076	// to this operation to return the next set of items in the list.
14077	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14078
14079	// Information about the samples.
14080	Samples []*Sample `locationName:"samples" type:"list"`
14081}
14082
14083// String returns the string representation
14084func (s ListSamplesOutput) String() string {
14085	return awsutil.Prettify(s)
14086}
14087
14088// GoString returns the string representation
14089func (s ListSamplesOutput) GoString() string {
14090	return s.String()
14091}
14092
14093// SetNextToken sets the NextToken field's value.
14094func (s *ListSamplesOutput) SetNextToken(v string) *ListSamplesOutput {
14095	s.NextToken = &v
14096	return s
14097}
14098
14099// SetSamples sets the Samples field's value.
14100func (s *ListSamplesOutput) SetSamples(v []*Sample) *ListSamplesOutput {
14101	s.Samples = v
14102	return s
14103}
14104
14105// Represents a request to the list suites operation.
14106type ListSuitesInput struct {
14107	_ struct{} `type:"structure"`
14108
14109	// The job's Amazon Resource Name (ARN).
14110	//
14111	// Arn is a required field
14112	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
14113
14114	// An identifier that was returned from the previous call to this operation,
14115	// which can be used to return the next set of items in the list.
14116	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14117}
14118
14119// String returns the string representation
14120func (s ListSuitesInput) String() string {
14121	return awsutil.Prettify(s)
14122}
14123
14124// GoString returns the string representation
14125func (s ListSuitesInput) GoString() string {
14126	return s.String()
14127}
14128
14129// Validate inspects the fields of the type to determine if they are valid.
14130func (s *ListSuitesInput) Validate() error {
14131	invalidParams := request.ErrInvalidParams{Context: "ListSuitesInput"}
14132	if s.Arn == nil {
14133		invalidParams.Add(request.NewErrParamRequired("Arn"))
14134	}
14135	if s.Arn != nil && len(*s.Arn) < 32 {
14136		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
14137	}
14138	if s.NextToken != nil && len(*s.NextToken) < 4 {
14139		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14140	}
14141
14142	if invalidParams.Len() > 0 {
14143		return invalidParams
14144	}
14145	return nil
14146}
14147
14148// SetArn sets the Arn field's value.
14149func (s *ListSuitesInput) SetArn(v string) *ListSuitesInput {
14150	s.Arn = &v
14151	return s
14152}
14153
14154// SetNextToken sets the NextToken field's value.
14155func (s *ListSuitesInput) SetNextToken(v string) *ListSuitesInput {
14156	s.NextToken = &v
14157	return s
14158}
14159
14160// Represents the result of a list suites request.
14161type ListSuitesOutput struct {
14162	_ struct{} `type:"structure"`
14163
14164	// If the number of items that are returned is significantly large, this is
14165	// an identifier that is also returned. It can be used in a subsequent call
14166	// to this operation to return the next set of items in the list.
14167	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14168
14169	// Information about the suites.
14170	Suites []*Suite `locationName:"suites" type:"list"`
14171}
14172
14173// String returns the string representation
14174func (s ListSuitesOutput) String() string {
14175	return awsutil.Prettify(s)
14176}
14177
14178// GoString returns the string representation
14179func (s ListSuitesOutput) GoString() string {
14180	return s.String()
14181}
14182
14183// SetNextToken sets the NextToken field's value.
14184func (s *ListSuitesOutput) SetNextToken(v string) *ListSuitesOutput {
14185	s.NextToken = &v
14186	return s
14187}
14188
14189// SetSuites sets the Suites field's value.
14190func (s *ListSuitesOutput) SetSuites(v []*Suite) *ListSuitesOutput {
14191	s.Suites = v
14192	return s
14193}
14194
14195type ListTagsForResourceInput struct {
14196	_ struct{} `type:"structure"`
14197
14198	// The Amazon Resource Name (ARN) of the resource or resources for which to
14199	// list tags. You can associate tags with the following Device Farm resources:
14200	// PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION,
14201	// DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.
14202	//
14203	// ResourceARN is a required field
14204	ResourceARN *string `min:"32" type:"string" required:"true"`
14205}
14206
14207// String returns the string representation
14208func (s ListTagsForResourceInput) String() string {
14209	return awsutil.Prettify(s)
14210}
14211
14212// GoString returns the string representation
14213func (s ListTagsForResourceInput) GoString() string {
14214	return s.String()
14215}
14216
14217// Validate inspects the fields of the type to determine if they are valid.
14218func (s *ListTagsForResourceInput) Validate() error {
14219	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
14220	if s.ResourceARN == nil {
14221		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
14222	}
14223	if s.ResourceARN != nil && len(*s.ResourceARN) < 32 {
14224		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 32))
14225	}
14226
14227	if invalidParams.Len() > 0 {
14228		return invalidParams
14229	}
14230	return nil
14231}
14232
14233// SetResourceARN sets the ResourceARN field's value.
14234func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput {
14235	s.ResourceARN = &v
14236	return s
14237}
14238
14239type ListTagsForResourceOutput struct {
14240	_ struct{} `type:"structure"`
14241
14242	// The tags to add to the resource. A tag is an array of key-value pairs. Tag
14243	// keys can have a maximum character length of 128 characters. Tag values can
14244	// have a maximum length of 256 characters.
14245	Tags []*Tag `type:"list"`
14246}
14247
14248// String returns the string representation
14249func (s ListTagsForResourceOutput) String() string {
14250	return awsutil.Prettify(s)
14251}
14252
14253// GoString returns the string representation
14254func (s ListTagsForResourceOutput) GoString() string {
14255	return s.String()
14256}
14257
14258// SetTags sets the Tags field's value.
14259func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput {
14260	s.Tags = v
14261	return s
14262}
14263
14264type ListTestGridProjectsInput struct {
14265	_ struct{} `type:"structure"`
14266
14267	// Return no more than this number of results.
14268	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
14269
14270	// From a response, used to continue a paginated listing.
14271	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14272}
14273
14274// String returns the string representation
14275func (s ListTestGridProjectsInput) String() string {
14276	return awsutil.Prettify(s)
14277}
14278
14279// GoString returns the string representation
14280func (s ListTestGridProjectsInput) GoString() string {
14281	return s.String()
14282}
14283
14284// Validate inspects the fields of the type to determine if they are valid.
14285func (s *ListTestGridProjectsInput) Validate() error {
14286	invalidParams := request.ErrInvalidParams{Context: "ListTestGridProjectsInput"}
14287	if s.MaxResult != nil && *s.MaxResult < 1 {
14288		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
14289	}
14290	if s.NextToken != nil && len(*s.NextToken) < 4 {
14291		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14292	}
14293
14294	if invalidParams.Len() > 0 {
14295		return invalidParams
14296	}
14297	return nil
14298}
14299
14300// SetMaxResult sets the MaxResult field's value.
14301func (s *ListTestGridProjectsInput) SetMaxResult(v int64) *ListTestGridProjectsInput {
14302	s.MaxResult = &v
14303	return s
14304}
14305
14306// SetNextToken sets the NextToken field's value.
14307func (s *ListTestGridProjectsInput) SetNextToken(v string) *ListTestGridProjectsInput {
14308	s.NextToken = &v
14309	return s
14310}
14311
14312type ListTestGridProjectsOutput struct {
14313	_ struct{} `type:"structure"`
14314
14315	// Used for pagination. Pass into ListTestGridProjects to get more results in
14316	// a paginated request.
14317	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14318
14319	// The list of TestGridProjects, based on a ListTestGridProjectsRequest.
14320	TestGridProjects []*TestGridProject `locationName:"testGridProjects" type:"list"`
14321}
14322
14323// String returns the string representation
14324func (s ListTestGridProjectsOutput) String() string {
14325	return awsutil.Prettify(s)
14326}
14327
14328// GoString returns the string representation
14329func (s ListTestGridProjectsOutput) GoString() string {
14330	return s.String()
14331}
14332
14333// SetNextToken sets the NextToken field's value.
14334func (s *ListTestGridProjectsOutput) SetNextToken(v string) *ListTestGridProjectsOutput {
14335	s.NextToken = &v
14336	return s
14337}
14338
14339// SetTestGridProjects sets the TestGridProjects field's value.
14340func (s *ListTestGridProjectsOutput) SetTestGridProjects(v []*TestGridProject) *ListTestGridProjectsOutput {
14341	s.TestGridProjects = v
14342	return s
14343}
14344
14345type ListTestGridSessionActionsInput struct {
14346	_ struct{} `type:"structure"`
14347
14348	// The maximum number of sessions to return per response.
14349	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
14350
14351	// Pagination token.
14352	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14353
14354	// The ARN of the session to retrieve.
14355	//
14356	// SessionArn is a required field
14357	SessionArn *string `locationName:"sessionArn" min:"32" type:"string" required:"true"`
14358}
14359
14360// String returns the string representation
14361func (s ListTestGridSessionActionsInput) String() string {
14362	return awsutil.Prettify(s)
14363}
14364
14365// GoString returns the string representation
14366func (s ListTestGridSessionActionsInput) GoString() string {
14367	return s.String()
14368}
14369
14370// Validate inspects the fields of the type to determine if they are valid.
14371func (s *ListTestGridSessionActionsInput) Validate() error {
14372	invalidParams := request.ErrInvalidParams{Context: "ListTestGridSessionActionsInput"}
14373	if s.MaxResult != nil && *s.MaxResult < 1 {
14374		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
14375	}
14376	if s.NextToken != nil && len(*s.NextToken) < 4 {
14377		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14378	}
14379	if s.SessionArn == nil {
14380		invalidParams.Add(request.NewErrParamRequired("SessionArn"))
14381	}
14382	if s.SessionArn != nil && len(*s.SessionArn) < 32 {
14383		invalidParams.Add(request.NewErrParamMinLen("SessionArn", 32))
14384	}
14385
14386	if invalidParams.Len() > 0 {
14387		return invalidParams
14388	}
14389	return nil
14390}
14391
14392// SetMaxResult sets the MaxResult field's value.
14393func (s *ListTestGridSessionActionsInput) SetMaxResult(v int64) *ListTestGridSessionActionsInput {
14394	s.MaxResult = &v
14395	return s
14396}
14397
14398// SetNextToken sets the NextToken field's value.
14399func (s *ListTestGridSessionActionsInput) SetNextToken(v string) *ListTestGridSessionActionsInput {
14400	s.NextToken = &v
14401	return s
14402}
14403
14404// SetSessionArn sets the SessionArn field's value.
14405func (s *ListTestGridSessionActionsInput) SetSessionArn(v string) *ListTestGridSessionActionsInput {
14406	s.SessionArn = &v
14407	return s
14408}
14409
14410type ListTestGridSessionActionsOutput struct {
14411	_ struct{} `type:"structure"`
14412
14413	// The action taken by the session.
14414	Actions []*TestGridSessionAction `locationName:"actions" type:"list"`
14415
14416	// Pagination token.
14417	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14418}
14419
14420// String returns the string representation
14421func (s ListTestGridSessionActionsOutput) String() string {
14422	return awsutil.Prettify(s)
14423}
14424
14425// GoString returns the string representation
14426func (s ListTestGridSessionActionsOutput) GoString() string {
14427	return s.String()
14428}
14429
14430// SetActions sets the Actions field's value.
14431func (s *ListTestGridSessionActionsOutput) SetActions(v []*TestGridSessionAction) *ListTestGridSessionActionsOutput {
14432	s.Actions = v
14433	return s
14434}
14435
14436// SetNextToken sets the NextToken field's value.
14437func (s *ListTestGridSessionActionsOutput) SetNextToken(v string) *ListTestGridSessionActionsOutput {
14438	s.NextToken = &v
14439	return s
14440}
14441
14442type ListTestGridSessionArtifactsInput struct {
14443	_ struct{} `type:"structure"`
14444
14445	// The maximum number of results to be returned by a request.
14446	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
14447
14448	// Pagination token.
14449	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14450
14451	// The ARN of a TestGridSession.
14452	//
14453	// SessionArn is a required field
14454	SessionArn *string `locationName:"sessionArn" min:"32" type:"string" required:"true"`
14455
14456	// Limit results to a specified type of artifact.
14457	Type *string `locationName:"type" type:"string" enum:"TestGridSessionArtifactCategory"`
14458}
14459
14460// String returns the string representation
14461func (s ListTestGridSessionArtifactsInput) String() string {
14462	return awsutil.Prettify(s)
14463}
14464
14465// GoString returns the string representation
14466func (s ListTestGridSessionArtifactsInput) GoString() string {
14467	return s.String()
14468}
14469
14470// Validate inspects the fields of the type to determine if they are valid.
14471func (s *ListTestGridSessionArtifactsInput) Validate() error {
14472	invalidParams := request.ErrInvalidParams{Context: "ListTestGridSessionArtifactsInput"}
14473	if s.MaxResult != nil && *s.MaxResult < 1 {
14474		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
14475	}
14476	if s.NextToken != nil && len(*s.NextToken) < 4 {
14477		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14478	}
14479	if s.SessionArn == nil {
14480		invalidParams.Add(request.NewErrParamRequired("SessionArn"))
14481	}
14482	if s.SessionArn != nil && len(*s.SessionArn) < 32 {
14483		invalidParams.Add(request.NewErrParamMinLen("SessionArn", 32))
14484	}
14485
14486	if invalidParams.Len() > 0 {
14487		return invalidParams
14488	}
14489	return nil
14490}
14491
14492// SetMaxResult sets the MaxResult field's value.
14493func (s *ListTestGridSessionArtifactsInput) SetMaxResult(v int64) *ListTestGridSessionArtifactsInput {
14494	s.MaxResult = &v
14495	return s
14496}
14497
14498// SetNextToken sets the NextToken field's value.
14499func (s *ListTestGridSessionArtifactsInput) SetNextToken(v string) *ListTestGridSessionArtifactsInput {
14500	s.NextToken = &v
14501	return s
14502}
14503
14504// SetSessionArn sets the SessionArn field's value.
14505func (s *ListTestGridSessionArtifactsInput) SetSessionArn(v string) *ListTestGridSessionArtifactsInput {
14506	s.SessionArn = &v
14507	return s
14508}
14509
14510// SetType sets the Type field's value.
14511func (s *ListTestGridSessionArtifactsInput) SetType(v string) *ListTestGridSessionArtifactsInput {
14512	s.Type = &v
14513	return s
14514}
14515
14516type ListTestGridSessionArtifactsOutput struct {
14517	_ struct{} `type:"structure"`
14518
14519	// A list of test grid session artifacts for a TestGridSession.
14520	Artifacts []*TestGridSessionArtifact `locationName:"artifacts" type:"list"`
14521
14522	// Pagination token.
14523	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14524}
14525
14526// String returns the string representation
14527func (s ListTestGridSessionArtifactsOutput) String() string {
14528	return awsutil.Prettify(s)
14529}
14530
14531// GoString returns the string representation
14532func (s ListTestGridSessionArtifactsOutput) GoString() string {
14533	return s.String()
14534}
14535
14536// SetArtifacts sets the Artifacts field's value.
14537func (s *ListTestGridSessionArtifactsOutput) SetArtifacts(v []*TestGridSessionArtifact) *ListTestGridSessionArtifactsOutput {
14538	s.Artifacts = v
14539	return s
14540}
14541
14542// SetNextToken sets the NextToken field's value.
14543func (s *ListTestGridSessionArtifactsOutput) SetNextToken(v string) *ListTestGridSessionArtifactsOutput {
14544	s.NextToken = &v
14545	return s
14546}
14547
14548type ListTestGridSessionsInput struct {
14549	_ struct{} `type:"structure"`
14550
14551	// Return only sessions created after this time.
14552	CreationTimeAfter *time.Time `locationName:"creationTimeAfter" type:"timestamp"`
14553
14554	// Return only sessions created before this time.
14555	CreationTimeBefore *time.Time `locationName:"creationTimeBefore" type:"timestamp"`
14556
14557	// Return only sessions that ended after this time.
14558	EndTimeAfter *time.Time `locationName:"endTimeAfter" type:"timestamp"`
14559
14560	// Return only sessions that ended before this time.
14561	EndTimeBefore *time.Time `locationName:"endTimeBefore" type:"timestamp"`
14562
14563	// Return only this many results at a time.
14564	MaxResult *int64 `locationName:"maxResult" min:"1" type:"integer"`
14565
14566	// Pagination token.
14567	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14568
14569	// ARN of a TestGridProject.
14570	//
14571	// ProjectArn is a required field
14572	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
14573
14574	// Return only sessions in this state.
14575	Status *string `locationName:"status" type:"string" enum:"TestGridSessionStatus"`
14576}
14577
14578// String returns the string representation
14579func (s ListTestGridSessionsInput) String() string {
14580	return awsutil.Prettify(s)
14581}
14582
14583// GoString returns the string representation
14584func (s ListTestGridSessionsInput) GoString() string {
14585	return s.String()
14586}
14587
14588// Validate inspects the fields of the type to determine if they are valid.
14589func (s *ListTestGridSessionsInput) Validate() error {
14590	invalidParams := request.ErrInvalidParams{Context: "ListTestGridSessionsInput"}
14591	if s.MaxResult != nil && *s.MaxResult < 1 {
14592		invalidParams.Add(request.NewErrParamMinValue("MaxResult", 1))
14593	}
14594	if s.NextToken != nil && len(*s.NextToken) < 4 {
14595		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14596	}
14597	if s.ProjectArn == nil {
14598		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
14599	}
14600	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
14601		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
14602	}
14603
14604	if invalidParams.Len() > 0 {
14605		return invalidParams
14606	}
14607	return nil
14608}
14609
14610// SetCreationTimeAfter sets the CreationTimeAfter field's value.
14611func (s *ListTestGridSessionsInput) SetCreationTimeAfter(v time.Time) *ListTestGridSessionsInput {
14612	s.CreationTimeAfter = &v
14613	return s
14614}
14615
14616// SetCreationTimeBefore sets the CreationTimeBefore field's value.
14617func (s *ListTestGridSessionsInput) SetCreationTimeBefore(v time.Time) *ListTestGridSessionsInput {
14618	s.CreationTimeBefore = &v
14619	return s
14620}
14621
14622// SetEndTimeAfter sets the EndTimeAfter field's value.
14623func (s *ListTestGridSessionsInput) SetEndTimeAfter(v time.Time) *ListTestGridSessionsInput {
14624	s.EndTimeAfter = &v
14625	return s
14626}
14627
14628// SetEndTimeBefore sets the EndTimeBefore field's value.
14629func (s *ListTestGridSessionsInput) SetEndTimeBefore(v time.Time) *ListTestGridSessionsInput {
14630	s.EndTimeBefore = &v
14631	return s
14632}
14633
14634// SetMaxResult sets the MaxResult field's value.
14635func (s *ListTestGridSessionsInput) SetMaxResult(v int64) *ListTestGridSessionsInput {
14636	s.MaxResult = &v
14637	return s
14638}
14639
14640// SetNextToken sets the NextToken field's value.
14641func (s *ListTestGridSessionsInput) SetNextToken(v string) *ListTestGridSessionsInput {
14642	s.NextToken = &v
14643	return s
14644}
14645
14646// SetProjectArn sets the ProjectArn field's value.
14647func (s *ListTestGridSessionsInput) SetProjectArn(v string) *ListTestGridSessionsInput {
14648	s.ProjectArn = &v
14649	return s
14650}
14651
14652// SetStatus sets the Status field's value.
14653func (s *ListTestGridSessionsInput) SetStatus(v string) *ListTestGridSessionsInput {
14654	s.Status = &v
14655	return s
14656}
14657
14658type ListTestGridSessionsOutput struct {
14659	_ struct{} `type:"structure"`
14660
14661	// Pagination token.
14662	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14663
14664	// The sessions that match the criteria in a ListTestGridSessionsRequest.
14665	TestGridSessions []*TestGridSession `locationName:"testGridSessions" type:"list"`
14666}
14667
14668// String returns the string representation
14669func (s ListTestGridSessionsOutput) String() string {
14670	return awsutil.Prettify(s)
14671}
14672
14673// GoString returns the string representation
14674func (s ListTestGridSessionsOutput) GoString() string {
14675	return s.String()
14676}
14677
14678// SetNextToken sets the NextToken field's value.
14679func (s *ListTestGridSessionsOutput) SetNextToken(v string) *ListTestGridSessionsOutput {
14680	s.NextToken = &v
14681	return s
14682}
14683
14684// SetTestGridSessions sets the TestGridSessions field's value.
14685func (s *ListTestGridSessionsOutput) SetTestGridSessions(v []*TestGridSession) *ListTestGridSessionsOutput {
14686	s.TestGridSessions = v
14687	return s
14688}
14689
14690// Represents a request to the list tests operation.
14691type ListTestsInput struct {
14692	_ struct{} `type:"structure"`
14693
14694	// The test suite's Amazon Resource Name (ARN).
14695	//
14696	// Arn is a required field
14697	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
14698
14699	// An identifier that was returned from the previous call to this operation,
14700	// which can be used to return the next set of items in the list.
14701	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14702}
14703
14704// String returns the string representation
14705func (s ListTestsInput) String() string {
14706	return awsutil.Prettify(s)
14707}
14708
14709// GoString returns the string representation
14710func (s ListTestsInput) GoString() string {
14711	return s.String()
14712}
14713
14714// Validate inspects the fields of the type to determine if they are valid.
14715func (s *ListTestsInput) Validate() error {
14716	invalidParams := request.ErrInvalidParams{Context: "ListTestsInput"}
14717	if s.Arn == nil {
14718		invalidParams.Add(request.NewErrParamRequired("Arn"))
14719	}
14720	if s.Arn != nil && len(*s.Arn) < 32 {
14721		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
14722	}
14723	if s.NextToken != nil && len(*s.NextToken) < 4 {
14724		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14725	}
14726
14727	if invalidParams.Len() > 0 {
14728		return invalidParams
14729	}
14730	return nil
14731}
14732
14733// SetArn sets the Arn field's value.
14734func (s *ListTestsInput) SetArn(v string) *ListTestsInput {
14735	s.Arn = &v
14736	return s
14737}
14738
14739// SetNextToken sets the NextToken field's value.
14740func (s *ListTestsInput) SetNextToken(v string) *ListTestsInput {
14741	s.NextToken = &v
14742	return s
14743}
14744
14745// Represents the result of a list tests request.
14746type ListTestsOutput struct {
14747	_ struct{} `type:"structure"`
14748
14749	// If the number of items that are returned is significantly large, this is
14750	// an identifier that is also returned. It can be used in a subsequent call
14751	// to this operation to return the next set of items in the list.
14752	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14753
14754	// Information about the tests.
14755	Tests []*Test `locationName:"tests" type:"list"`
14756}
14757
14758// String returns the string representation
14759func (s ListTestsOutput) String() string {
14760	return awsutil.Prettify(s)
14761}
14762
14763// GoString returns the string representation
14764func (s ListTestsOutput) GoString() string {
14765	return s.String()
14766}
14767
14768// SetNextToken sets the NextToken field's value.
14769func (s *ListTestsOutput) SetNextToken(v string) *ListTestsOutput {
14770	s.NextToken = &v
14771	return s
14772}
14773
14774// SetTests sets the Tests field's value.
14775func (s *ListTestsOutput) SetTests(v []*Test) *ListTestsOutput {
14776	s.Tests = v
14777	return s
14778}
14779
14780// Represents a request to the list unique problems operation.
14781type ListUniqueProblemsInput struct {
14782	_ struct{} `type:"structure"`
14783
14784	// The unique problems' ARNs.
14785	//
14786	// Arn is a required field
14787	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
14788
14789	// An identifier that was returned from the previous call to this operation,
14790	// which can be used to return the next set of items in the list.
14791	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14792}
14793
14794// String returns the string representation
14795func (s ListUniqueProblemsInput) String() string {
14796	return awsutil.Prettify(s)
14797}
14798
14799// GoString returns the string representation
14800func (s ListUniqueProblemsInput) GoString() string {
14801	return s.String()
14802}
14803
14804// Validate inspects the fields of the type to determine if they are valid.
14805func (s *ListUniqueProblemsInput) Validate() error {
14806	invalidParams := request.ErrInvalidParams{Context: "ListUniqueProblemsInput"}
14807	if s.Arn == nil {
14808		invalidParams.Add(request.NewErrParamRequired("Arn"))
14809	}
14810	if s.Arn != nil && len(*s.Arn) < 32 {
14811		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
14812	}
14813	if s.NextToken != nil && len(*s.NextToken) < 4 {
14814		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14815	}
14816
14817	if invalidParams.Len() > 0 {
14818		return invalidParams
14819	}
14820	return nil
14821}
14822
14823// SetArn sets the Arn field's value.
14824func (s *ListUniqueProblemsInput) SetArn(v string) *ListUniqueProblemsInput {
14825	s.Arn = &v
14826	return s
14827}
14828
14829// SetNextToken sets the NextToken field's value.
14830func (s *ListUniqueProblemsInput) SetNextToken(v string) *ListUniqueProblemsInput {
14831	s.NextToken = &v
14832	return s
14833}
14834
14835// Represents the result of a list unique problems request.
14836type ListUniqueProblemsOutput struct {
14837	_ struct{} `type:"structure"`
14838
14839	// If the number of items that are returned is significantly large, this is
14840	// an identifier that is also returned. It can be used in a subsequent call
14841	// to this operation to return the next set of items in the list.
14842	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14843
14844	// Information about the unique problems.
14845	//
14846	// Allowed values include:
14847	//
14848	//    * PENDING
14849	//
14850	//    * PASSED
14851	//
14852	//    * WARNED
14853	//
14854	//    * FAILED
14855	//
14856	//    * SKIPPED
14857	//
14858	//    * ERRORED
14859	//
14860	//    * STOPPED
14861	UniqueProblems map[string][]*UniqueProblem `locationName:"uniqueProblems" type:"map"`
14862}
14863
14864// String returns the string representation
14865func (s ListUniqueProblemsOutput) String() string {
14866	return awsutil.Prettify(s)
14867}
14868
14869// GoString returns the string representation
14870func (s ListUniqueProblemsOutput) GoString() string {
14871	return s.String()
14872}
14873
14874// SetNextToken sets the NextToken field's value.
14875func (s *ListUniqueProblemsOutput) SetNextToken(v string) *ListUniqueProblemsOutput {
14876	s.NextToken = &v
14877	return s
14878}
14879
14880// SetUniqueProblems sets the UniqueProblems field's value.
14881func (s *ListUniqueProblemsOutput) SetUniqueProblems(v map[string][]*UniqueProblem) *ListUniqueProblemsOutput {
14882	s.UniqueProblems = v
14883	return s
14884}
14885
14886// Represents a request to the list uploads operation.
14887type ListUploadsInput struct {
14888	_ struct{} `type:"structure"`
14889
14890	// The Amazon Resource Name (ARN) of the project for which you want to list
14891	// uploads.
14892	//
14893	// Arn is a required field
14894	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
14895
14896	// An identifier that was returned from the previous call to this operation,
14897	// which can be used to return the next set of items in the list.
14898	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
14899
14900	// The type of upload.
14901	//
14902	// Must be one of the following values:
14903	//
14904	//    * ANDROID_APP
14905	//
14906	//    * IOS_APP
14907	//
14908	//    * WEB_APP
14909	//
14910	//    * EXTERNAL_DATA
14911	//
14912	//    * APPIUM_JAVA_JUNIT_TEST_PACKAGE
14913	//
14914	//    * APPIUM_JAVA_TESTNG_TEST_PACKAGE
14915	//
14916	//    * APPIUM_PYTHON_TEST_PACKAGE
14917	//
14918	//    * APPIUM_NODE_TEST_PACKAGE
14919	//
14920	//    * APPIUM_RUBY_TEST_PACKAGE
14921	//
14922	//    * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
14923	//
14924	//    * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
14925	//
14926	//    * APPIUM_WEB_PYTHON_TEST_PACKAGE
14927	//
14928	//    * APPIUM_WEB_NODE_TEST_PACKAGE
14929	//
14930	//    * APPIUM_WEB_RUBY_TEST_PACKAGE
14931	//
14932	//    * CALABASH_TEST_PACKAGE
14933	//
14934	//    * INSTRUMENTATION_TEST_PACKAGE
14935	//
14936	//    * UIAUTOMATION_TEST_PACKAGE
14937	//
14938	//    * UIAUTOMATOR_TEST_PACKAGE
14939	//
14940	//    * XCTEST_TEST_PACKAGE
14941	//
14942	//    * XCTEST_UI_TEST_PACKAGE
14943	//
14944	//    * APPIUM_JAVA_JUNIT_TEST_SPEC
14945	//
14946	//    * APPIUM_JAVA_TESTNG_TEST_SPEC
14947	//
14948	//    * APPIUM_PYTHON_TEST_SPEC
14949	//
14950	//    * APPIUM_NODE_TEST_SPEC
14951	//
14952	//    * APPIUM_RUBY_TEST_SPEC
14953	//
14954	//    * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
14955	//
14956	//    * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
14957	//
14958	//    * APPIUM_WEB_PYTHON_TEST_SPEC
14959	//
14960	//    * APPIUM_WEB_NODE_TEST_SPEC
14961	//
14962	//    * APPIUM_WEB_RUBY_TEST_SPEC
14963	//
14964	//    * INSTRUMENTATION_TEST_SPEC
14965	//
14966	//    * XCTEST_UI_TEST_SPEC
14967	Type *string `locationName:"type" type:"string" enum:"UploadType"`
14968}
14969
14970// String returns the string representation
14971func (s ListUploadsInput) String() string {
14972	return awsutil.Prettify(s)
14973}
14974
14975// GoString returns the string representation
14976func (s ListUploadsInput) GoString() string {
14977	return s.String()
14978}
14979
14980// Validate inspects the fields of the type to determine if they are valid.
14981func (s *ListUploadsInput) Validate() error {
14982	invalidParams := request.ErrInvalidParams{Context: "ListUploadsInput"}
14983	if s.Arn == nil {
14984		invalidParams.Add(request.NewErrParamRequired("Arn"))
14985	}
14986	if s.Arn != nil && len(*s.Arn) < 32 {
14987		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
14988	}
14989	if s.NextToken != nil && len(*s.NextToken) < 4 {
14990		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
14991	}
14992
14993	if invalidParams.Len() > 0 {
14994		return invalidParams
14995	}
14996	return nil
14997}
14998
14999// SetArn sets the Arn field's value.
15000func (s *ListUploadsInput) SetArn(v string) *ListUploadsInput {
15001	s.Arn = &v
15002	return s
15003}
15004
15005// SetNextToken sets the NextToken field's value.
15006func (s *ListUploadsInput) SetNextToken(v string) *ListUploadsInput {
15007	s.NextToken = &v
15008	return s
15009}
15010
15011// SetType sets the Type field's value.
15012func (s *ListUploadsInput) SetType(v string) *ListUploadsInput {
15013	s.Type = &v
15014	return s
15015}
15016
15017// Represents the result of a list uploads request.
15018type ListUploadsOutput struct {
15019	_ struct{} `type:"structure"`
15020
15021	// If the number of items that are returned is significantly large, this is
15022	// an identifier that is also returned. It can be used in a subsequent call
15023	// to this operation to return the next set of items in the list.
15024	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
15025
15026	// Information about the uploads.
15027	Uploads []*Upload `locationName:"uploads" type:"list"`
15028}
15029
15030// String returns the string representation
15031func (s ListUploadsOutput) String() string {
15032	return awsutil.Prettify(s)
15033}
15034
15035// GoString returns the string representation
15036func (s ListUploadsOutput) GoString() string {
15037	return s.String()
15038}
15039
15040// SetNextToken sets the NextToken field's value.
15041func (s *ListUploadsOutput) SetNextToken(v string) *ListUploadsOutput {
15042	s.NextToken = &v
15043	return s
15044}
15045
15046// SetUploads sets the Uploads field's value.
15047func (s *ListUploadsOutput) SetUploads(v []*Upload) *ListUploadsOutput {
15048	s.Uploads = v
15049	return s
15050}
15051
15052type ListVPCEConfigurationsInput struct {
15053	_ struct{} `type:"structure"`
15054
15055	// An integer that specifies the maximum number of items you want to return
15056	// in the API response.
15057	MaxResults *int64 `locationName:"maxResults" type:"integer"`
15058
15059	// An identifier that was returned from the previous call to this operation,
15060	// which can be used to return the next set of items in the list.
15061	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
15062}
15063
15064// String returns the string representation
15065func (s ListVPCEConfigurationsInput) String() string {
15066	return awsutil.Prettify(s)
15067}
15068
15069// GoString returns the string representation
15070func (s ListVPCEConfigurationsInput) GoString() string {
15071	return s.String()
15072}
15073
15074// Validate inspects the fields of the type to determine if they are valid.
15075func (s *ListVPCEConfigurationsInput) Validate() error {
15076	invalidParams := request.ErrInvalidParams{Context: "ListVPCEConfigurationsInput"}
15077	if s.NextToken != nil && len(*s.NextToken) < 4 {
15078		invalidParams.Add(request.NewErrParamMinLen("NextToken", 4))
15079	}
15080
15081	if invalidParams.Len() > 0 {
15082		return invalidParams
15083	}
15084	return nil
15085}
15086
15087// SetMaxResults sets the MaxResults field's value.
15088func (s *ListVPCEConfigurationsInput) SetMaxResults(v int64) *ListVPCEConfigurationsInput {
15089	s.MaxResults = &v
15090	return s
15091}
15092
15093// SetNextToken sets the NextToken field's value.
15094func (s *ListVPCEConfigurationsInput) SetNextToken(v string) *ListVPCEConfigurationsInput {
15095	s.NextToken = &v
15096	return s
15097}
15098
15099type ListVPCEConfigurationsOutput struct {
15100	_ struct{} `type:"structure"`
15101
15102	// An identifier that was returned from the previous call to this operation,
15103	// which can be used to return the next set of items in the list.
15104	NextToken *string `locationName:"nextToken" min:"4" type:"string"`
15105
15106	// An array of VPCEConfiguration objects that contain information about your
15107	// VPC endpoint configuration.
15108	VpceConfigurations []*VPCEConfiguration `locationName:"vpceConfigurations" type:"list"`
15109}
15110
15111// String returns the string representation
15112func (s ListVPCEConfigurationsOutput) String() string {
15113	return awsutil.Prettify(s)
15114}
15115
15116// GoString returns the string representation
15117func (s ListVPCEConfigurationsOutput) GoString() string {
15118	return s.String()
15119}
15120
15121// SetNextToken sets the NextToken field's value.
15122func (s *ListVPCEConfigurationsOutput) SetNextToken(v string) *ListVPCEConfigurationsOutput {
15123	s.NextToken = &v
15124	return s
15125}
15126
15127// SetVpceConfigurations sets the VpceConfigurations field's value.
15128func (s *ListVPCEConfigurationsOutput) SetVpceConfigurations(v []*VPCEConfiguration) *ListVPCEConfigurationsOutput {
15129	s.VpceConfigurations = v
15130	return s
15131}
15132
15133// Represents a latitude and longitude pair, expressed in geographic coordinate
15134// system degrees (for example, 47.6204, -122.3491).
15135//
15136// Elevation is currently not supported.
15137type Location struct {
15138	_ struct{} `type:"structure"`
15139
15140	// The latitude.
15141	//
15142	// Latitude is a required field
15143	Latitude *float64 `locationName:"latitude" type:"double" required:"true"`
15144
15145	// The longitude.
15146	//
15147	// Longitude is a required field
15148	Longitude *float64 `locationName:"longitude" type:"double" required:"true"`
15149}
15150
15151// String returns the string representation
15152func (s Location) String() string {
15153	return awsutil.Prettify(s)
15154}
15155
15156// GoString returns the string representation
15157func (s Location) GoString() string {
15158	return s.String()
15159}
15160
15161// Validate inspects the fields of the type to determine if they are valid.
15162func (s *Location) Validate() error {
15163	invalidParams := request.ErrInvalidParams{Context: "Location"}
15164	if s.Latitude == nil {
15165		invalidParams.Add(request.NewErrParamRequired("Latitude"))
15166	}
15167	if s.Longitude == nil {
15168		invalidParams.Add(request.NewErrParamRequired("Longitude"))
15169	}
15170
15171	if invalidParams.Len() > 0 {
15172		return invalidParams
15173	}
15174	return nil
15175}
15176
15177// SetLatitude sets the Latitude field's value.
15178func (s *Location) SetLatitude(v float64) *Location {
15179	s.Latitude = &v
15180	return s
15181}
15182
15183// SetLongitude sets the Longitude field's value.
15184func (s *Location) SetLongitude(v float64) *Location {
15185	s.Longitude = &v
15186	return s
15187}
15188
15189// A number that represents the monetary amount for an offering or transaction.
15190type MonetaryAmount struct {
15191	_ struct{} `type:"structure"`
15192
15193	// The numerical amount of an offering or transaction.
15194	Amount *float64 `locationName:"amount" type:"double"`
15195
15196	// The currency code of a monetary amount. For example, USD means U.S. dollars.
15197	CurrencyCode *string `locationName:"currencyCode" type:"string" enum:"CurrencyCode"`
15198}
15199
15200// String returns the string representation
15201func (s MonetaryAmount) String() string {
15202	return awsutil.Prettify(s)
15203}
15204
15205// GoString returns the string representation
15206func (s MonetaryAmount) GoString() string {
15207	return s.String()
15208}
15209
15210// SetAmount sets the Amount field's value.
15211func (s *MonetaryAmount) SetAmount(v float64) *MonetaryAmount {
15212	s.Amount = &v
15213	return s
15214}
15215
15216// SetCurrencyCode sets the CurrencyCode field's value.
15217func (s *MonetaryAmount) SetCurrencyCode(v string) *MonetaryAmount {
15218	s.CurrencyCode = &v
15219	return s
15220}
15221
15222// An array of settings that describes characteristics of a network profile.
15223type NetworkProfile struct {
15224	_ struct{} `type:"structure"`
15225
15226	// The Amazon Resource Name (ARN) of the network profile.
15227	Arn *string `locationName:"arn" min:"32" type:"string"`
15228
15229	// The description of the network profile.
15230	Description *string `locationName:"description" type:"string"`
15231
15232	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
15233	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
15234
15235	// Delay time for all packets to destination in milliseconds as an integer from
15236	// 0 to 2000.
15237	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
15238
15239	// Time variation in the delay of received packets in milliseconds as an integer
15240	// from 0 to 2000.
15241	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
15242
15243	// Proportion of received packets that fail to arrive from 0 to 100 percent.
15244	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
15245
15246	// The name of the network profile.
15247	Name *string `locationName:"name" type:"string"`
15248
15249	// The type of network profile. Valid values are listed here.
15250	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
15251
15252	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
15253	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
15254
15255	// Delay time for all packets to destination in milliseconds as an integer from
15256	// 0 to 2000.
15257	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
15258
15259	// Time variation in the delay of received packets in milliseconds as an integer
15260	// from 0 to 2000.
15261	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
15262
15263	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
15264	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
15265}
15266
15267// String returns the string representation
15268func (s NetworkProfile) String() string {
15269	return awsutil.Prettify(s)
15270}
15271
15272// GoString returns the string representation
15273func (s NetworkProfile) GoString() string {
15274	return s.String()
15275}
15276
15277// SetArn sets the Arn field's value.
15278func (s *NetworkProfile) SetArn(v string) *NetworkProfile {
15279	s.Arn = &v
15280	return s
15281}
15282
15283// SetDescription sets the Description field's value.
15284func (s *NetworkProfile) SetDescription(v string) *NetworkProfile {
15285	s.Description = &v
15286	return s
15287}
15288
15289// SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
15290func (s *NetworkProfile) SetDownlinkBandwidthBits(v int64) *NetworkProfile {
15291	s.DownlinkBandwidthBits = &v
15292	return s
15293}
15294
15295// SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
15296func (s *NetworkProfile) SetDownlinkDelayMs(v int64) *NetworkProfile {
15297	s.DownlinkDelayMs = &v
15298	return s
15299}
15300
15301// SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
15302func (s *NetworkProfile) SetDownlinkJitterMs(v int64) *NetworkProfile {
15303	s.DownlinkJitterMs = &v
15304	return s
15305}
15306
15307// SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
15308func (s *NetworkProfile) SetDownlinkLossPercent(v int64) *NetworkProfile {
15309	s.DownlinkLossPercent = &v
15310	return s
15311}
15312
15313// SetName sets the Name field's value.
15314func (s *NetworkProfile) SetName(v string) *NetworkProfile {
15315	s.Name = &v
15316	return s
15317}
15318
15319// SetType sets the Type field's value.
15320func (s *NetworkProfile) SetType(v string) *NetworkProfile {
15321	s.Type = &v
15322	return s
15323}
15324
15325// SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
15326func (s *NetworkProfile) SetUplinkBandwidthBits(v int64) *NetworkProfile {
15327	s.UplinkBandwidthBits = &v
15328	return s
15329}
15330
15331// SetUplinkDelayMs sets the UplinkDelayMs field's value.
15332func (s *NetworkProfile) SetUplinkDelayMs(v int64) *NetworkProfile {
15333	s.UplinkDelayMs = &v
15334	return s
15335}
15336
15337// SetUplinkJitterMs sets the UplinkJitterMs field's value.
15338func (s *NetworkProfile) SetUplinkJitterMs(v int64) *NetworkProfile {
15339	s.UplinkJitterMs = &v
15340	return s
15341}
15342
15343// SetUplinkLossPercent sets the UplinkLossPercent field's value.
15344func (s *NetworkProfile) SetUplinkLossPercent(v int64) *NetworkProfile {
15345	s.UplinkLossPercent = &v
15346	return s
15347}
15348
15349// Exception gets thrown when a user is not eligible to perform the specified
15350// transaction.
15351type NotEligibleException struct {
15352	_            struct{}                  `type:"structure"`
15353	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15354
15355	// The HTTP response code of a Not Eligible exception.
15356	Message_ *string `locationName:"message" type:"string"`
15357}
15358
15359// String returns the string representation
15360func (s NotEligibleException) String() string {
15361	return awsutil.Prettify(s)
15362}
15363
15364// GoString returns the string representation
15365func (s NotEligibleException) GoString() string {
15366	return s.String()
15367}
15368
15369func newErrorNotEligibleException(v protocol.ResponseMetadata) error {
15370	return &NotEligibleException{
15371		RespMetadata: v,
15372	}
15373}
15374
15375// Code returns the exception type name.
15376func (s *NotEligibleException) Code() string {
15377	return "NotEligibleException"
15378}
15379
15380// Message returns the exception's message.
15381func (s *NotEligibleException) Message() string {
15382	if s.Message_ != nil {
15383		return *s.Message_
15384	}
15385	return ""
15386}
15387
15388// OrigErr always returns nil, satisfies awserr.Error interface.
15389func (s *NotEligibleException) OrigErr() error {
15390	return nil
15391}
15392
15393func (s *NotEligibleException) Error() string {
15394	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15395}
15396
15397// Status code returns the HTTP status code for the request's response error.
15398func (s *NotEligibleException) StatusCode() int {
15399	return s.RespMetadata.StatusCode
15400}
15401
15402// RequestID returns the service's response RequestID for request.
15403func (s *NotEligibleException) RequestID() string {
15404	return s.RespMetadata.RequestID
15405}
15406
15407// The specified entity was not found.
15408type NotFoundException struct {
15409	_            struct{}                  `type:"structure"`
15410	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15411
15412	// Any additional information about the exception.
15413	Message_ *string `locationName:"message" type:"string"`
15414}
15415
15416// String returns the string representation
15417func (s NotFoundException) String() string {
15418	return awsutil.Prettify(s)
15419}
15420
15421// GoString returns the string representation
15422func (s NotFoundException) GoString() string {
15423	return s.String()
15424}
15425
15426func newErrorNotFoundException(v protocol.ResponseMetadata) error {
15427	return &NotFoundException{
15428		RespMetadata: v,
15429	}
15430}
15431
15432// Code returns the exception type name.
15433func (s *NotFoundException) Code() string {
15434	return "NotFoundException"
15435}
15436
15437// Message returns the exception's message.
15438func (s *NotFoundException) Message() string {
15439	if s.Message_ != nil {
15440		return *s.Message_
15441	}
15442	return ""
15443}
15444
15445// OrigErr always returns nil, satisfies awserr.Error interface.
15446func (s *NotFoundException) OrigErr() error {
15447	return nil
15448}
15449
15450func (s *NotFoundException) Error() string {
15451	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15452}
15453
15454// Status code returns the HTTP status code for the request's response error.
15455func (s *NotFoundException) StatusCode() int {
15456	return s.RespMetadata.StatusCode
15457}
15458
15459// RequestID returns the service's response RequestID for request.
15460func (s *NotFoundException) RequestID() string {
15461	return s.RespMetadata.RequestID
15462}
15463
15464// Represents the metadata of a device offering.
15465type Offering struct {
15466	_ struct{} `type:"structure"`
15467
15468	// A string that describes the offering.
15469	Description *string `locationName:"description" type:"string"`
15470
15471	// The ID that corresponds to a device offering.
15472	Id *string `locationName:"id" min:"32" type:"string"`
15473
15474	// The platform of the device (for example, ANDROID or IOS).
15475	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
15476
15477	// Specifies whether there are recurring charges for the offering.
15478	RecurringCharges []*RecurringCharge `locationName:"recurringCharges" type:"list"`
15479
15480	// The type of offering (for example, RECURRING) for a device.
15481	Type *string `locationName:"type" type:"string" enum:"OfferingType"`
15482}
15483
15484// String returns the string representation
15485func (s Offering) String() string {
15486	return awsutil.Prettify(s)
15487}
15488
15489// GoString returns the string representation
15490func (s Offering) GoString() string {
15491	return s.String()
15492}
15493
15494// SetDescription sets the Description field's value.
15495func (s *Offering) SetDescription(v string) *Offering {
15496	s.Description = &v
15497	return s
15498}
15499
15500// SetId sets the Id field's value.
15501func (s *Offering) SetId(v string) *Offering {
15502	s.Id = &v
15503	return s
15504}
15505
15506// SetPlatform sets the Platform field's value.
15507func (s *Offering) SetPlatform(v string) *Offering {
15508	s.Platform = &v
15509	return s
15510}
15511
15512// SetRecurringCharges sets the RecurringCharges field's value.
15513func (s *Offering) SetRecurringCharges(v []*RecurringCharge) *Offering {
15514	s.RecurringCharges = v
15515	return s
15516}
15517
15518// SetType sets the Type field's value.
15519func (s *Offering) SetType(v string) *Offering {
15520	s.Type = &v
15521	return s
15522}
15523
15524// Represents information about an offering promotion.
15525type OfferingPromotion struct {
15526	_ struct{} `type:"structure"`
15527
15528	// A string that describes the offering promotion.
15529	Description *string `locationName:"description" type:"string"`
15530
15531	// The ID of the offering promotion.
15532	Id *string `locationName:"id" min:"4" type:"string"`
15533}
15534
15535// String returns the string representation
15536func (s OfferingPromotion) String() string {
15537	return awsutil.Prettify(s)
15538}
15539
15540// GoString returns the string representation
15541func (s OfferingPromotion) GoString() string {
15542	return s.String()
15543}
15544
15545// SetDescription sets the Description field's value.
15546func (s *OfferingPromotion) SetDescription(v string) *OfferingPromotion {
15547	s.Description = &v
15548	return s
15549}
15550
15551// SetId sets the Id field's value.
15552func (s *OfferingPromotion) SetId(v string) *OfferingPromotion {
15553	s.Id = &v
15554	return s
15555}
15556
15557// The status of the offering.
15558type OfferingStatus struct {
15559	_ struct{} `type:"structure"`
15560
15561	// The date on which the offering is effective.
15562	EffectiveOn *time.Time `locationName:"effectiveOn" type:"timestamp"`
15563
15564	// Represents the metadata of an offering status.
15565	Offering *Offering `locationName:"offering" type:"structure"`
15566
15567	// The number of available devices in the offering.
15568	Quantity *int64 `locationName:"quantity" type:"integer"`
15569
15570	// The type specified for the offering status.
15571	Type *string `locationName:"type" type:"string" enum:"OfferingTransactionType"`
15572}
15573
15574// String returns the string representation
15575func (s OfferingStatus) String() string {
15576	return awsutil.Prettify(s)
15577}
15578
15579// GoString returns the string representation
15580func (s OfferingStatus) GoString() string {
15581	return s.String()
15582}
15583
15584// SetEffectiveOn sets the EffectiveOn field's value.
15585func (s *OfferingStatus) SetEffectiveOn(v time.Time) *OfferingStatus {
15586	s.EffectiveOn = &v
15587	return s
15588}
15589
15590// SetOffering sets the Offering field's value.
15591func (s *OfferingStatus) SetOffering(v *Offering) *OfferingStatus {
15592	s.Offering = v
15593	return s
15594}
15595
15596// SetQuantity sets the Quantity field's value.
15597func (s *OfferingStatus) SetQuantity(v int64) *OfferingStatus {
15598	s.Quantity = &v
15599	return s
15600}
15601
15602// SetType sets the Type field's value.
15603func (s *OfferingStatus) SetType(v string) *OfferingStatus {
15604	s.Type = &v
15605	return s
15606}
15607
15608// Represents the metadata of an offering transaction.
15609type OfferingTransaction struct {
15610	_ struct{} `type:"structure"`
15611
15612	// The cost of an offering transaction.
15613	Cost *MonetaryAmount `locationName:"cost" type:"structure"`
15614
15615	// The date on which an offering transaction was created.
15616	CreatedOn *time.Time `locationName:"createdOn" type:"timestamp"`
15617
15618	// The ID that corresponds to a device offering promotion.
15619	OfferingPromotionId *string `locationName:"offeringPromotionId" min:"4" type:"string"`
15620
15621	// The status of an offering transaction.
15622	OfferingStatus *OfferingStatus `locationName:"offeringStatus" type:"structure"`
15623
15624	// The transaction ID of the offering transaction.
15625	TransactionId *string `locationName:"transactionId" min:"32" type:"string"`
15626}
15627
15628// String returns the string representation
15629func (s OfferingTransaction) String() string {
15630	return awsutil.Prettify(s)
15631}
15632
15633// GoString returns the string representation
15634func (s OfferingTransaction) GoString() string {
15635	return s.String()
15636}
15637
15638// SetCost sets the Cost field's value.
15639func (s *OfferingTransaction) SetCost(v *MonetaryAmount) *OfferingTransaction {
15640	s.Cost = v
15641	return s
15642}
15643
15644// SetCreatedOn sets the CreatedOn field's value.
15645func (s *OfferingTransaction) SetCreatedOn(v time.Time) *OfferingTransaction {
15646	s.CreatedOn = &v
15647	return s
15648}
15649
15650// SetOfferingPromotionId sets the OfferingPromotionId field's value.
15651func (s *OfferingTransaction) SetOfferingPromotionId(v string) *OfferingTransaction {
15652	s.OfferingPromotionId = &v
15653	return s
15654}
15655
15656// SetOfferingStatus sets the OfferingStatus field's value.
15657func (s *OfferingTransaction) SetOfferingStatus(v *OfferingStatus) *OfferingTransaction {
15658	s.OfferingStatus = v
15659	return s
15660}
15661
15662// SetTransactionId sets the TransactionId field's value.
15663func (s *OfferingTransaction) SetTransactionId(v string) *OfferingTransaction {
15664	s.TransactionId = &v
15665	return s
15666}
15667
15668// Represents a specific warning or failure.
15669type Problem struct {
15670	_ struct{} `type:"structure"`
15671
15672	// Information about the associated device.
15673	Device *Device `locationName:"device" type:"structure"`
15674
15675	// Information about the associated job.
15676	Job *ProblemDetail `locationName:"job" type:"structure"`
15677
15678	// A message about the problem's result.
15679	Message *string `locationName:"message" type:"string"`
15680
15681	// The problem's result.
15682	//
15683	// Allowed values include:
15684	//
15685	//    * PENDING
15686	//
15687	//    * PASSED
15688	//
15689	//    * WARNED
15690	//
15691	//    * FAILED
15692	//
15693	//    * SKIPPED
15694	//
15695	//    * ERRORED
15696	//
15697	//    * STOPPED
15698	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
15699
15700	// Information about the associated run.
15701	Run *ProblemDetail `locationName:"run" type:"structure"`
15702
15703	// Information about the associated suite.
15704	Suite *ProblemDetail `locationName:"suite" type:"structure"`
15705
15706	// Information about the associated test.
15707	Test *ProblemDetail `locationName:"test" type:"structure"`
15708}
15709
15710// String returns the string representation
15711func (s Problem) String() string {
15712	return awsutil.Prettify(s)
15713}
15714
15715// GoString returns the string representation
15716func (s Problem) GoString() string {
15717	return s.String()
15718}
15719
15720// SetDevice sets the Device field's value.
15721func (s *Problem) SetDevice(v *Device) *Problem {
15722	s.Device = v
15723	return s
15724}
15725
15726// SetJob sets the Job field's value.
15727func (s *Problem) SetJob(v *ProblemDetail) *Problem {
15728	s.Job = v
15729	return s
15730}
15731
15732// SetMessage sets the Message field's value.
15733func (s *Problem) SetMessage(v string) *Problem {
15734	s.Message = &v
15735	return s
15736}
15737
15738// SetResult sets the Result field's value.
15739func (s *Problem) SetResult(v string) *Problem {
15740	s.Result = &v
15741	return s
15742}
15743
15744// SetRun sets the Run field's value.
15745func (s *Problem) SetRun(v *ProblemDetail) *Problem {
15746	s.Run = v
15747	return s
15748}
15749
15750// SetSuite sets the Suite field's value.
15751func (s *Problem) SetSuite(v *ProblemDetail) *Problem {
15752	s.Suite = v
15753	return s
15754}
15755
15756// SetTest sets the Test field's value.
15757func (s *Problem) SetTest(v *ProblemDetail) *Problem {
15758	s.Test = v
15759	return s
15760}
15761
15762// Information about a problem detail.
15763type ProblemDetail struct {
15764	_ struct{} `type:"structure"`
15765
15766	// The problem detail's ARN.
15767	Arn *string `locationName:"arn" min:"32" type:"string"`
15768
15769	// The problem detail's name.
15770	Name *string `locationName:"name" type:"string"`
15771}
15772
15773// String returns the string representation
15774func (s ProblemDetail) String() string {
15775	return awsutil.Prettify(s)
15776}
15777
15778// GoString returns the string representation
15779func (s ProblemDetail) GoString() string {
15780	return s.String()
15781}
15782
15783// SetArn sets the Arn field's value.
15784func (s *ProblemDetail) SetArn(v string) *ProblemDetail {
15785	s.Arn = &v
15786	return s
15787}
15788
15789// SetName sets the Name field's value.
15790func (s *ProblemDetail) SetName(v string) *ProblemDetail {
15791	s.Name = &v
15792	return s
15793}
15794
15795// Represents an operating-system neutral workspace for running and managing
15796// tests.
15797type Project struct {
15798	_ struct{} `type:"structure"`
15799
15800	// The project's ARN.
15801	Arn *string `locationName:"arn" min:"32" type:"string"`
15802
15803	// When the project was created.
15804	Created *time.Time `locationName:"created" type:"timestamp"`
15805
15806	// The default number of minutes (at the project level) a test run executes
15807	// before it times out. The default value is 150 minutes.
15808	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
15809
15810	// The project's name.
15811	Name *string `locationName:"name" type:"string"`
15812}
15813
15814// String returns the string representation
15815func (s Project) String() string {
15816	return awsutil.Prettify(s)
15817}
15818
15819// GoString returns the string representation
15820func (s Project) GoString() string {
15821	return s.String()
15822}
15823
15824// SetArn sets the Arn field's value.
15825func (s *Project) SetArn(v string) *Project {
15826	s.Arn = &v
15827	return s
15828}
15829
15830// SetCreated sets the Created field's value.
15831func (s *Project) SetCreated(v time.Time) *Project {
15832	s.Created = &v
15833	return s
15834}
15835
15836// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
15837func (s *Project) SetDefaultJobTimeoutMinutes(v int64) *Project {
15838	s.DefaultJobTimeoutMinutes = &v
15839	return s
15840}
15841
15842// SetName sets the Name field's value.
15843func (s *Project) SetName(v string) *Project {
15844	s.Name = &v
15845	return s
15846}
15847
15848// Represents a request for a purchase offering.
15849type PurchaseOfferingInput struct {
15850	_ struct{} `type:"structure"`
15851
15852	// The ID of the offering.
15853	OfferingId *string `locationName:"offeringId" min:"32" type:"string"`
15854
15855	// The ID of the offering promotion to be applied to the purchase.
15856	OfferingPromotionId *string `locationName:"offeringPromotionId" min:"4" type:"string"`
15857
15858	// The number of device slots to purchase in an offering request.
15859	Quantity *int64 `locationName:"quantity" type:"integer"`
15860}
15861
15862// String returns the string representation
15863func (s PurchaseOfferingInput) String() string {
15864	return awsutil.Prettify(s)
15865}
15866
15867// GoString returns the string representation
15868func (s PurchaseOfferingInput) GoString() string {
15869	return s.String()
15870}
15871
15872// Validate inspects the fields of the type to determine if they are valid.
15873func (s *PurchaseOfferingInput) Validate() error {
15874	invalidParams := request.ErrInvalidParams{Context: "PurchaseOfferingInput"}
15875	if s.OfferingId != nil && len(*s.OfferingId) < 32 {
15876		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 32))
15877	}
15878	if s.OfferingPromotionId != nil && len(*s.OfferingPromotionId) < 4 {
15879		invalidParams.Add(request.NewErrParamMinLen("OfferingPromotionId", 4))
15880	}
15881
15882	if invalidParams.Len() > 0 {
15883		return invalidParams
15884	}
15885	return nil
15886}
15887
15888// SetOfferingId sets the OfferingId field's value.
15889func (s *PurchaseOfferingInput) SetOfferingId(v string) *PurchaseOfferingInput {
15890	s.OfferingId = &v
15891	return s
15892}
15893
15894// SetOfferingPromotionId sets the OfferingPromotionId field's value.
15895func (s *PurchaseOfferingInput) SetOfferingPromotionId(v string) *PurchaseOfferingInput {
15896	s.OfferingPromotionId = &v
15897	return s
15898}
15899
15900// SetQuantity sets the Quantity field's value.
15901func (s *PurchaseOfferingInput) SetQuantity(v int64) *PurchaseOfferingInput {
15902	s.Quantity = &v
15903	return s
15904}
15905
15906// The result of the purchase offering (for example, success or failure).
15907type PurchaseOfferingOutput struct {
15908	_ struct{} `type:"structure"`
15909
15910	// Represents the offering transaction for the purchase result.
15911	OfferingTransaction *OfferingTransaction `locationName:"offeringTransaction" type:"structure"`
15912}
15913
15914// String returns the string representation
15915func (s PurchaseOfferingOutput) String() string {
15916	return awsutil.Prettify(s)
15917}
15918
15919// GoString returns the string representation
15920func (s PurchaseOfferingOutput) GoString() string {
15921	return s.String()
15922}
15923
15924// SetOfferingTransaction sets the OfferingTransaction field's value.
15925func (s *PurchaseOfferingOutput) SetOfferingTransaction(v *OfferingTransaction) *PurchaseOfferingOutput {
15926	s.OfferingTransaction = v
15927	return s
15928}
15929
15930// Represents the set of radios and their states on a device. Examples of radios
15931// include Wi-Fi, GPS, Bluetooth, and NFC.
15932type Radios struct {
15933	_ struct{} `type:"structure"`
15934
15935	// True if Bluetooth is enabled at the beginning of the test. Otherwise, false.
15936	Bluetooth *bool `locationName:"bluetooth" type:"boolean"`
15937
15938	// True if GPS is enabled at the beginning of the test. Otherwise, false.
15939	Gps *bool `locationName:"gps" type:"boolean"`
15940
15941	// True if NFC is enabled at the beginning of the test. Otherwise, false.
15942	Nfc *bool `locationName:"nfc" type:"boolean"`
15943
15944	// True if Wi-Fi is enabled at the beginning of the test. Otherwise, false.
15945	Wifi *bool `locationName:"wifi" type:"boolean"`
15946}
15947
15948// String returns the string representation
15949func (s Radios) String() string {
15950	return awsutil.Prettify(s)
15951}
15952
15953// GoString returns the string representation
15954func (s Radios) GoString() string {
15955	return s.String()
15956}
15957
15958// SetBluetooth sets the Bluetooth field's value.
15959func (s *Radios) SetBluetooth(v bool) *Radios {
15960	s.Bluetooth = &v
15961	return s
15962}
15963
15964// SetGps sets the Gps field's value.
15965func (s *Radios) SetGps(v bool) *Radios {
15966	s.Gps = &v
15967	return s
15968}
15969
15970// SetNfc sets the Nfc field's value.
15971func (s *Radios) SetNfc(v bool) *Radios {
15972	s.Nfc = &v
15973	return s
15974}
15975
15976// SetWifi sets the Wifi field's value.
15977func (s *Radios) SetWifi(v bool) *Radios {
15978	s.Wifi = &v
15979	return s
15980}
15981
15982// Specifies whether charges for devices are recurring.
15983type RecurringCharge struct {
15984	_ struct{} `type:"structure"`
15985
15986	// The cost of the recurring charge.
15987	Cost *MonetaryAmount `locationName:"cost" type:"structure"`
15988
15989	// The frequency in which charges recur.
15990	Frequency *string `locationName:"frequency" type:"string" enum:"RecurringChargeFrequency"`
15991}
15992
15993// String returns the string representation
15994func (s RecurringCharge) String() string {
15995	return awsutil.Prettify(s)
15996}
15997
15998// GoString returns the string representation
15999func (s RecurringCharge) GoString() string {
16000	return s.String()
16001}
16002
16003// SetCost sets the Cost field's value.
16004func (s *RecurringCharge) SetCost(v *MonetaryAmount) *RecurringCharge {
16005	s.Cost = v
16006	return s
16007}
16008
16009// SetFrequency sets the Frequency field's value.
16010func (s *RecurringCharge) SetFrequency(v string) *RecurringCharge {
16011	s.Frequency = &v
16012	return s
16013}
16014
16015// Represents information about the remote access session.
16016type RemoteAccessSession struct {
16017	_ struct{} `type:"structure"`
16018
16019	// The Amazon Resource Name (ARN) of the remote access session.
16020	Arn *string `locationName:"arn" min:"32" type:"string"`
16021
16022	// The billing method of the remote access session. Possible values include
16023	// METERED or UNMETERED. For more information about metered devices, see AWS
16024	// Device Farm terminology (https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology).
16025	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
16026
16027	// Unique identifier of your client for the remote access session. Only returned
16028	// if remote debugging is enabled for the remote access session.
16029	//
16030	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
16031	ClientId *string `locationName:"clientId" type:"string"`
16032
16033	// The date and time the remote access session was created.
16034	Created *time.Time `locationName:"created" type:"timestamp"`
16035
16036	// The device (phone or tablet) used in the remote access session.
16037	Device *Device `locationName:"device" type:"structure"`
16038
16039	// The number of minutes a device is used in a remote access session (including
16040	// setup and teardown minutes).
16041	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
16042
16043	// Unique device identifier for the remote device. Only returned if remote debugging
16044	// is enabled for the remote access session.
16045	//
16046	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
16047	DeviceUdid *string `locationName:"deviceUdid" type:"string"`
16048
16049	// The endpoint for the remote access sesssion.
16050	Endpoint *string `locationName:"endpoint" type:"string"`
16051
16052	// IP address of the EC2 host where you need to connect to remotely debug devices.
16053	// Only returned if remote debugging is enabled for the remote access session.
16054	//
16055	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
16056	HostAddress *string `locationName:"hostAddress" type:"string"`
16057
16058	// The ARN of the instance.
16059	InstanceArn *string `locationName:"instanceArn" min:"32" type:"string"`
16060
16061	// The interaction mode of the remote access session. Valid values are:
16062	//
16063	//    * INTERACTIVE: You can interact with the iOS device by viewing, touching,
16064	//    and rotating the screen. You cannot run XCUITest framework-based tests
16065	//    in this mode.
16066	//
16067	//    * NO_VIDEO: You are connected to the device, but cannot interact with
16068	//    it or view the screen. This mode has the fastest test execution speed.
16069	//    You can run XCUITest framework-based tests in this mode.
16070	//
16071	//    * VIDEO_ONLY: You can view the screen, but cannot touch or rotate it.
16072	//    You can run XCUITest framework-based tests and watch the screen in this
16073	//    mode.
16074	InteractionMode *string `locationName:"interactionMode" type:"string" enum:"InteractionMode"`
16075
16076	// A message about the remote access session.
16077	Message *string `locationName:"message" type:"string"`
16078
16079	// The name of the remote access session.
16080	Name *string `locationName:"name" type:"string"`
16081
16082	// This flag is set to true if remote debugging is enabled for the remote access
16083	// session.
16084	//
16085	// Remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html).
16086	RemoteDebugEnabled *bool `locationName:"remoteDebugEnabled" type:"boolean"`
16087
16088	// The ARN for the app to be recorded in the remote access session.
16089	RemoteRecordAppArn *string `locationName:"remoteRecordAppArn" min:"32" type:"string"`
16090
16091	// This flag is set to true if remote recording is enabled for the remote access
16092	// session.
16093	RemoteRecordEnabled *bool `locationName:"remoteRecordEnabled" type:"boolean"`
16094
16095	// The result of the remote access session. Can be any of the following:
16096	//
16097	//    * PENDING.
16098	//
16099	//    * PASSED.
16100	//
16101	//    * WARNED.
16102	//
16103	//    * FAILED.
16104	//
16105	//    * SKIPPED.
16106	//
16107	//    * ERRORED.
16108	//
16109	//    * STOPPED.
16110	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
16111
16112	// When set to true, for private devices, Device Farm does not sign your app
16113	// again. For public devices, Device Farm always signs your apps again.
16114	//
16115	// For more information about how Device Farm re-signs your apps, see Do you
16116	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
16117	// Farm FAQs.
16118	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
16119
16120	// The date and time the remote access session was started.
16121	Started *time.Time `locationName:"started" type:"timestamp"`
16122
16123	// The status of the remote access session. Can be any of the following:
16124	//
16125	//    * PENDING.
16126	//
16127	//    * PENDING_CONCURRENCY.
16128	//
16129	//    * PENDING_DEVICE.
16130	//
16131	//    * PROCESSING.
16132	//
16133	//    * SCHEDULING.
16134	//
16135	//    * PREPARING.
16136	//
16137	//    * RUNNING.
16138	//
16139	//    * COMPLETED.
16140	//
16141	//    * STOPPING.
16142	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
16143
16144	// The date and time the remote access session was stopped.
16145	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
16146}
16147
16148// String returns the string representation
16149func (s RemoteAccessSession) String() string {
16150	return awsutil.Prettify(s)
16151}
16152
16153// GoString returns the string representation
16154func (s RemoteAccessSession) GoString() string {
16155	return s.String()
16156}
16157
16158// SetArn sets the Arn field's value.
16159func (s *RemoteAccessSession) SetArn(v string) *RemoteAccessSession {
16160	s.Arn = &v
16161	return s
16162}
16163
16164// SetBillingMethod sets the BillingMethod field's value.
16165func (s *RemoteAccessSession) SetBillingMethod(v string) *RemoteAccessSession {
16166	s.BillingMethod = &v
16167	return s
16168}
16169
16170// SetClientId sets the ClientId field's value.
16171func (s *RemoteAccessSession) SetClientId(v string) *RemoteAccessSession {
16172	s.ClientId = &v
16173	return s
16174}
16175
16176// SetCreated sets the Created field's value.
16177func (s *RemoteAccessSession) SetCreated(v time.Time) *RemoteAccessSession {
16178	s.Created = &v
16179	return s
16180}
16181
16182// SetDevice sets the Device field's value.
16183func (s *RemoteAccessSession) SetDevice(v *Device) *RemoteAccessSession {
16184	s.Device = v
16185	return s
16186}
16187
16188// SetDeviceMinutes sets the DeviceMinutes field's value.
16189func (s *RemoteAccessSession) SetDeviceMinutes(v *DeviceMinutes) *RemoteAccessSession {
16190	s.DeviceMinutes = v
16191	return s
16192}
16193
16194// SetDeviceUdid sets the DeviceUdid field's value.
16195func (s *RemoteAccessSession) SetDeviceUdid(v string) *RemoteAccessSession {
16196	s.DeviceUdid = &v
16197	return s
16198}
16199
16200// SetEndpoint sets the Endpoint field's value.
16201func (s *RemoteAccessSession) SetEndpoint(v string) *RemoteAccessSession {
16202	s.Endpoint = &v
16203	return s
16204}
16205
16206// SetHostAddress sets the HostAddress field's value.
16207func (s *RemoteAccessSession) SetHostAddress(v string) *RemoteAccessSession {
16208	s.HostAddress = &v
16209	return s
16210}
16211
16212// SetInstanceArn sets the InstanceArn field's value.
16213func (s *RemoteAccessSession) SetInstanceArn(v string) *RemoteAccessSession {
16214	s.InstanceArn = &v
16215	return s
16216}
16217
16218// SetInteractionMode sets the InteractionMode field's value.
16219func (s *RemoteAccessSession) SetInteractionMode(v string) *RemoteAccessSession {
16220	s.InteractionMode = &v
16221	return s
16222}
16223
16224// SetMessage sets the Message field's value.
16225func (s *RemoteAccessSession) SetMessage(v string) *RemoteAccessSession {
16226	s.Message = &v
16227	return s
16228}
16229
16230// SetName sets the Name field's value.
16231func (s *RemoteAccessSession) SetName(v string) *RemoteAccessSession {
16232	s.Name = &v
16233	return s
16234}
16235
16236// SetRemoteDebugEnabled sets the RemoteDebugEnabled field's value.
16237func (s *RemoteAccessSession) SetRemoteDebugEnabled(v bool) *RemoteAccessSession {
16238	s.RemoteDebugEnabled = &v
16239	return s
16240}
16241
16242// SetRemoteRecordAppArn sets the RemoteRecordAppArn field's value.
16243func (s *RemoteAccessSession) SetRemoteRecordAppArn(v string) *RemoteAccessSession {
16244	s.RemoteRecordAppArn = &v
16245	return s
16246}
16247
16248// SetRemoteRecordEnabled sets the RemoteRecordEnabled field's value.
16249func (s *RemoteAccessSession) SetRemoteRecordEnabled(v bool) *RemoteAccessSession {
16250	s.RemoteRecordEnabled = &v
16251	return s
16252}
16253
16254// SetResult sets the Result field's value.
16255func (s *RemoteAccessSession) SetResult(v string) *RemoteAccessSession {
16256	s.Result = &v
16257	return s
16258}
16259
16260// SetSkipAppResign sets the SkipAppResign field's value.
16261func (s *RemoteAccessSession) SetSkipAppResign(v bool) *RemoteAccessSession {
16262	s.SkipAppResign = &v
16263	return s
16264}
16265
16266// SetStarted sets the Started field's value.
16267func (s *RemoteAccessSession) SetStarted(v time.Time) *RemoteAccessSession {
16268	s.Started = &v
16269	return s
16270}
16271
16272// SetStatus sets the Status field's value.
16273func (s *RemoteAccessSession) SetStatus(v string) *RemoteAccessSession {
16274	s.Status = &v
16275	return s
16276}
16277
16278// SetStopped sets the Stopped field's value.
16279func (s *RemoteAccessSession) SetStopped(v time.Time) *RemoteAccessSession {
16280	s.Stopped = &v
16281	return s
16282}
16283
16284// A request that represents an offering renewal.
16285type RenewOfferingInput struct {
16286	_ struct{} `type:"structure"`
16287
16288	// The ID of a request to renew an offering.
16289	OfferingId *string `locationName:"offeringId" min:"32" type:"string"`
16290
16291	// The quantity requested in an offering renewal.
16292	Quantity *int64 `locationName:"quantity" type:"integer"`
16293}
16294
16295// String returns the string representation
16296func (s RenewOfferingInput) String() string {
16297	return awsutil.Prettify(s)
16298}
16299
16300// GoString returns the string representation
16301func (s RenewOfferingInput) GoString() string {
16302	return s.String()
16303}
16304
16305// Validate inspects the fields of the type to determine if they are valid.
16306func (s *RenewOfferingInput) Validate() error {
16307	invalidParams := request.ErrInvalidParams{Context: "RenewOfferingInput"}
16308	if s.OfferingId != nil && len(*s.OfferingId) < 32 {
16309		invalidParams.Add(request.NewErrParamMinLen("OfferingId", 32))
16310	}
16311
16312	if invalidParams.Len() > 0 {
16313		return invalidParams
16314	}
16315	return nil
16316}
16317
16318// SetOfferingId sets the OfferingId field's value.
16319func (s *RenewOfferingInput) SetOfferingId(v string) *RenewOfferingInput {
16320	s.OfferingId = &v
16321	return s
16322}
16323
16324// SetQuantity sets the Quantity field's value.
16325func (s *RenewOfferingInput) SetQuantity(v int64) *RenewOfferingInput {
16326	s.Quantity = &v
16327	return s
16328}
16329
16330// The result of a renewal offering.
16331type RenewOfferingOutput struct {
16332	_ struct{} `type:"structure"`
16333
16334	// Represents the status of the offering transaction for the renewal.
16335	OfferingTransaction *OfferingTransaction `locationName:"offeringTransaction" type:"structure"`
16336}
16337
16338// String returns the string representation
16339func (s RenewOfferingOutput) String() string {
16340	return awsutil.Prettify(s)
16341}
16342
16343// GoString returns the string representation
16344func (s RenewOfferingOutput) GoString() string {
16345	return s.String()
16346}
16347
16348// SetOfferingTransaction sets the OfferingTransaction field's value.
16349func (s *RenewOfferingOutput) SetOfferingTransaction(v *OfferingTransaction) *RenewOfferingOutput {
16350	s.OfferingTransaction = v
16351	return s
16352}
16353
16354// Represents the screen resolution of a device in height and width, expressed
16355// in pixels.
16356type Resolution struct {
16357	_ struct{} `type:"structure"`
16358
16359	// The screen resolution's height, expressed in pixels.
16360	Height *int64 `locationName:"height" type:"integer"`
16361
16362	// The screen resolution's width, expressed in pixels.
16363	Width *int64 `locationName:"width" type:"integer"`
16364}
16365
16366// String returns the string representation
16367func (s Resolution) String() string {
16368	return awsutil.Prettify(s)
16369}
16370
16371// GoString returns the string representation
16372func (s Resolution) GoString() string {
16373	return s.String()
16374}
16375
16376// SetHeight sets the Height field's value.
16377func (s *Resolution) SetHeight(v int64) *Resolution {
16378	s.Height = &v
16379	return s
16380}
16381
16382// SetWidth sets the Width field's value.
16383func (s *Resolution) SetWidth(v int64) *Resolution {
16384	s.Width = &v
16385	return s
16386}
16387
16388// Represents a condition for a device pool.
16389type Rule struct {
16390	_ struct{} `type:"structure"`
16391
16392	// The rule's stringified attribute. For example, specify the value as "\"abc\"".
16393	//
16394	// The supported operators for each attribute are provided in the following
16395	// list.
16396	//
16397	// APPIUM_VERSION
16398	//
16399	// The Appium version for the test.
16400	//
16401	// Supported operators: CONTAINS
16402	//
16403	// ARN
16404	//
16405	// The Amazon Resource Name (ARN) of the device (for example, arn:aws:devicefarm:us-west-2::device:12345Example.
16406	//
16407	// Supported operators: EQUALS, IN, NOT_IN
16408	//
16409	// AVAILABILITY
16410	//
16411	// The current availability of the device. Valid values are AVAILABLE, HIGHLY_AVAILABLE,
16412	// BUSY, or TEMPORARY_NOT_AVAILABLE.
16413	//
16414	// Supported operators: EQUALS
16415	//
16416	// FLEET_TYPE
16417	//
16418	// The fleet type. Valid values are PUBLIC or PRIVATE.
16419	//
16420	// Supported operators: EQUALS
16421	//
16422	// FORM_FACTOR
16423	//
16424	// The device form factor. Valid values are PHONE or TABLET.
16425	//
16426	// Supported operators: EQUALS, IN, NOT_IN
16427	//
16428	// INSTANCE_ARN
16429	//
16430	// The Amazon Resource Name (ARN) of the device instance.
16431	//
16432	// Supported operators: IN, NOT_IN
16433	//
16434	// INSTANCE_LABELS
16435	//
16436	// The label of the device instance.
16437	//
16438	// Supported operators: CONTAINS
16439	//
16440	// MANUFACTURER
16441	//
16442	// The device manufacturer (for example, Apple).
16443	//
16444	// Supported operators: EQUALS, IN, NOT_IN
16445	//
16446	// MODEL
16447	//
16448	// The device model, such as Apple iPad Air 2 or Google Pixel.
16449	//
16450	// Supported operators: CONTAINS, EQUALS, IN, NOT_IN
16451	//
16452	// OS_VERSION
16453	//
16454	// The operating system version (for example, 10.3.2).
16455	//
16456	// Supported operators: EQUALS, GREATER_THAN, GREATER_THAN_OR_EQUALS, IN, LESS_THAN,
16457	// LESS_THAN_OR_EQUALS, NOT_IN
16458	//
16459	// PLATFORM
16460	//
16461	// The device platform. Valid values are ANDROID or IOS.
16462	//
16463	// Supported operators: EQUALS, IN, NOT_IN
16464	//
16465	// REMOTE_ACCESS_ENABLED
16466	//
16467	// Whether the device is enabled for remote access. Valid values are TRUE or
16468	// FALSE.
16469	//
16470	// Supported operators: EQUALS
16471	//
16472	// REMOTE_DEBUG_ENABLED
16473	//
16474	// Whether the device is enabled for remote debugging. Valid values are TRUE
16475	// or FALSE.
16476	//
16477	// Supported operators: EQUALS
16478	//
16479	// Because remote debugging is no longer supported (https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html),
16480	// this filter is ignored.
16481	Attribute *string `locationName:"attribute" type:"string" enum:"DeviceAttribute"`
16482
16483	// Specifies how Device Farm compares the rule's attribute to the value. For
16484	// the operators that are supported by each attribute, see the attribute descriptions.
16485	Operator *string `locationName:"operator" type:"string" enum:"RuleOperator"`
16486
16487	// The rule's value.
16488	Value *string `locationName:"value" type:"string"`
16489}
16490
16491// String returns the string representation
16492func (s Rule) String() string {
16493	return awsutil.Prettify(s)
16494}
16495
16496// GoString returns the string representation
16497func (s Rule) GoString() string {
16498	return s.String()
16499}
16500
16501// SetAttribute sets the Attribute field's value.
16502func (s *Rule) SetAttribute(v string) *Rule {
16503	s.Attribute = &v
16504	return s
16505}
16506
16507// SetOperator sets the Operator field's value.
16508func (s *Rule) SetOperator(v string) *Rule {
16509	s.Operator = &v
16510	return s
16511}
16512
16513// SetValue sets the Value field's value.
16514func (s *Rule) SetValue(v string) *Rule {
16515	s.Value = &v
16516	return s
16517}
16518
16519// Represents a test run on a set of devices with a given app package, test
16520// parameters, and so on.
16521type Run struct {
16522	_ struct{} `type:"structure"`
16523
16524	// An app to upload or that has been uploaded.
16525	AppUpload *string `locationName:"appUpload" min:"32" type:"string"`
16526
16527	// The run's ARN.
16528	Arn *string `locationName:"arn" min:"32" type:"string"`
16529
16530	// Specifies the billing method for a test run: metered or unmetered. If the
16531	// parameter is not specified, the default value is metered.
16532	//
16533	// If you have unmetered device slots, you must set this to unmetered to use
16534	// them. Otherwise, the run is counted toward metered device minutes.
16535	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
16536
16537	// The total number of completed jobs.
16538	CompletedJobs *int64 `locationName:"completedJobs" type:"integer"`
16539
16540	// The run's result counters.
16541	Counters *Counters `locationName:"counters" type:"structure"`
16542
16543	// When the run was created.
16544	Created *time.Time `locationName:"created" type:"timestamp"`
16545
16546	// Output CustomerArtifactPaths object for the test run.
16547	CustomerArtifactPaths *CustomerArtifactPaths `locationName:"customerArtifactPaths" type:"structure"`
16548
16549	// Represents the total (metered or unmetered) minutes used by the test run.
16550	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
16551
16552	// The ARN of the device pool for the run.
16553	DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string"`
16554
16555	// The results of a device filter used to select the devices for a test run.
16556	DeviceSelectionResult *DeviceSelectionResult `locationName:"deviceSelectionResult" type:"structure"`
16557
16558	// For fuzz tests, this is the number of events, between 1 and 10000, that the
16559	// UI fuzz test should perform.
16560	EventCount *int64 `locationName:"eventCount" type:"integer"`
16561
16562	// The number of minutes the job executes before it times out.
16563	JobTimeoutMinutes *int64 `locationName:"jobTimeoutMinutes" type:"integer"`
16564
16565	// Information about the locale that is used for the run.
16566	Locale *string `locationName:"locale" type:"string"`
16567
16568	// Information about the location that is used for the run.
16569	Location *Location `locationName:"location" type:"structure"`
16570
16571	// A message about the run's result.
16572	Message *string `locationName:"message" type:"string"`
16573
16574	// The run's name.
16575	Name *string `locationName:"name" type:"string"`
16576
16577	// The network profile being used for a test run.
16578	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
16579
16580	// Read-only URL for an object in an S3 bucket where you can get the parsing
16581	// results of the test package. If the test package doesn't parse, the reason
16582	// why it doesn't parse appears in the file that this URL points to.
16583	ParsingResultUrl *string `locationName:"parsingResultUrl" type:"string"`
16584
16585	// The run's platform.
16586	//
16587	// Allowed values include:
16588	//
16589	//    * ANDROID
16590	//
16591	//    * IOS
16592	Platform *string `locationName:"platform" type:"string" enum:"DevicePlatform"`
16593
16594	// Information about the radio states for the run.
16595	Radios *Radios `locationName:"radios" type:"structure"`
16596
16597	// The run's result.
16598	//
16599	// Allowed values include:
16600	//
16601	//    * PENDING
16602	//
16603	//    * PASSED
16604	//
16605	//    * WARNED
16606	//
16607	//    * FAILED
16608	//
16609	//    * SKIPPED
16610	//
16611	//    * ERRORED
16612	//
16613	//    * STOPPED
16614	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
16615
16616	// Supporting field for the result field. Set only if result is SKIPPED. PARSING_FAILED
16617	// if the result is skipped because of test package parsing failure.
16618	ResultCode *string `locationName:"resultCode" type:"string" enum:"ExecutionResultCode"`
16619
16620	// For fuzz tests, this is a seed to use for randomizing the UI fuzz test. Using
16621	// the same seed value between tests ensures identical event sequences.
16622	Seed *int64 `locationName:"seed" type:"integer"`
16623
16624	// When set to true, for private devices, Device Farm does not sign your app
16625	// again. For public devices, Device Farm always signs your apps again.
16626	//
16627	// For more information about how Device Farm re-signs your apps, see Do you
16628	// modify my app? (https://aws.amazon.com/device-farm/faq/) in the AWS Device
16629	// Farm FAQs.
16630	SkipAppResign *bool `locationName:"skipAppResign" type:"boolean"`
16631
16632	// The run's start time.
16633	Started *time.Time `locationName:"started" type:"timestamp"`
16634
16635	// The run's status.
16636	//
16637	// Allowed values include:
16638	//
16639	//    * PENDING
16640	//
16641	//    * PENDING_CONCURRENCY
16642	//
16643	//    * PENDING_DEVICE
16644	//
16645	//    * PROCESSING
16646	//
16647	//    * SCHEDULING
16648	//
16649	//    * PREPARING
16650	//
16651	//    * RUNNING
16652	//
16653	//    * COMPLETED
16654	//
16655	//    * STOPPING
16656	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
16657
16658	// The run's stop time.
16659	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
16660
16661	// The ARN of the YAML-formatted test specification for the run.
16662	TestSpecArn *string `locationName:"testSpecArn" min:"32" type:"string"`
16663
16664	// The total number of jobs for the run.
16665	TotalJobs *int64 `locationName:"totalJobs" type:"integer"`
16666
16667	// The run's type.
16668	//
16669	// Must be one of the following values:
16670	//
16671	//    * BUILTIN_FUZZ
16672	//
16673	//    * BUILTIN_EXPLORER For Android, an app explorer that traverses an Android
16674	//    app, interacting with it and capturing screenshots at the same time.
16675	//
16676	//    * APPIUM_JAVA_JUNIT
16677	//
16678	//    * APPIUM_JAVA_TESTNG
16679	//
16680	//    * APPIUM_PYTHON
16681	//
16682	//    * APPIUM_NODE
16683	//
16684	//    * APPIUM_RUBY
16685	//
16686	//    * APPIUM_WEB_JAVA_JUNIT
16687	//
16688	//    * APPIUM_WEB_JAVA_TESTNG
16689	//
16690	//    * APPIUM_WEB_PYTHON
16691	//
16692	//    * APPIUM_WEB_NODE
16693	//
16694	//    * APPIUM_WEB_RUBY
16695	//
16696	//    * CALABASH
16697	//
16698	//    * INSTRUMENTATION
16699	//
16700	//    * UIAUTOMATION
16701	//
16702	//    * UIAUTOMATOR
16703	//
16704	//    * XCTEST
16705	//
16706	//    * XCTEST_UI
16707	Type *string `locationName:"type" type:"string" enum:"TestType"`
16708
16709	// The Device Farm console URL for the recording of the run.
16710	WebUrl *string `locationName:"webUrl" type:"string"`
16711}
16712
16713// String returns the string representation
16714func (s Run) String() string {
16715	return awsutil.Prettify(s)
16716}
16717
16718// GoString returns the string representation
16719func (s Run) GoString() string {
16720	return s.String()
16721}
16722
16723// SetAppUpload sets the AppUpload field's value.
16724func (s *Run) SetAppUpload(v string) *Run {
16725	s.AppUpload = &v
16726	return s
16727}
16728
16729// SetArn sets the Arn field's value.
16730func (s *Run) SetArn(v string) *Run {
16731	s.Arn = &v
16732	return s
16733}
16734
16735// SetBillingMethod sets the BillingMethod field's value.
16736func (s *Run) SetBillingMethod(v string) *Run {
16737	s.BillingMethod = &v
16738	return s
16739}
16740
16741// SetCompletedJobs sets the CompletedJobs field's value.
16742func (s *Run) SetCompletedJobs(v int64) *Run {
16743	s.CompletedJobs = &v
16744	return s
16745}
16746
16747// SetCounters sets the Counters field's value.
16748func (s *Run) SetCounters(v *Counters) *Run {
16749	s.Counters = v
16750	return s
16751}
16752
16753// SetCreated sets the Created field's value.
16754func (s *Run) SetCreated(v time.Time) *Run {
16755	s.Created = &v
16756	return s
16757}
16758
16759// SetCustomerArtifactPaths sets the CustomerArtifactPaths field's value.
16760func (s *Run) SetCustomerArtifactPaths(v *CustomerArtifactPaths) *Run {
16761	s.CustomerArtifactPaths = v
16762	return s
16763}
16764
16765// SetDeviceMinutes sets the DeviceMinutes field's value.
16766func (s *Run) SetDeviceMinutes(v *DeviceMinutes) *Run {
16767	s.DeviceMinutes = v
16768	return s
16769}
16770
16771// SetDevicePoolArn sets the DevicePoolArn field's value.
16772func (s *Run) SetDevicePoolArn(v string) *Run {
16773	s.DevicePoolArn = &v
16774	return s
16775}
16776
16777// SetDeviceSelectionResult sets the DeviceSelectionResult field's value.
16778func (s *Run) SetDeviceSelectionResult(v *DeviceSelectionResult) *Run {
16779	s.DeviceSelectionResult = v
16780	return s
16781}
16782
16783// SetEventCount sets the EventCount field's value.
16784func (s *Run) SetEventCount(v int64) *Run {
16785	s.EventCount = &v
16786	return s
16787}
16788
16789// SetJobTimeoutMinutes sets the JobTimeoutMinutes field's value.
16790func (s *Run) SetJobTimeoutMinutes(v int64) *Run {
16791	s.JobTimeoutMinutes = &v
16792	return s
16793}
16794
16795// SetLocale sets the Locale field's value.
16796func (s *Run) SetLocale(v string) *Run {
16797	s.Locale = &v
16798	return s
16799}
16800
16801// SetLocation sets the Location field's value.
16802func (s *Run) SetLocation(v *Location) *Run {
16803	s.Location = v
16804	return s
16805}
16806
16807// SetMessage sets the Message field's value.
16808func (s *Run) SetMessage(v string) *Run {
16809	s.Message = &v
16810	return s
16811}
16812
16813// SetName sets the Name field's value.
16814func (s *Run) SetName(v string) *Run {
16815	s.Name = &v
16816	return s
16817}
16818
16819// SetNetworkProfile sets the NetworkProfile field's value.
16820func (s *Run) SetNetworkProfile(v *NetworkProfile) *Run {
16821	s.NetworkProfile = v
16822	return s
16823}
16824
16825// SetParsingResultUrl sets the ParsingResultUrl field's value.
16826func (s *Run) SetParsingResultUrl(v string) *Run {
16827	s.ParsingResultUrl = &v
16828	return s
16829}
16830
16831// SetPlatform sets the Platform field's value.
16832func (s *Run) SetPlatform(v string) *Run {
16833	s.Platform = &v
16834	return s
16835}
16836
16837// SetRadios sets the Radios field's value.
16838func (s *Run) SetRadios(v *Radios) *Run {
16839	s.Radios = v
16840	return s
16841}
16842
16843// SetResult sets the Result field's value.
16844func (s *Run) SetResult(v string) *Run {
16845	s.Result = &v
16846	return s
16847}
16848
16849// SetResultCode sets the ResultCode field's value.
16850func (s *Run) SetResultCode(v string) *Run {
16851	s.ResultCode = &v
16852	return s
16853}
16854
16855// SetSeed sets the Seed field's value.
16856func (s *Run) SetSeed(v int64) *Run {
16857	s.Seed = &v
16858	return s
16859}
16860
16861// SetSkipAppResign sets the SkipAppResign field's value.
16862func (s *Run) SetSkipAppResign(v bool) *Run {
16863	s.SkipAppResign = &v
16864	return s
16865}
16866
16867// SetStarted sets the Started field's value.
16868func (s *Run) SetStarted(v time.Time) *Run {
16869	s.Started = &v
16870	return s
16871}
16872
16873// SetStatus sets the Status field's value.
16874func (s *Run) SetStatus(v string) *Run {
16875	s.Status = &v
16876	return s
16877}
16878
16879// SetStopped sets the Stopped field's value.
16880func (s *Run) SetStopped(v time.Time) *Run {
16881	s.Stopped = &v
16882	return s
16883}
16884
16885// SetTestSpecArn sets the TestSpecArn field's value.
16886func (s *Run) SetTestSpecArn(v string) *Run {
16887	s.TestSpecArn = &v
16888	return s
16889}
16890
16891// SetTotalJobs sets the TotalJobs field's value.
16892func (s *Run) SetTotalJobs(v int64) *Run {
16893	s.TotalJobs = &v
16894	return s
16895}
16896
16897// SetType sets the Type field's value.
16898func (s *Run) SetType(v string) *Run {
16899	s.Type = &v
16900	return s
16901}
16902
16903// SetWebUrl sets the WebUrl field's value.
16904func (s *Run) SetWebUrl(v string) *Run {
16905	s.WebUrl = &v
16906	return s
16907}
16908
16909// Represents a sample of performance data.
16910type Sample struct {
16911	_ struct{} `type:"structure"`
16912
16913	// The sample's ARN.
16914	Arn *string `locationName:"arn" min:"32" type:"string"`
16915
16916	// The sample's type.
16917	//
16918	// Must be one of the following values:
16919	//
16920	//    * CPU: A CPU sample type. This is expressed as the app processing CPU
16921	//    time (including child processes) as reported by process, as a percentage.
16922	//
16923	//    * MEMORY: A memory usage sample type. This is expressed as the total proportional
16924	//    set size of an app process, in kilobytes.
16925	//
16926	//    * NATIVE_AVG_DRAWTIME
16927	//
16928	//    * NATIVE_FPS
16929	//
16930	//    * NATIVE_FRAMES
16931	//
16932	//    * NATIVE_MAX_DRAWTIME
16933	//
16934	//    * NATIVE_MIN_DRAWTIME
16935	//
16936	//    * OPENGL_AVG_DRAWTIME
16937	//
16938	//    * OPENGL_FPS
16939	//
16940	//    * OPENGL_FRAMES
16941	//
16942	//    * OPENGL_MAX_DRAWTIME
16943	//
16944	//    * OPENGL_MIN_DRAWTIME
16945	//
16946	//    * RX
16947	//
16948	//    * RX_RATE: The total number of bytes per second (TCP and UDP) that are
16949	//    sent, by app process.
16950	//
16951	//    * THREADS: A threads sample type. This is expressed as the total number
16952	//    of threads per app process.
16953	//
16954	//    * TX
16955	//
16956	//    * TX_RATE: The total number of bytes per second (TCP and UDP) that are
16957	//    received, by app process.
16958	Type *string `locationName:"type" type:"string" enum:"SampleType"`
16959
16960	// The presigned Amazon S3 URL that can be used with a GET request to download
16961	// the sample's file.
16962	Url *string `locationName:"url" type:"string"`
16963}
16964
16965// String returns the string representation
16966func (s Sample) String() string {
16967	return awsutil.Prettify(s)
16968}
16969
16970// GoString returns the string representation
16971func (s Sample) GoString() string {
16972	return s.String()
16973}
16974
16975// SetArn sets the Arn field's value.
16976func (s *Sample) SetArn(v string) *Sample {
16977	s.Arn = &v
16978	return s
16979}
16980
16981// SetType sets the Type field's value.
16982func (s *Sample) SetType(v string) *Sample {
16983	s.Type = &v
16984	return s
16985}
16986
16987// SetUrl sets the Url field's value.
16988func (s *Sample) SetUrl(v string) *Sample {
16989	s.Url = &v
16990	return s
16991}
16992
16993// Represents the settings for a run. Includes things like location, radio states,
16994// auxiliary apps, and network profiles.
16995type ScheduleRunConfiguration struct {
16996	_ struct{} `type:"structure"`
16997
16998	// A list of upload ARNs for app packages to be installed with your app.
16999	AuxiliaryApps []*string `locationName:"auxiliaryApps" type:"list"`
17000
17001	// Specifies the billing method for a test run: metered or unmetered. If the
17002	// parameter is not specified, the default value is metered.
17003	//
17004	// If you have purchased unmetered device slots, you must set this parameter
17005	// to unmetered to make use of them. Otherwise, your run counts against your
17006	// metered time.
17007	BillingMethod *string `locationName:"billingMethod" type:"string" enum:"BillingMethod"`
17008
17009	// Input CustomerArtifactPaths object for the scheduled run configuration.
17010	CustomerArtifactPaths *CustomerArtifactPaths `locationName:"customerArtifactPaths" type:"structure"`
17011
17012	// The ARN of the extra data for the run. The extra data is a .zip file that
17013	// AWS Device Farm extracts to external data for Android or the app's sandbox
17014	// for iOS.
17015	ExtraDataPackageArn *string `locationName:"extraDataPackageArn" min:"32" type:"string"`
17016
17017	// Information about the locale that is used for the run.
17018	Locale *string `locationName:"locale" type:"string"`
17019
17020	// Information about the location that is used for the run.
17021	Location *Location `locationName:"location" type:"structure"`
17022
17023	// Reserved for internal use.
17024	NetworkProfileArn *string `locationName:"networkProfileArn" min:"32" type:"string"`
17025
17026	// Information about the radio states for the run.
17027	Radios *Radios `locationName:"radios" type:"structure"`
17028
17029	// An array of ARNs for your VPC endpoint configurations.
17030	VpceConfigurationArns []*string `locationName:"vpceConfigurationArns" type:"list"`
17031}
17032
17033// String returns the string representation
17034func (s ScheduleRunConfiguration) String() string {
17035	return awsutil.Prettify(s)
17036}
17037
17038// GoString returns the string representation
17039func (s ScheduleRunConfiguration) GoString() string {
17040	return s.String()
17041}
17042
17043// Validate inspects the fields of the type to determine if they are valid.
17044func (s *ScheduleRunConfiguration) Validate() error {
17045	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunConfiguration"}
17046	if s.ExtraDataPackageArn != nil && len(*s.ExtraDataPackageArn) < 32 {
17047		invalidParams.Add(request.NewErrParamMinLen("ExtraDataPackageArn", 32))
17048	}
17049	if s.NetworkProfileArn != nil && len(*s.NetworkProfileArn) < 32 {
17050		invalidParams.Add(request.NewErrParamMinLen("NetworkProfileArn", 32))
17051	}
17052	if s.Location != nil {
17053		if err := s.Location.Validate(); err != nil {
17054			invalidParams.AddNested("Location", err.(request.ErrInvalidParams))
17055		}
17056	}
17057
17058	if invalidParams.Len() > 0 {
17059		return invalidParams
17060	}
17061	return nil
17062}
17063
17064// SetAuxiliaryApps sets the AuxiliaryApps field's value.
17065func (s *ScheduleRunConfiguration) SetAuxiliaryApps(v []*string) *ScheduleRunConfiguration {
17066	s.AuxiliaryApps = v
17067	return s
17068}
17069
17070// SetBillingMethod sets the BillingMethod field's value.
17071func (s *ScheduleRunConfiguration) SetBillingMethod(v string) *ScheduleRunConfiguration {
17072	s.BillingMethod = &v
17073	return s
17074}
17075
17076// SetCustomerArtifactPaths sets the CustomerArtifactPaths field's value.
17077func (s *ScheduleRunConfiguration) SetCustomerArtifactPaths(v *CustomerArtifactPaths) *ScheduleRunConfiguration {
17078	s.CustomerArtifactPaths = v
17079	return s
17080}
17081
17082// SetExtraDataPackageArn sets the ExtraDataPackageArn field's value.
17083func (s *ScheduleRunConfiguration) SetExtraDataPackageArn(v string) *ScheduleRunConfiguration {
17084	s.ExtraDataPackageArn = &v
17085	return s
17086}
17087
17088// SetLocale sets the Locale field's value.
17089func (s *ScheduleRunConfiguration) SetLocale(v string) *ScheduleRunConfiguration {
17090	s.Locale = &v
17091	return s
17092}
17093
17094// SetLocation sets the Location field's value.
17095func (s *ScheduleRunConfiguration) SetLocation(v *Location) *ScheduleRunConfiguration {
17096	s.Location = v
17097	return s
17098}
17099
17100// SetNetworkProfileArn sets the NetworkProfileArn field's value.
17101func (s *ScheduleRunConfiguration) SetNetworkProfileArn(v string) *ScheduleRunConfiguration {
17102	s.NetworkProfileArn = &v
17103	return s
17104}
17105
17106// SetRadios sets the Radios field's value.
17107func (s *ScheduleRunConfiguration) SetRadios(v *Radios) *ScheduleRunConfiguration {
17108	s.Radios = v
17109	return s
17110}
17111
17112// SetVpceConfigurationArns sets the VpceConfigurationArns field's value.
17113func (s *ScheduleRunConfiguration) SetVpceConfigurationArns(v []*string) *ScheduleRunConfiguration {
17114	s.VpceConfigurationArns = v
17115	return s
17116}
17117
17118// Represents a request to the schedule run operation.
17119type ScheduleRunInput struct {
17120	_ struct{} `type:"structure"`
17121
17122	// The ARN of an application package to run tests against, created with CreateUpload.
17123	// See ListUploads.
17124	AppArn *string `locationName:"appArn" min:"32" type:"string"`
17125
17126	// Information about the settings for the run to be scheduled.
17127	Configuration *ScheduleRunConfiguration `locationName:"configuration" type:"structure"`
17128
17129	// The ARN of the device pool for the run to be scheduled.
17130	DevicePoolArn *string `locationName:"devicePoolArn" min:"32" type:"string"`
17131
17132	// The filter criteria used to dynamically select a set of devices for a test
17133	// run and the maximum number of devices to be included in the run.
17134	//
17135	// Either devicePoolArn or deviceSelectionConfiguration is required in a request.
17136	DeviceSelectionConfiguration *DeviceSelectionConfiguration `locationName:"deviceSelectionConfiguration" type:"structure"`
17137
17138	// Specifies configuration information about a test run, such as the execution
17139	// timeout (in minutes).
17140	ExecutionConfiguration *ExecutionConfiguration `locationName:"executionConfiguration" type:"structure"`
17141
17142	// The name for the run to be scheduled.
17143	Name *string `locationName:"name" type:"string"`
17144
17145	// The ARN of the project for the run to be scheduled.
17146	//
17147	// ProjectArn is a required field
17148	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
17149
17150	// Information about the test for the run to be scheduled.
17151	//
17152	// Test is a required field
17153	Test *ScheduleRunTest `locationName:"test" type:"structure" required:"true"`
17154}
17155
17156// String returns the string representation
17157func (s ScheduleRunInput) String() string {
17158	return awsutil.Prettify(s)
17159}
17160
17161// GoString returns the string representation
17162func (s ScheduleRunInput) GoString() string {
17163	return s.String()
17164}
17165
17166// Validate inspects the fields of the type to determine if they are valid.
17167func (s *ScheduleRunInput) Validate() error {
17168	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunInput"}
17169	if s.AppArn != nil && len(*s.AppArn) < 32 {
17170		invalidParams.Add(request.NewErrParamMinLen("AppArn", 32))
17171	}
17172	if s.DevicePoolArn != nil && len(*s.DevicePoolArn) < 32 {
17173		invalidParams.Add(request.NewErrParamMinLen("DevicePoolArn", 32))
17174	}
17175	if s.ProjectArn == nil {
17176		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
17177	}
17178	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
17179		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
17180	}
17181	if s.Test == nil {
17182		invalidParams.Add(request.NewErrParamRequired("Test"))
17183	}
17184	if s.Configuration != nil {
17185		if err := s.Configuration.Validate(); err != nil {
17186			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
17187		}
17188	}
17189	if s.DeviceSelectionConfiguration != nil {
17190		if err := s.DeviceSelectionConfiguration.Validate(); err != nil {
17191			invalidParams.AddNested("DeviceSelectionConfiguration", err.(request.ErrInvalidParams))
17192		}
17193	}
17194	if s.Test != nil {
17195		if err := s.Test.Validate(); err != nil {
17196			invalidParams.AddNested("Test", err.(request.ErrInvalidParams))
17197		}
17198	}
17199
17200	if invalidParams.Len() > 0 {
17201		return invalidParams
17202	}
17203	return nil
17204}
17205
17206// SetAppArn sets the AppArn field's value.
17207func (s *ScheduleRunInput) SetAppArn(v string) *ScheduleRunInput {
17208	s.AppArn = &v
17209	return s
17210}
17211
17212// SetConfiguration sets the Configuration field's value.
17213func (s *ScheduleRunInput) SetConfiguration(v *ScheduleRunConfiguration) *ScheduleRunInput {
17214	s.Configuration = v
17215	return s
17216}
17217
17218// SetDevicePoolArn sets the DevicePoolArn field's value.
17219func (s *ScheduleRunInput) SetDevicePoolArn(v string) *ScheduleRunInput {
17220	s.DevicePoolArn = &v
17221	return s
17222}
17223
17224// SetDeviceSelectionConfiguration sets the DeviceSelectionConfiguration field's value.
17225func (s *ScheduleRunInput) SetDeviceSelectionConfiguration(v *DeviceSelectionConfiguration) *ScheduleRunInput {
17226	s.DeviceSelectionConfiguration = v
17227	return s
17228}
17229
17230// SetExecutionConfiguration sets the ExecutionConfiguration field's value.
17231func (s *ScheduleRunInput) SetExecutionConfiguration(v *ExecutionConfiguration) *ScheduleRunInput {
17232	s.ExecutionConfiguration = v
17233	return s
17234}
17235
17236// SetName sets the Name field's value.
17237func (s *ScheduleRunInput) SetName(v string) *ScheduleRunInput {
17238	s.Name = &v
17239	return s
17240}
17241
17242// SetProjectArn sets the ProjectArn field's value.
17243func (s *ScheduleRunInput) SetProjectArn(v string) *ScheduleRunInput {
17244	s.ProjectArn = &v
17245	return s
17246}
17247
17248// SetTest sets the Test field's value.
17249func (s *ScheduleRunInput) SetTest(v *ScheduleRunTest) *ScheduleRunInput {
17250	s.Test = v
17251	return s
17252}
17253
17254// Represents the result of a schedule run request.
17255type ScheduleRunOutput struct {
17256	_ struct{} `type:"structure"`
17257
17258	// Information about the scheduled run.
17259	Run *Run `locationName:"run" type:"structure"`
17260}
17261
17262// String returns the string representation
17263func (s ScheduleRunOutput) String() string {
17264	return awsutil.Prettify(s)
17265}
17266
17267// GoString returns the string representation
17268func (s ScheduleRunOutput) GoString() string {
17269	return s.String()
17270}
17271
17272// SetRun sets the Run field's value.
17273func (s *ScheduleRunOutput) SetRun(v *Run) *ScheduleRunOutput {
17274	s.Run = v
17275	return s
17276}
17277
17278// Represents test settings. This data structure is passed in as the test parameter
17279// to ScheduleRun. For an example of the JSON request syntax, see ScheduleRun.
17280type ScheduleRunTest struct {
17281	_ struct{} `type:"structure"`
17282
17283	// The test's filter.
17284	Filter *string `locationName:"filter" type:"string"`
17285
17286	// The test's parameters, such as test framework parameters and fixture settings.
17287	// Parameters are represented by name-value pairs of strings.
17288	//
17289	// For all tests:
17290	//
17291	//    * app_performance_monitoring: Performance monitoring is enabled by default.
17292	//    Set this parameter to false to disable it.
17293	//
17294	// For Calabash tests:
17295	//
17296	//    * profile: A cucumber profile (for example, my_profile_name).
17297	//
17298	//    * tags: You can limit execution to features or scenarios that have (or
17299	//    don't have) certain tags (for example, @smoke or @smoke,~@wip).
17300	//
17301	// For Appium tests (all types):
17302	//
17303	//    * appium_version: The Appium version. Currently supported values are 1.6.5
17304	//    (and later), latest, and default. latest runs the latest Appium version
17305	//    supported by Device Farm (1.9.1). For default, Device Farm selects a compatible
17306	//    version of Appium for the device. The current behavior is to run 1.7.2
17307	//    on Android devices and iOS 9 and earlier and 1.7.2 for iOS 10 and later.
17308	//    This behavior is subject to change.
17309	//
17310	// For fuzz tests (Android only):
17311	//
17312	//    * event_count: The number of events, between 1 and 10000, that the UI
17313	//    fuzz test should perform.
17314	//
17315	//    * throttle: The time, in ms, between 0 and 1000, that the UI fuzz test
17316	//    should wait between events.
17317	//
17318	//    * seed: A seed to use for randomizing the UI fuzz test. Using the same
17319	//    seed value between tests ensures identical event sequences.
17320	//
17321	// For Explorer tests:
17322	//
17323	//    * username: A user name to use if the Explorer encounters a login form.
17324	//    If not supplied, no user name is inserted.
17325	//
17326	//    * password: A password to use if the Explorer encounters a login form.
17327	//    If not supplied, no password is inserted.
17328	//
17329	// For Instrumentation:
17330	//
17331	//    * filter: A test filter string. Examples: Running a single test case:
17332	//    com.android.abc.Test1 Running a single test: com.android.abc.Test1#smoke
17333	//    Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
17334	//
17335	// For XCTest and XCTestUI:
17336	//
17337	//    * filter: A test filter string. Examples: Running a single test class:
17338	//    LoginTests Running a multiple test classes: LoginTests,SmokeTests Running
17339	//    a single test: LoginTests/testValid Running multiple tests: LoginTests/testValid,LoginTests/testInvalid
17340	//
17341	// For UIAutomator:
17342	//
17343	//    * filter: A test filter string. Examples: Running a single test case:
17344	//    com.android.abc.Test1 Running a single test: com.android.abc.Test1#smoke
17345	//    Running multiple tests: com.android.abc.Test1,com.android.abc.Test2
17346	Parameters map[string]*string `locationName:"parameters" type:"map"`
17347
17348	// The ARN of the uploaded test to be run.
17349	TestPackageArn *string `locationName:"testPackageArn" min:"32" type:"string"`
17350
17351	// The ARN of the YAML-formatted test specification.
17352	TestSpecArn *string `locationName:"testSpecArn" min:"32" type:"string"`
17353
17354	// The test's type.
17355	//
17356	// Must be one of the following values:
17357	//
17358	//    * BUILTIN_FUZZ
17359	//
17360	//    * BUILTIN_EXPLORER. For Android, an app explorer that traverses an Android
17361	//    app, interacting with it and capturing screenshots at the same time.
17362	//
17363	//    * APPIUM_JAVA_JUNIT
17364	//
17365	//    * APPIUM_JAVA_TESTNG
17366	//
17367	//    * APPIUM_PYTHON
17368	//
17369	//    * APPIUM_NODE
17370	//
17371	//    * APPIUM_RUBY
17372	//
17373	//    * APPIUM_WEB_JAVA_JUNIT
17374	//
17375	//    * APPIUM_WEB_JAVA_TESTNG
17376	//
17377	//    * APPIUM_WEB_PYTHON
17378	//
17379	//    * APPIUM_WEB_NODE
17380	//
17381	//    * APPIUM_WEB_RUBY
17382	//
17383	//    * CALABASH
17384	//
17385	//    * INSTRUMENTATION
17386	//
17387	//    * UIAUTOMATION
17388	//
17389	//    * UIAUTOMATOR
17390	//
17391	//    * XCTEST
17392	//
17393	//    * XCTEST_UI
17394	//
17395	// Type is a required field
17396	Type *string `locationName:"type" type:"string" required:"true" enum:"TestType"`
17397}
17398
17399// String returns the string representation
17400func (s ScheduleRunTest) String() string {
17401	return awsutil.Prettify(s)
17402}
17403
17404// GoString returns the string representation
17405func (s ScheduleRunTest) GoString() string {
17406	return s.String()
17407}
17408
17409// Validate inspects the fields of the type to determine if they are valid.
17410func (s *ScheduleRunTest) Validate() error {
17411	invalidParams := request.ErrInvalidParams{Context: "ScheduleRunTest"}
17412	if s.TestPackageArn != nil && len(*s.TestPackageArn) < 32 {
17413		invalidParams.Add(request.NewErrParamMinLen("TestPackageArn", 32))
17414	}
17415	if s.TestSpecArn != nil && len(*s.TestSpecArn) < 32 {
17416		invalidParams.Add(request.NewErrParamMinLen("TestSpecArn", 32))
17417	}
17418	if s.Type == nil {
17419		invalidParams.Add(request.NewErrParamRequired("Type"))
17420	}
17421
17422	if invalidParams.Len() > 0 {
17423		return invalidParams
17424	}
17425	return nil
17426}
17427
17428// SetFilter sets the Filter field's value.
17429func (s *ScheduleRunTest) SetFilter(v string) *ScheduleRunTest {
17430	s.Filter = &v
17431	return s
17432}
17433
17434// SetParameters sets the Parameters field's value.
17435func (s *ScheduleRunTest) SetParameters(v map[string]*string) *ScheduleRunTest {
17436	s.Parameters = v
17437	return s
17438}
17439
17440// SetTestPackageArn sets the TestPackageArn field's value.
17441func (s *ScheduleRunTest) SetTestPackageArn(v string) *ScheduleRunTest {
17442	s.TestPackageArn = &v
17443	return s
17444}
17445
17446// SetTestSpecArn sets the TestSpecArn field's value.
17447func (s *ScheduleRunTest) SetTestSpecArn(v string) *ScheduleRunTest {
17448	s.TestSpecArn = &v
17449	return s
17450}
17451
17452// SetType sets the Type field's value.
17453func (s *ScheduleRunTest) SetType(v string) *ScheduleRunTest {
17454	s.Type = &v
17455	return s
17456}
17457
17458// There was a problem with the service account.
17459type ServiceAccountException struct {
17460	_            struct{}                  `type:"structure"`
17461	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17462
17463	// Any additional information about the exception.
17464	Message_ *string `locationName:"message" type:"string"`
17465}
17466
17467// String returns the string representation
17468func (s ServiceAccountException) String() string {
17469	return awsutil.Prettify(s)
17470}
17471
17472// GoString returns the string representation
17473func (s ServiceAccountException) GoString() string {
17474	return s.String()
17475}
17476
17477func newErrorServiceAccountException(v protocol.ResponseMetadata) error {
17478	return &ServiceAccountException{
17479		RespMetadata: v,
17480	}
17481}
17482
17483// Code returns the exception type name.
17484func (s *ServiceAccountException) Code() string {
17485	return "ServiceAccountException"
17486}
17487
17488// Message returns the exception's message.
17489func (s *ServiceAccountException) Message() string {
17490	if s.Message_ != nil {
17491		return *s.Message_
17492	}
17493	return ""
17494}
17495
17496// OrigErr always returns nil, satisfies awserr.Error interface.
17497func (s *ServiceAccountException) OrigErr() error {
17498	return nil
17499}
17500
17501func (s *ServiceAccountException) Error() string {
17502	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
17503}
17504
17505// Status code returns the HTTP status code for the request's response error.
17506func (s *ServiceAccountException) StatusCode() int {
17507	return s.RespMetadata.StatusCode
17508}
17509
17510// RequestID returns the service's response RequestID for request.
17511func (s *ServiceAccountException) RequestID() string {
17512	return s.RespMetadata.RequestID
17513}
17514
17515type StopJobInput struct {
17516	_ struct{} `type:"structure"`
17517
17518	// Represents the Amazon Resource Name (ARN) of the Device Farm job to stop.
17519	//
17520	// Arn is a required field
17521	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
17522}
17523
17524// String returns the string representation
17525func (s StopJobInput) String() string {
17526	return awsutil.Prettify(s)
17527}
17528
17529// GoString returns the string representation
17530func (s StopJobInput) GoString() string {
17531	return s.String()
17532}
17533
17534// Validate inspects the fields of the type to determine if they are valid.
17535func (s *StopJobInput) Validate() error {
17536	invalidParams := request.ErrInvalidParams{Context: "StopJobInput"}
17537	if s.Arn == nil {
17538		invalidParams.Add(request.NewErrParamRequired("Arn"))
17539	}
17540	if s.Arn != nil && len(*s.Arn) < 32 {
17541		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
17542	}
17543
17544	if invalidParams.Len() > 0 {
17545		return invalidParams
17546	}
17547	return nil
17548}
17549
17550// SetArn sets the Arn field's value.
17551func (s *StopJobInput) SetArn(v string) *StopJobInput {
17552	s.Arn = &v
17553	return s
17554}
17555
17556type StopJobOutput struct {
17557	_ struct{} `type:"structure"`
17558
17559	// The job that was stopped.
17560	Job *Job `locationName:"job" type:"structure"`
17561}
17562
17563// String returns the string representation
17564func (s StopJobOutput) String() string {
17565	return awsutil.Prettify(s)
17566}
17567
17568// GoString returns the string representation
17569func (s StopJobOutput) GoString() string {
17570	return s.String()
17571}
17572
17573// SetJob sets the Job field's value.
17574func (s *StopJobOutput) SetJob(v *Job) *StopJobOutput {
17575	s.Job = v
17576	return s
17577}
17578
17579// Represents the request to stop the remote access session.
17580type StopRemoteAccessSessionInput struct {
17581	_ struct{} `type:"structure"`
17582
17583	// The Amazon Resource Name (ARN) of the remote access session to stop.
17584	//
17585	// Arn is a required field
17586	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
17587}
17588
17589// String returns the string representation
17590func (s StopRemoteAccessSessionInput) String() string {
17591	return awsutil.Prettify(s)
17592}
17593
17594// GoString returns the string representation
17595func (s StopRemoteAccessSessionInput) GoString() string {
17596	return s.String()
17597}
17598
17599// Validate inspects the fields of the type to determine if they are valid.
17600func (s *StopRemoteAccessSessionInput) Validate() error {
17601	invalidParams := request.ErrInvalidParams{Context: "StopRemoteAccessSessionInput"}
17602	if s.Arn == nil {
17603		invalidParams.Add(request.NewErrParamRequired("Arn"))
17604	}
17605	if s.Arn != nil && len(*s.Arn) < 32 {
17606		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
17607	}
17608
17609	if invalidParams.Len() > 0 {
17610		return invalidParams
17611	}
17612	return nil
17613}
17614
17615// SetArn sets the Arn field's value.
17616func (s *StopRemoteAccessSessionInput) SetArn(v string) *StopRemoteAccessSessionInput {
17617	s.Arn = &v
17618	return s
17619}
17620
17621// Represents the response from the server that describes the remote access
17622// session when AWS Device Farm stops the session.
17623type StopRemoteAccessSessionOutput struct {
17624	_ struct{} `type:"structure"`
17625
17626	// A container that represents the metadata from the service about the remote
17627	// access session you are stopping.
17628	RemoteAccessSession *RemoteAccessSession `locationName:"remoteAccessSession" type:"structure"`
17629}
17630
17631// String returns the string representation
17632func (s StopRemoteAccessSessionOutput) String() string {
17633	return awsutil.Prettify(s)
17634}
17635
17636// GoString returns the string representation
17637func (s StopRemoteAccessSessionOutput) GoString() string {
17638	return s.String()
17639}
17640
17641// SetRemoteAccessSession sets the RemoteAccessSession field's value.
17642func (s *StopRemoteAccessSessionOutput) SetRemoteAccessSession(v *RemoteAccessSession) *StopRemoteAccessSessionOutput {
17643	s.RemoteAccessSession = v
17644	return s
17645}
17646
17647// Represents the request to stop a specific run.
17648type StopRunInput struct {
17649	_ struct{} `type:"structure"`
17650
17651	// Represents the Amazon Resource Name (ARN) of the Device Farm run to stop.
17652	//
17653	// Arn is a required field
17654	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
17655}
17656
17657// String returns the string representation
17658func (s StopRunInput) String() string {
17659	return awsutil.Prettify(s)
17660}
17661
17662// GoString returns the string representation
17663func (s StopRunInput) GoString() string {
17664	return s.String()
17665}
17666
17667// Validate inspects the fields of the type to determine if they are valid.
17668func (s *StopRunInput) Validate() error {
17669	invalidParams := request.ErrInvalidParams{Context: "StopRunInput"}
17670	if s.Arn == nil {
17671		invalidParams.Add(request.NewErrParamRequired("Arn"))
17672	}
17673	if s.Arn != nil && len(*s.Arn) < 32 {
17674		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
17675	}
17676
17677	if invalidParams.Len() > 0 {
17678		return invalidParams
17679	}
17680	return nil
17681}
17682
17683// SetArn sets the Arn field's value.
17684func (s *StopRunInput) SetArn(v string) *StopRunInput {
17685	s.Arn = &v
17686	return s
17687}
17688
17689// Represents the results of your stop run attempt.
17690type StopRunOutput struct {
17691	_ struct{} `type:"structure"`
17692
17693	// The run that was stopped.
17694	Run *Run `locationName:"run" type:"structure"`
17695}
17696
17697// String returns the string representation
17698func (s StopRunOutput) String() string {
17699	return awsutil.Prettify(s)
17700}
17701
17702// GoString returns the string representation
17703func (s StopRunOutput) GoString() string {
17704	return s.String()
17705}
17706
17707// SetRun sets the Run field's value.
17708func (s *StopRunOutput) SetRun(v *Run) *StopRunOutput {
17709	s.Run = v
17710	return s
17711}
17712
17713// Represents a collection of one or more tests.
17714type Suite struct {
17715	_ struct{} `type:"structure"`
17716
17717	// The suite's ARN.
17718	Arn *string `locationName:"arn" min:"32" type:"string"`
17719
17720	// The suite's result counters.
17721	Counters *Counters `locationName:"counters" type:"structure"`
17722
17723	// When the suite was created.
17724	Created *time.Time `locationName:"created" type:"timestamp"`
17725
17726	// Represents the total (metered or unmetered) minutes used by the test suite.
17727	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
17728
17729	// A message about the suite's result.
17730	Message *string `locationName:"message" type:"string"`
17731
17732	// The suite's name.
17733	Name *string `locationName:"name" type:"string"`
17734
17735	// The suite's result.
17736	//
17737	// Allowed values include:
17738	//
17739	//    * PENDING
17740	//
17741	//    * PASSED
17742	//
17743	//    * WARNED
17744	//
17745	//    * FAILED
17746	//
17747	//    * SKIPPED
17748	//
17749	//    * ERRORED
17750	//
17751	//    * STOPPED
17752	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
17753
17754	// The suite's start time.
17755	Started *time.Time `locationName:"started" type:"timestamp"`
17756
17757	// The suite's status.
17758	//
17759	// Allowed values include:
17760	//
17761	//    * PENDING
17762	//
17763	//    * PENDING_CONCURRENCY
17764	//
17765	//    * PENDING_DEVICE
17766	//
17767	//    * PROCESSING
17768	//
17769	//    * SCHEDULING
17770	//
17771	//    * PREPARING
17772	//
17773	//    * RUNNING
17774	//
17775	//    * COMPLETED
17776	//
17777	//    * STOPPING
17778	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
17779
17780	// The suite's stop time.
17781	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
17782
17783	// The suite's type.
17784	//
17785	// Must be one of the following values:
17786	//
17787	//    * BUILTIN_FUZZ
17788	//
17789	//    * BUILTIN_EXPLORER Only available for Android; an app explorer that traverses
17790	//    an Android app, interacting with it and capturing screenshots at the same
17791	//    time.
17792	//
17793	//    * APPIUM_JAVA_JUNIT
17794	//
17795	//    * APPIUM_JAVA_TESTNG
17796	//
17797	//    * APPIUM_PYTHON
17798	//
17799	//    * APPIUM_NODE
17800	//
17801	//    * APPIUM_RUBY
17802	//
17803	//    * APPIUM_WEB_JAVA_JUNIT
17804	//
17805	//    * APPIUM_WEB_JAVA_TESTNG
17806	//
17807	//    * APPIUM_WEB_PYTHON
17808	//
17809	//    * APPIUM_WEB_NODE
17810	//
17811	//    * APPIUM_WEB_RUBY
17812	//
17813	//    * CALABASH
17814	//
17815	//    * INSTRUMENTATION
17816	//
17817	//    * UIAUTOMATION
17818	//
17819	//    * UIAUTOMATOR
17820	//
17821	//    * XCTEST
17822	//
17823	//    * XCTEST_UI
17824	Type *string `locationName:"type" type:"string" enum:"TestType"`
17825}
17826
17827// String returns the string representation
17828func (s Suite) String() string {
17829	return awsutil.Prettify(s)
17830}
17831
17832// GoString returns the string representation
17833func (s Suite) GoString() string {
17834	return s.String()
17835}
17836
17837// SetArn sets the Arn field's value.
17838func (s *Suite) SetArn(v string) *Suite {
17839	s.Arn = &v
17840	return s
17841}
17842
17843// SetCounters sets the Counters field's value.
17844func (s *Suite) SetCounters(v *Counters) *Suite {
17845	s.Counters = v
17846	return s
17847}
17848
17849// SetCreated sets the Created field's value.
17850func (s *Suite) SetCreated(v time.Time) *Suite {
17851	s.Created = &v
17852	return s
17853}
17854
17855// SetDeviceMinutes sets the DeviceMinutes field's value.
17856func (s *Suite) SetDeviceMinutes(v *DeviceMinutes) *Suite {
17857	s.DeviceMinutes = v
17858	return s
17859}
17860
17861// SetMessage sets the Message field's value.
17862func (s *Suite) SetMessage(v string) *Suite {
17863	s.Message = &v
17864	return s
17865}
17866
17867// SetName sets the Name field's value.
17868func (s *Suite) SetName(v string) *Suite {
17869	s.Name = &v
17870	return s
17871}
17872
17873// SetResult sets the Result field's value.
17874func (s *Suite) SetResult(v string) *Suite {
17875	s.Result = &v
17876	return s
17877}
17878
17879// SetStarted sets the Started field's value.
17880func (s *Suite) SetStarted(v time.Time) *Suite {
17881	s.Started = &v
17882	return s
17883}
17884
17885// SetStatus sets the Status field's value.
17886func (s *Suite) SetStatus(v string) *Suite {
17887	s.Status = &v
17888	return s
17889}
17890
17891// SetStopped sets the Stopped field's value.
17892func (s *Suite) SetStopped(v time.Time) *Suite {
17893	s.Stopped = &v
17894	return s
17895}
17896
17897// SetType sets the Type field's value.
17898func (s *Suite) SetType(v string) *Suite {
17899	s.Type = &v
17900	return s
17901}
17902
17903// The metadata that you apply to a resource to help you categorize and organize
17904// it. Each tag consists of a key and an optional value, both of which you define.
17905// Tag keys can have a maximum character length of 128 characters. Tag values
17906// can have a maximum length of 256 characters.
17907type Tag struct {
17908	_ struct{} `type:"structure"`
17909
17910	// One part of a key-value pair that makes up a tag. A key is a general label
17911	// that acts like a category for more specific tag values.
17912	//
17913	// Key is a required field
17914	Key *string `min:"1" type:"string" required:"true"`
17915
17916	// The optional part of a key-value pair that makes up a tag. A value acts as
17917	// a descriptor in a tag category (key).
17918	//
17919	// Value is a required field
17920	Value *string `type:"string" required:"true"`
17921}
17922
17923// String returns the string representation
17924func (s Tag) String() string {
17925	return awsutil.Prettify(s)
17926}
17927
17928// GoString returns the string representation
17929func (s Tag) GoString() string {
17930	return s.String()
17931}
17932
17933// Validate inspects the fields of the type to determine if they are valid.
17934func (s *Tag) Validate() error {
17935	invalidParams := request.ErrInvalidParams{Context: "Tag"}
17936	if s.Key == nil {
17937		invalidParams.Add(request.NewErrParamRequired("Key"))
17938	}
17939	if s.Key != nil && len(*s.Key) < 1 {
17940		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
17941	}
17942	if s.Value == nil {
17943		invalidParams.Add(request.NewErrParamRequired("Value"))
17944	}
17945
17946	if invalidParams.Len() > 0 {
17947		return invalidParams
17948	}
17949	return nil
17950}
17951
17952// SetKey sets the Key field's value.
17953func (s *Tag) SetKey(v string) *Tag {
17954	s.Key = &v
17955	return s
17956}
17957
17958// SetValue sets the Value field's value.
17959func (s *Tag) SetValue(v string) *Tag {
17960	s.Value = &v
17961	return s
17962}
17963
17964// The operation was not successful. Try again.
17965type TagOperationException struct {
17966	_            struct{}                  `type:"structure"`
17967	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
17968
17969	Message_ *string `locationName:"message" type:"string"`
17970
17971	ResourceName *string `locationName:"resourceName" min:"32" type:"string"`
17972}
17973
17974// String returns the string representation
17975func (s TagOperationException) String() string {
17976	return awsutil.Prettify(s)
17977}
17978
17979// GoString returns the string representation
17980func (s TagOperationException) GoString() string {
17981	return s.String()
17982}
17983
17984func newErrorTagOperationException(v protocol.ResponseMetadata) error {
17985	return &TagOperationException{
17986		RespMetadata: v,
17987	}
17988}
17989
17990// Code returns the exception type name.
17991func (s *TagOperationException) Code() string {
17992	return "TagOperationException"
17993}
17994
17995// Message returns the exception's message.
17996func (s *TagOperationException) Message() string {
17997	if s.Message_ != nil {
17998		return *s.Message_
17999	}
18000	return ""
18001}
18002
18003// OrigErr always returns nil, satisfies awserr.Error interface.
18004func (s *TagOperationException) OrigErr() error {
18005	return nil
18006}
18007
18008func (s *TagOperationException) Error() string {
18009	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
18010}
18011
18012// Status code returns the HTTP status code for the request's response error.
18013func (s *TagOperationException) StatusCode() int {
18014	return s.RespMetadata.StatusCode
18015}
18016
18017// RequestID returns the service's response RequestID for request.
18018func (s *TagOperationException) RequestID() string {
18019	return s.RespMetadata.RequestID
18020}
18021
18022// The request doesn't comply with the AWS Identity and Access Management (IAM)
18023// tag policy. Correct your request and then retry it.
18024type TagPolicyException struct {
18025	_            struct{}                  `type:"structure"`
18026	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18027
18028	Message_ *string `locationName:"message" type:"string"`
18029
18030	ResourceName *string `locationName:"resourceName" min:"32" type:"string"`
18031}
18032
18033// String returns the string representation
18034func (s TagPolicyException) String() string {
18035	return awsutil.Prettify(s)
18036}
18037
18038// GoString returns the string representation
18039func (s TagPolicyException) GoString() string {
18040	return s.String()
18041}
18042
18043func newErrorTagPolicyException(v protocol.ResponseMetadata) error {
18044	return &TagPolicyException{
18045		RespMetadata: v,
18046	}
18047}
18048
18049// Code returns the exception type name.
18050func (s *TagPolicyException) Code() string {
18051	return "TagPolicyException"
18052}
18053
18054// Message returns the exception's message.
18055func (s *TagPolicyException) Message() string {
18056	if s.Message_ != nil {
18057		return *s.Message_
18058	}
18059	return ""
18060}
18061
18062// OrigErr always returns nil, satisfies awserr.Error interface.
18063func (s *TagPolicyException) OrigErr() error {
18064	return nil
18065}
18066
18067func (s *TagPolicyException) Error() string {
18068	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
18069}
18070
18071// Status code returns the HTTP status code for the request's response error.
18072func (s *TagPolicyException) StatusCode() int {
18073	return s.RespMetadata.StatusCode
18074}
18075
18076// RequestID returns the service's response RequestID for request.
18077func (s *TagPolicyException) RequestID() string {
18078	return s.RespMetadata.RequestID
18079}
18080
18081type TagResourceInput struct {
18082	_ struct{} `type:"structure"`
18083
18084	// The Amazon Resource Name (ARN) of the resource or resources to which to add
18085	// tags. You can associate tags with the following Device Farm resources: PROJECT,
18086	// RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION, DEVICE_POOL,
18087	// DEVICE, and VPCE_CONFIGURATION.
18088	//
18089	// ResourceARN is a required field
18090	ResourceARN *string `min:"32" type:"string" required:"true"`
18091
18092	// The tags to add to the resource. A tag is an array of key-value pairs. Tag
18093	// keys can have a maximum character length of 128 characters. Tag values can
18094	// have a maximum length of 256 characters.
18095	//
18096	// Tags is a required field
18097	Tags []*Tag `type:"list" required:"true"`
18098}
18099
18100// String returns the string representation
18101func (s TagResourceInput) String() string {
18102	return awsutil.Prettify(s)
18103}
18104
18105// GoString returns the string representation
18106func (s TagResourceInput) GoString() string {
18107	return s.String()
18108}
18109
18110// Validate inspects the fields of the type to determine if they are valid.
18111func (s *TagResourceInput) Validate() error {
18112	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
18113	if s.ResourceARN == nil {
18114		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
18115	}
18116	if s.ResourceARN != nil && len(*s.ResourceARN) < 32 {
18117		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 32))
18118	}
18119	if s.Tags == nil {
18120		invalidParams.Add(request.NewErrParamRequired("Tags"))
18121	}
18122	if s.Tags != nil {
18123		for i, v := range s.Tags {
18124			if v == nil {
18125				continue
18126			}
18127			if err := v.Validate(); err != nil {
18128				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams))
18129			}
18130		}
18131	}
18132
18133	if invalidParams.Len() > 0 {
18134		return invalidParams
18135	}
18136	return nil
18137}
18138
18139// SetResourceARN sets the ResourceARN field's value.
18140func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput {
18141	s.ResourceARN = &v
18142	return s
18143}
18144
18145// SetTags sets the Tags field's value.
18146func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput {
18147	s.Tags = v
18148	return s
18149}
18150
18151type TagResourceOutput struct {
18152	_ struct{} `type:"structure"`
18153}
18154
18155// String returns the string representation
18156func (s TagResourceOutput) String() string {
18157	return awsutil.Prettify(s)
18158}
18159
18160// GoString returns the string representation
18161func (s TagResourceOutput) GoString() string {
18162	return s.String()
18163}
18164
18165// Represents a condition that is evaluated.
18166type Test struct {
18167	_ struct{} `type:"structure"`
18168
18169	// The test's ARN.
18170	Arn *string `locationName:"arn" min:"32" type:"string"`
18171
18172	// The test's result counters.
18173	Counters *Counters `locationName:"counters" type:"structure"`
18174
18175	// When the test was created.
18176	Created *time.Time `locationName:"created" type:"timestamp"`
18177
18178	// Represents the total (metered or unmetered) minutes used by the test.
18179	DeviceMinutes *DeviceMinutes `locationName:"deviceMinutes" type:"structure"`
18180
18181	// A message about the test's result.
18182	Message *string `locationName:"message" type:"string"`
18183
18184	// The test's name.
18185	Name *string `locationName:"name" type:"string"`
18186
18187	// The test's result.
18188	//
18189	// Allowed values include:
18190	//
18191	//    * PENDING
18192	//
18193	//    * PASSED
18194	//
18195	//    * WARNED
18196	//
18197	//    * FAILED
18198	//
18199	//    * SKIPPED
18200	//
18201	//    * ERRORED
18202	//
18203	//    * STOPPED
18204	Result *string `locationName:"result" type:"string" enum:"ExecutionResult"`
18205
18206	// The test's start time.
18207	Started *time.Time `locationName:"started" type:"timestamp"`
18208
18209	// The test's status.
18210	//
18211	// Allowed values include:
18212	//
18213	//    * PENDING
18214	//
18215	//    * PENDING_CONCURRENCY
18216	//
18217	//    * PENDING_DEVICE
18218	//
18219	//    * PROCESSING
18220	//
18221	//    * SCHEDULING
18222	//
18223	//    * PREPARING
18224	//
18225	//    * RUNNING
18226	//
18227	//    * COMPLETED
18228	//
18229	//    * STOPPING
18230	Status *string `locationName:"status" type:"string" enum:"ExecutionStatus"`
18231
18232	// The test's stop time.
18233	Stopped *time.Time `locationName:"stopped" type:"timestamp"`
18234
18235	// The test's type.
18236	//
18237	// Must be one of the following values:
18238	//
18239	//    * BUILTIN_FUZZ
18240	//
18241	//    * BUILTIN_EXPLORER For Android, an app explorer that traverses an Android
18242	//    app, interacting with it and capturing screenshots at the same time.
18243	//
18244	//    * APPIUM_JAVA_JUNIT
18245	//
18246	//    * APPIUM_JAVA_TESTNG
18247	//
18248	//    * APPIUM_PYTHON
18249	//
18250	//    * APPIUM_NODE
18251	//
18252	//    * APPIUM_RUBY
18253	//
18254	//    * APPIUM_WEB_JAVA_JUNIT
18255	//
18256	//    * APPIUM_WEB_JAVA_TESTNG
18257	//
18258	//    * APPIUM_WEB_PYTHON
18259	//
18260	//    * APPIUM_WEB_NODE
18261	//
18262	//    * APPIUM_WEB_RUBY
18263	//
18264	//    * CALABASH
18265	//
18266	//    * INSTRUMENTATION
18267	//
18268	//    * UIAUTOMATION
18269	//
18270	//    * UIAUTOMATOR
18271	//
18272	//    * XCTEST
18273	//
18274	//    * XCTEST_UI
18275	Type *string `locationName:"type" type:"string" enum:"TestType"`
18276}
18277
18278// String returns the string representation
18279func (s Test) String() string {
18280	return awsutil.Prettify(s)
18281}
18282
18283// GoString returns the string representation
18284func (s Test) GoString() string {
18285	return s.String()
18286}
18287
18288// SetArn sets the Arn field's value.
18289func (s *Test) SetArn(v string) *Test {
18290	s.Arn = &v
18291	return s
18292}
18293
18294// SetCounters sets the Counters field's value.
18295func (s *Test) SetCounters(v *Counters) *Test {
18296	s.Counters = v
18297	return s
18298}
18299
18300// SetCreated sets the Created field's value.
18301func (s *Test) SetCreated(v time.Time) *Test {
18302	s.Created = &v
18303	return s
18304}
18305
18306// SetDeviceMinutes sets the DeviceMinutes field's value.
18307func (s *Test) SetDeviceMinutes(v *DeviceMinutes) *Test {
18308	s.DeviceMinutes = v
18309	return s
18310}
18311
18312// SetMessage sets the Message field's value.
18313func (s *Test) SetMessage(v string) *Test {
18314	s.Message = &v
18315	return s
18316}
18317
18318// SetName sets the Name field's value.
18319func (s *Test) SetName(v string) *Test {
18320	s.Name = &v
18321	return s
18322}
18323
18324// SetResult sets the Result field's value.
18325func (s *Test) SetResult(v string) *Test {
18326	s.Result = &v
18327	return s
18328}
18329
18330// SetStarted sets the Started field's value.
18331func (s *Test) SetStarted(v time.Time) *Test {
18332	s.Started = &v
18333	return s
18334}
18335
18336// SetStatus sets the Status field's value.
18337func (s *Test) SetStatus(v string) *Test {
18338	s.Status = &v
18339	return s
18340}
18341
18342// SetStopped sets the Stopped field's value.
18343func (s *Test) SetStopped(v time.Time) *Test {
18344	s.Stopped = &v
18345	return s
18346}
18347
18348// SetType sets the Type field's value.
18349func (s *Test) SetType(v string) *Test {
18350	s.Type = &v
18351	return s
18352}
18353
18354// A Selenium testing project. Projects are used to collect and collate sessions.
18355type TestGridProject struct {
18356	_ struct{} `type:"structure"`
18357
18358	// The ARN for the project.
18359	Arn *string `locationName:"arn" min:"32" type:"string"`
18360
18361	// When the project was created.
18362	Created *time.Time `locationName:"created" type:"timestamp"`
18363
18364	// A human-readable description for the project.
18365	Description *string `locationName:"description" type:"string"`
18366
18367	// A human-readable name for the project.
18368	Name *string `locationName:"name" type:"string"`
18369}
18370
18371// String returns the string representation
18372func (s TestGridProject) String() string {
18373	return awsutil.Prettify(s)
18374}
18375
18376// GoString returns the string representation
18377func (s TestGridProject) GoString() string {
18378	return s.String()
18379}
18380
18381// SetArn sets the Arn field's value.
18382func (s *TestGridProject) SetArn(v string) *TestGridProject {
18383	s.Arn = &v
18384	return s
18385}
18386
18387// SetCreated sets the Created field's value.
18388func (s *TestGridProject) SetCreated(v time.Time) *TestGridProject {
18389	s.Created = &v
18390	return s
18391}
18392
18393// SetDescription sets the Description field's value.
18394func (s *TestGridProject) SetDescription(v string) *TestGridProject {
18395	s.Description = &v
18396	return s
18397}
18398
18399// SetName sets the Name field's value.
18400func (s *TestGridProject) SetName(v string) *TestGridProject {
18401	s.Name = &v
18402	return s
18403}
18404
18405// A TestGridSession is a single instance of a browser launched from the URL
18406// provided by a call to CreateTestGridUrl.
18407type TestGridSession struct {
18408	_ struct{} `type:"structure"`
18409
18410	// The ARN of the session.
18411	Arn *string `locationName:"arn" min:"32" type:"string"`
18412
18413	// The number of billed minutes that were used for this session.
18414	BillingMinutes *float64 `locationName:"billingMinutes" type:"double"`
18415
18416	// The time that the session was started.
18417	Created *time.Time `locationName:"created" type:"timestamp"`
18418
18419	// The time the session ended.
18420	Ended *time.Time `locationName:"ended" type:"timestamp"`
18421
18422	// A JSON object of options and parameters passed to the Selenium WebDriver.
18423	SeleniumProperties *string `locationName:"seleniumProperties" type:"string"`
18424
18425	// The state of the session.
18426	Status *string `locationName:"status" type:"string" enum:"TestGridSessionStatus"`
18427}
18428
18429// String returns the string representation
18430func (s TestGridSession) String() string {
18431	return awsutil.Prettify(s)
18432}
18433
18434// GoString returns the string representation
18435func (s TestGridSession) GoString() string {
18436	return s.String()
18437}
18438
18439// SetArn sets the Arn field's value.
18440func (s *TestGridSession) SetArn(v string) *TestGridSession {
18441	s.Arn = &v
18442	return s
18443}
18444
18445// SetBillingMinutes sets the BillingMinutes field's value.
18446func (s *TestGridSession) SetBillingMinutes(v float64) *TestGridSession {
18447	s.BillingMinutes = &v
18448	return s
18449}
18450
18451// SetCreated sets the Created field's value.
18452func (s *TestGridSession) SetCreated(v time.Time) *TestGridSession {
18453	s.Created = &v
18454	return s
18455}
18456
18457// SetEnded sets the Ended field's value.
18458func (s *TestGridSession) SetEnded(v time.Time) *TestGridSession {
18459	s.Ended = &v
18460	return s
18461}
18462
18463// SetSeleniumProperties sets the SeleniumProperties field's value.
18464func (s *TestGridSession) SetSeleniumProperties(v string) *TestGridSession {
18465	s.SeleniumProperties = &v
18466	return s
18467}
18468
18469// SetStatus sets the Status field's value.
18470func (s *TestGridSession) SetStatus(v string) *TestGridSession {
18471	s.Status = &v
18472	return s
18473}
18474
18475// An action taken by a TestGridSession browser instance.
18476type TestGridSessionAction struct {
18477	_ struct{} `type:"structure"`
18478
18479	// The action taken by the session.
18480	Action *string `locationName:"action" type:"string"`
18481
18482	// The time, in milliseconds, that the action took to complete in the browser.
18483	Duration *int64 `locationName:"duration" type:"long"`
18484
18485	// HTTP method that the browser used to make the request.
18486	RequestMethod *string `locationName:"requestMethod" type:"string"`
18487
18488	// The time that the session invoked the action.
18489	Started *time.Time `locationName:"started" type:"timestamp"`
18490
18491	// HTTP status code returned to the browser when the action was taken.
18492	StatusCode *string `locationName:"statusCode" type:"string"`
18493}
18494
18495// String returns the string representation
18496func (s TestGridSessionAction) String() string {
18497	return awsutil.Prettify(s)
18498}
18499
18500// GoString returns the string representation
18501func (s TestGridSessionAction) GoString() string {
18502	return s.String()
18503}
18504
18505// SetAction sets the Action field's value.
18506func (s *TestGridSessionAction) SetAction(v string) *TestGridSessionAction {
18507	s.Action = &v
18508	return s
18509}
18510
18511// SetDuration sets the Duration field's value.
18512func (s *TestGridSessionAction) SetDuration(v int64) *TestGridSessionAction {
18513	s.Duration = &v
18514	return s
18515}
18516
18517// SetRequestMethod sets the RequestMethod field's value.
18518func (s *TestGridSessionAction) SetRequestMethod(v string) *TestGridSessionAction {
18519	s.RequestMethod = &v
18520	return s
18521}
18522
18523// SetStarted sets the Started field's value.
18524func (s *TestGridSessionAction) SetStarted(v time.Time) *TestGridSessionAction {
18525	s.Started = &v
18526	return s
18527}
18528
18529// SetStatusCode sets the StatusCode field's value.
18530func (s *TestGridSessionAction) SetStatusCode(v string) *TestGridSessionAction {
18531	s.StatusCode = &v
18532	return s
18533}
18534
18535// Artifacts are video and other files that are produced in the process of running
18536// a browser in an automated context.
18537//
18538// Video elements might be broken up into multiple artifacts as they grow in
18539// size during creation.
18540type TestGridSessionArtifact struct {
18541	_ struct{} `type:"structure"`
18542
18543	// The file name of the artifact.
18544	Filename *string `locationName:"filename" type:"string"`
18545
18546	// The kind of artifact.
18547	Type *string `locationName:"type" type:"string" enum:"TestGridSessionArtifactType"`
18548
18549	// A semi-stable URL to the content of the object.
18550	Url *string `locationName:"url" type:"string"`
18551}
18552
18553// String returns the string representation
18554func (s TestGridSessionArtifact) String() string {
18555	return awsutil.Prettify(s)
18556}
18557
18558// GoString returns the string representation
18559func (s TestGridSessionArtifact) GoString() string {
18560	return s.String()
18561}
18562
18563// SetFilename sets the Filename field's value.
18564func (s *TestGridSessionArtifact) SetFilename(v string) *TestGridSessionArtifact {
18565	s.Filename = &v
18566	return s
18567}
18568
18569// SetType sets the Type field's value.
18570func (s *TestGridSessionArtifact) SetType(v string) *TestGridSessionArtifact {
18571	s.Type = &v
18572	return s
18573}
18574
18575// SetUrl sets the Url field's value.
18576func (s *TestGridSessionArtifact) SetUrl(v string) *TestGridSessionArtifact {
18577	s.Url = &v
18578	return s
18579}
18580
18581// The list of tags on the repository is over the limit. The maximum number
18582// of tags that can be applied to a repository is 50.
18583type TooManyTagsException struct {
18584	_            struct{}                  `type:"structure"`
18585	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
18586
18587	Message_ *string `locationName:"message" type:"string"`
18588
18589	ResourceName *string `locationName:"resourceName" min:"32" type:"string"`
18590}
18591
18592// String returns the string representation
18593func (s TooManyTagsException) String() string {
18594	return awsutil.Prettify(s)
18595}
18596
18597// GoString returns the string representation
18598func (s TooManyTagsException) GoString() string {
18599	return s.String()
18600}
18601
18602func newErrorTooManyTagsException(v protocol.ResponseMetadata) error {
18603	return &TooManyTagsException{
18604		RespMetadata: v,
18605	}
18606}
18607
18608// Code returns the exception type name.
18609func (s *TooManyTagsException) Code() string {
18610	return "TooManyTagsException"
18611}
18612
18613// Message returns the exception's message.
18614func (s *TooManyTagsException) Message() string {
18615	if s.Message_ != nil {
18616		return *s.Message_
18617	}
18618	return ""
18619}
18620
18621// OrigErr always returns nil, satisfies awserr.Error interface.
18622func (s *TooManyTagsException) OrigErr() error {
18623	return nil
18624}
18625
18626func (s *TooManyTagsException) Error() string {
18627	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
18628}
18629
18630// Status code returns the HTTP status code for the request's response error.
18631func (s *TooManyTagsException) StatusCode() int {
18632	return s.RespMetadata.StatusCode
18633}
18634
18635// RequestID returns the service's response RequestID for request.
18636func (s *TooManyTagsException) RequestID() string {
18637	return s.RespMetadata.RequestID
18638}
18639
18640// Represents information about free trial device minutes for an AWS account.
18641type TrialMinutes struct {
18642	_ struct{} `type:"structure"`
18643
18644	// The number of free trial minutes remaining in the account.
18645	Remaining *float64 `locationName:"remaining" type:"double"`
18646
18647	// The total number of free trial minutes that the account started with.
18648	Total *float64 `locationName:"total" type:"double"`
18649}
18650
18651// String returns the string representation
18652func (s TrialMinutes) String() string {
18653	return awsutil.Prettify(s)
18654}
18655
18656// GoString returns the string representation
18657func (s TrialMinutes) GoString() string {
18658	return s.String()
18659}
18660
18661// SetRemaining sets the Remaining field's value.
18662func (s *TrialMinutes) SetRemaining(v float64) *TrialMinutes {
18663	s.Remaining = &v
18664	return s
18665}
18666
18667// SetTotal sets the Total field's value.
18668func (s *TrialMinutes) SetTotal(v float64) *TrialMinutes {
18669	s.Total = &v
18670	return s
18671}
18672
18673// A collection of one or more problems, grouped by their result.
18674type UniqueProblem struct {
18675	_ struct{} `type:"structure"`
18676
18677	// A message about the unique problems' result.
18678	Message *string `locationName:"message" type:"string"`
18679
18680	// Information about the problems.
18681	Problems []*Problem `locationName:"problems" type:"list"`
18682}
18683
18684// String returns the string representation
18685func (s UniqueProblem) String() string {
18686	return awsutil.Prettify(s)
18687}
18688
18689// GoString returns the string representation
18690func (s UniqueProblem) GoString() string {
18691	return s.String()
18692}
18693
18694// SetMessage sets the Message field's value.
18695func (s *UniqueProblem) SetMessage(v string) *UniqueProblem {
18696	s.Message = &v
18697	return s
18698}
18699
18700// SetProblems sets the Problems field's value.
18701func (s *UniqueProblem) SetProblems(v []*Problem) *UniqueProblem {
18702	s.Problems = v
18703	return s
18704}
18705
18706type UntagResourceInput struct {
18707	_ struct{} `type:"structure"`
18708
18709	// The Amazon Resource Name (ARN) of the resource or resources from which to
18710	// delete tags. You can associate tags with the following Device Farm resources:
18711	// PROJECT, RUN, NETWORK_PROFILE, INSTANCE_PROFILE, DEVICE_INSTANCE, SESSION,
18712	// DEVICE_POOL, DEVICE, and VPCE_CONFIGURATION.
18713	//
18714	// ResourceARN is a required field
18715	ResourceARN *string `min:"32" type:"string" required:"true"`
18716
18717	// The keys of the tags to be removed.
18718	//
18719	// TagKeys is a required field
18720	TagKeys []*string `type:"list" required:"true"`
18721}
18722
18723// String returns the string representation
18724func (s UntagResourceInput) String() string {
18725	return awsutil.Prettify(s)
18726}
18727
18728// GoString returns the string representation
18729func (s UntagResourceInput) GoString() string {
18730	return s.String()
18731}
18732
18733// Validate inspects the fields of the type to determine if they are valid.
18734func (s *UntagResourceInput) Validate() error {
18735	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
18736	if s.ResourceARN == nil {
18737		invalidParams.Add(request.NewErrParamRequired("ResourceARN"))
18738	}
18739	if s.ResourceARN != nil && len(*s.ResourceARN) < 32 {
18740		invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 32))
18741	}
18742	if s.TagKeys == nil {
18743		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
18744	}
18745
18746	if invalidParams.Len() > 0 {
18747		return invalidParams
18748	}
18749	return nil
18750}
18751
18752// SetResourceARN sets the ResourceARN field's value.
18753func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput {
18754	s.ResourceARN = &v
18755	return s
18756}
18757
18758// SetTagKeys sets the TagKeys field's value.
18759func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
18760	s.TagKeys = v
18761	return s
18762}
18763
18764type UntagResourceOutput struct {
18765	_ struct{} `type:"structure"`
18766}
18767
18768// String returns the string representation
18769func (s UntagResourceOutput) String() string {
18770	return awsutil.Prettify(s)
18771}
18772
18773// GoString returns the string representation
18774func (s UntagResourceOutput) GoString() string {
18775	return s.String()
18776}
18777
18778type UpdateDeviceInstanceInput struct {
18779	_ struct{} `type:"structure"`
18780
18781	// The Amazon Resource Name (ARN) of the device instance.
18782	//
18783	// Arn is a required field
18784	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
18785
18786	// An array of strings that you want to associate with the device instance.
18787	Labels []*string `locationName:"labels" type:"list"`
18788
18789	// The ARN of the profile that you want to associate with the device instance.
18790	ProfileArn *string `locationName:"profileArn" min:"32" type:"string"`
18791}
18792
18793// String returns the string representation
18794func (s UpdateDeviceInstanceInput) String() string {
18795	return awsutil.Prettify(s)
18796}
18797
18798// GoString returns the string representation
18799func (s UpdateDeviceInstanceInput) GoString() string {
18800	return s.String()
18801}
18802
18803// Validate inspects the fields of the type to determine if they are valid.
18804func (s *UpdateDeviceInstanceInput) Validate() error {
18805	invalidParams := request.ErrInvalidParams{Context: "UpdateDeviceInstanceInput"}
18806	if s.Arn == nil {
18807		invalidParams.Add(request.NewErrParamRequired("Arn"))
18808	}
18809	if s.Arn != nil && len(*s.Arn) < 32 {
18810		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
18811	}
18812	if s.ProfileArn != nil && len(*s.ProfileArn) < 32 {
18813		invalidParams.Add(request.NewErrParamMinLen("ProfileArn", 32))
18814	}
18815
18816	if invalidParams.Len() > 0 {
18817		return invalidParams
18818	}
18819	return nil
18820}
18821
18822// SetArn sets the Arn field's value.
18823func (s *UpdateDeviceInstanceInput) SetArn(v string) *UpdateDeviceInstanceInput {
18824	s.Arn = &v
18825	return s
18826}
18827
18828// SetLabels sets the Labels field's value.
18829func (s *UpdateDeviceInstanceInput) SetLabels(v []*string) *UpdateDeviceInstanceInput {
18830	s.Labels = v
18831	return s
18832}
18833
18834// SetProfileArn sets the ProfileArn field's value.
18835func (s *UpdateDeviceInstanceInput) SetProfileArn(v string) *UpdateDeviceInstanceInput {
18836	s.ProfileArn = &v
18837	return s
18838}
18839
18840type UpdateDeviceInstanceOutput struct {
18841	_ struct{} `type:"structure"`
18842
18843	// An object that contains information about your device instance.
18844	DeviceInstance *DeviceInstance `locationName:"deviceInstance" type:"structure"`
18845}
18846
18847// String returns the string representation
18848func (s UpdateDeviceInstanceOutput) String() string {
18849	return awsutil.Prettify(s)
18850}
18851
18852// GoString returns the string representation
18853func (s UpdateDeviceInstanceOutput) GoString() string {
18854	return s.String()
18855}
18856
18857// SetDeviceInstance sets the DeviceInstance field's value.
18858func (s *UpdateDeviceInstanceOutput) SetDeviceInstance(v *DeviceInstance) *UpdateDeviceInstanceOutput {
18859	s.DeviceInstance = v
18860	return s
18861}
18862
18863// Represents a request to the update device pool operation.
18864type UpdateDevicePoolInput struct {
18865	_ struct{} `type:"structure"`
18866
18867	// The Amazon Resource Name (ARN) of the Device Farm device pool to update.
18868	//
18869	// Arn is a required field
18870	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
18871
18872	// Sets whether the maxDevices parameter applies to your device pool. If you
18873	// set this parameter to true, the maxDevices parameter does not apply, and
18874	// Device Farm does not limit the number of devices that it adds to your device
18875	// pool. In this case, Device Farm adds all available devices that meet the
18876	// criteria specified in the rules parameter.
18877	//
18878	// If you use this parameter in your request, you cannot use the maxDevices
18879	// parameter in the same request.
18880	ClearMaxDevices *bool `locationName:"clearMaxDevices" type:"boolean"`
18881
18882	// A description of the device pool to update.
18883	Description *string `locationName:"description" type:"string"`
18884
18885	// The number of devices that Device Farm can add to your device pool. Device
18886	// Farm adds devices that are available and that meet the criteria that you
18887	// assign for the rules parameter. Depending on how many devices meet these
18888	// constraints, your device pool might contain fewer devices than the value
18889	// for this parameter.
18890	//
18891	// By specifying the maximum number of devices, you can control the costs that
18892	// you incur by running tests.
18893	//
18894	// If you use this parameter in your request, you cannot use the clearMaxDevices
18895	// parameter in the same request.
18896	MaxDevices *int64 `locationName:"maxDevices" type:"integer"`
18897
18898	// A string that represents the name of the device pool to update.
18899	Name *string `locationName:"name" type:"string"`
18900
18901	// Represents the rules to modify for the device pool. Updating rules is optional.
18902	// If you update rules for your request, the update replaces the existing rules.
18903	Rules []*Rule `locationName:"rules" type:"list"`
18904}
18905
18906// String returns the string representation
18907func (s UpdateDevicePoolInput) String() string {
18908	return awsutil.Prettify(s)
18909}
18910
18911// GoString returns the string representation
18912func (s UpdateDevicePoolInput) GoString() string {
18913	return s.String()
18914}
18915
18916// Validate inspects the fields of the type to determine if they are valid.
18917func (s *UpdateDevicePoolInput) Validate() error {
18918	invalidParams := request.ErrInvalidParams{Context: "UpdateDevicePoolInput"}
18919	if s.Arn == nil {
18920		invalidParams.Add(request.NewErrParamRequired("Arn"))
18921	}
18922	if s.Arn != nil && len(*s.Arn) < 32 {
18923		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
18924	}
18925
18926	if invalidParams.Len() > 0 {
18927		return invalidParams
18928	}
18929	return nil
18930}
18931
18932// SetArn sets the Arn field's value.
18933func (s *UpdateDevicePoolInput) SetArn(v string) *UpdateDevicePoolInput {
18934	s.Arn = &v
18935	return s
18936}
18937
18938// SetClearMaxDevices sets the ClearMaxDevices field's value.
18939func (s *UpdateDevicePoolInput) SetClearMaxDevices(v bool) *UpdateDevicePoolInput {
18940	s.ClearMaxDevices = &v
18941	return s
18942}
18943
18944// SetDescription sets the Description field's value.
18945func (s *UpdateDevicePoolInput) SetDescription(v string) *UpdateDevicePoolInput {
18946	s.Description = &v
18947	return s
18948}
18949
18950// SetMaxDevices sets the MaxDevices field's value.
18951func (s *UpdateDevicePoolInput) SetMaxDevices(v int64) *UpdateDevicePoolInput {
18952	s.MaxDevices = &v
18953	return s
18954}
18955
18956// SetName sets the Name field's value.
18957func (s *UpdateDevicePoolInput) SetName(v string) *UpdateDevicePoolInput {
18958	s.Name = &v
18959	return s
18960}
18961
18962// SetRules sets the Rules field's value.
18963func (s *UpdateDevicePoolInput) SetRules(v []*Rule) *UpdateDevicePoolInput {
18964	s.Rules = v
18965	return s
18966}
18967
18968// Represents the result of an update device pool request.
18969type UpdateDevicePoolOutput struct {
18970	_ struct{} `type:"structure"`
18971
18972	// The device pool you just updated.
18973	DevicePool *DevicePool `locationName:"devicePool" type:"structure"`
18974}
18975
18976// String returns the string representation
18977func (s UpdateDevicePoolOutput) String() string {
18978	return awsutil.Prettify(s)
18979}
18980
18981// GoString returns the string representation
18982func (s UpdateDevicePoolOutput) GoString() string {
18983	return s.String()
18984}
18985
18986// SetDevicePool sets the DevicePool field's value.
18987func (s *UpdateDevicePoolOutput) SetDevicePool(v *DevicePool) *UpdateDevicePoolOutput {
18988	s.DevicePool = v
18989	return s
18990}
18991
18992type UpdateInstanceProfileInput struct {
18993	_ struct{} `type:"structure"`
18994
18995	// The Amazon Resource Name (ARN) of the instance profile.
18996	//
18997	// Arn is a required field
18998	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
18999
19000	// The updated description for your instance profile.
19001	Description *string `locationName:"description" type:"string"`
19002
19003	// An array of strings that specifies the list of app packages that should not
19004	// be cleaned up from the device after a test run is over.
19005	//
19006	// The list of packages is only considered if you set packageCleanup to true.
19007	ExcludeAppPackagesFromCleanup []*string `locationName:"excludeAppPackagesFromCleanup" type:"list"`
19008
19009	// The updated name for your instance profile.
19010	Name *string `locationName:"name" type:"string"`
19011
19012	// The updated choice for whether you want to specify package cleanup. The default
19013	// value is false for private devices.
19014	PackageCleanup *bool `locationName:"packageCleanup" type:"boolean"`
19015
19016	// The updated choice for whether you want to reboot the device after use. The
19017	// default value is true.
19018	RebootAfterUse *bool `locationName:"rebootAfterUse" type:"boolean"`
19019}
19020
19021// String returns the string representation
19022func (s UpdateInstanceProfileInput) String() string {
19023	return awsutil.Prettify(s)
19024}
19025
19026// GoString returns the string representation
19027func (s UpdateInstanceProfileInput) GoString() string {
19028	return s.String()
19029}
19030
19031// Validate inspects the fields of the type to determine if they are valid.
19032func (s *UpdateInstanceProfileInput) Validate() error {
19033	invalidParams := request.ErrInvalidParams{Context: "UpdateInstanceProfileInput"}
19034	if s.Arn == nil {
19035		invalidParams.Add(request.NewErrParamRequired("Arn"))
19036	}
19037	if s.Arn != nil && len(*s.Arn) < 32 {
19038		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
19039	}
19040
19041	if invalidParams.Len() > 0 {
19042		return invalidParams
19043	}
19044	return nil
19045}
19046
19047// SetArn sets the Arn field's value.
19048func (s *UpdateInstanceProfileInput) SetArn(v string) *UpdateInstanceProfileInput {
19049	s.Arn = &v
19050	return s
19051}
19052
19053// SetDescription sets the Description field's value.
19054func (s *UpdateInstanceProfileInput) SetDescription(v string) *UpdateInstanceProfileInput {
19055	s.Description = &v
19056	return s
19057}
19058
19059// SetExcludeAppPackagesFromCleanup sets the ExcludeAppPackagesFromCleanup field's value.
19060func (s *UpdateInstanceProfileInput) SetExcludeAppPackagesFromCleanup(v []*string) *UpdateInstanceProfileInput {
19061	s.ExcludeAppPackagesFromCleanup = v
19062	return s
19063}
19064
19065// SetName sets the Name field's value.
19066func (s *UpdateInstanceProfileInput) SetName(v string) *UpdateInstanceProfileInput {
19067	s.Name = &v
19068	return s
19069}
19070
19071// SetPackageCleanup sets the PackageCleanup field's value.
19072func (s *UpdateInstanceProfileInput) SetPackageCleanup(v bool) *UpdateInstanceProfileInput {
19073	s.PackageCleanup = &v
19074	return s
19075}
19076
19077// SetRebootAfterUse sets the RebootAfterUse field's value.
19078func (s *UpdateInstanceProfileInput) SetRebootAfterUse(v bool) *UpdateInstanceProfileInput {
19079	s.RebootAfterUse = &v
19080	return s
19081}
19082
19083type UpdateInstanceProfileOutput struct {
19084	_ struct{} `type:"structure"`
19085
19086	// An object that contains information about your instance profile.
19087	InstanceProfile *InstanceProfile `locationName:"instanceProfile" type:"structure"`
19088}
19089
19090// String returns the string representation
19091func (s UpdateInstanceProfileOutput) String() string {
19092	return awsutil.Prettify(s)
19093}
19094
19095// GoString returns the string representation
19096func (s UpdateInstanceProfileOutput) GoString() string {
19097	return s.String()
19098}
19099
19100// SetInstanceProfile sets the InstanceProfile field's value.
19101func (s *UpdateInstanceProfileOutput) SetInstanceProfile(v *InstanceProfile) *UpdateInstanceProfileOutput {
19102	s.InstanceProfile = v
19103	return s
19104}
19105
19106type UpdateNetworkProfileInput struct {
19107	_ struct{} `type:"structure"`
19108
19109	// The Amazon Resource Name (ARN) of the project for which you want to update
19110	// network profile settings.
19111	//
19112	// Arn is a required field
19113	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
19114
19115	// The description of the network profile about which you are returning information.
19116	Description *string `locationName:"description" type:"string"`
19117
19118	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
19119	DownlinkBandwidthBits *int64 `locationName:"downlinkBandwidthBits" type:"long"`
19120
19121	// Delay time for all packets to destination in milliseconds as an integer from
19122	// 0 to 2000.
19123	DownlinkDelayMs *int64 `locationName:"downlinkDelayMs" type:"long"`
19124
19125	// Time variation in the delay of received packets in milliseconds as an integer
19126	// from 0 to 2000.
19127	DownlinkJitterMs *int64 `locationName:"downlinkJitterMs" type:"long"`
19128
19129	// Proportion of received packets that fail to arrive from 0 to 100 percent.
19130	DownlinkLossPercent *int64 `locationName:"downlinkLossPercent" type:"integer"`
19131
19132	// The name of the network profile about which you are returning information.
19133	Name *string `locationName:"name" type:"string"`
19134
19135	// The type of network profile to return information about. Valid values are
19136	// listed here.
19137	Type *string `locationName:"type" type:"string" enum:"NetworkProfileType"`
19138
19139	// The data throughput rate in bits per second, as an integer from 0 to 104857600.
19140	UplinkBandwidthBits *int64 `locationName:"uplinkBandwidthBits" type:"long"`
19141
19142	// Delay time for all packets to destination in milliseconds as an integer from
19143	// 0 to 2000.
19144	UplinkDelayMs *int64 `locationName:"uplinkDelayMs" type:"long"`
19145
19146	// Time variation in the delay of received packets in milliseconds as an integer
19147	// from 0 to 2000.
19148	UplinkJitterMs *int64 `locationName:"uplinkJitterMs" type:"long"`
19149
19150	// Proportion of transmitted packets that fail to arrive from 0 to 100 percent.
19151	UplinkLossPercent *int64 `locationName:"uplinkLossPercent" type:"integer"`
19152}
19153
19154// String returns the string representation
19155func (s UpdateNetworkProfileInput) String() string {
19156	return awsutil.Prettify(s)
19157}
19158
19159// GoString returns the string representation
19160func (s UpdateNetworkProfileInput) GoString() string {
19161	return s.String()
19162}
19163
19164// Validate inspects the fields of the type to determine if they are valid.
19165func (s *UpdateNetworkProfileInput) Validate() error {
19166	invalidParams := request.ErrInvalidParams{Context: "UpdateNetworkProfileInput"}
19167	if s.Arn == nil {
19168		invalidParams.Add(request.NewErrParamRequired("Arn"))
19169	}
19170	if s.Arn != nil && len(*s.Arn) < 32 {
19171		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
19172	}
19173
19174	if invalidParams.Len() > 0 {
19175		return invalidParams
19176	}
19177	return nil
19178}
19179
19180// SetArn sets the Arn field's value.
19181func (s *UpdateNetworkProfileInput) SetArn(v string) *UpdateNetworkProfileInput {
19182	s.Arn = &v
19183	return s
19184}
19185
19186// SetDescription sets the Description field's value.
19187func (s *UpdateNetworkProfileInput) SetDescription(v string) *UpdateNetworkProfileInput {
19188	s.Description = &v
19189	return s
19190}
19191
19192// SetDownlinkBandwidthBits sets the DownlinkBandwidthBits field's value.
19193func (s *UpdateNetworkProfileInput) SetDownlinkBandwidthBits(v int64) *UpdateNetworkProfileInput {
19194	s.DownlinkBandwidthBits = &v
19195	return s
19196}
19197
19198// SetDownlinkDelayMs sets the DownlinkDelayMs field's value.
19199func (s *UpdateNetworkProfileInput) SetDownlinkDelayMs(v int64) *UpdateNetworkProfileInput {
19200	s.DownlinkDelayMs = &v
19201	return s
19202}
19203
19204// SetDownlinkJitterMs sets the DownlinkJitterMs field's value.
19205func (s *UpdateNetworkProfileInput) SetDownlinkJitterMs(v int64) *UpdateNetworkProfileInput {
19206	s.DownlinkJitterMs = &v
19207	return s
19208}
19209
19210// SetDownlinkLossPercent sets the DownlinkLossPercent field's value.
19211func (s *UpdateNetworkProfileInput) SetDownlinkLossPercent(v int64) *UpdateNetworkProfileInput {
19212	s.DownlinkLossPercent = &v
19213	return s
19214}
19215
19216// SetName sets the Name field's value.
19217func (s *UpdateNetworkProfileInput) SetName(v string) *UpdateNetworkProfileInput {
19218	s.Name = &v
19219	return s
19220}
19221
19222// SetType sets the Type field's value.
19223func (s *UpdateNetworkProfileInput) SetType(v string) *UpdateNetworkProfileInput {
19224	s.Type = &v
19225	return s
19226}
19227
19228// SetUplinkBandwidthBits sets the UplinkBandwidthBits field's value.
19229func (s *UpdateNetworkProfileInput) SetUplinkBandwidthBits(v int64) *UpdateNetworkProfileInput {
19230	s.UplinkBandwidthBits = &v
19231	return s
19232}
19233
19234// SetUplinkDelayMs sets the UplinkDelayMs field's value.
19235func (s *UpdateNetworkProfileInput) SetUplinkDelayMs(v int64) *UpdateNetworkProfileInput {
19236	s.UplinkDelayMs = &v
19237	return s
19238}
19239
19240// SetUplinkJitterMs sets the UplinkJitterMs field's value.
19241func (s *UpdateNetworkProfileInput) SetUplinkJitterMs(v int64) *UpdateNetworkProfileInput {
19242	s.UplinkJitterMs = &v
19243	return s
19244}
19245
19246// SetUplinkLossPercent sets the UplinkLossPercent field's value.
19247func (s *UpdateNetworkProfileInput) SetUplinkLossPercent(v int64) *UpdateNetworkProfileInput {
19248	s.UplinkLossPercent = &v
19249	return s
19250}
19251
19252type UpdateNetworkProfileOutput struct {
19253	_ struct{} `type:"structure"`
19254
19255	// A list of the available network profiles.
19256	NetworkProfile *NetworkProfile `locationName:"networkProfile" type:"structure"`
19257}
19258
19259// String returns the string representation
19260func (s UpdateNetworkProfileOutput) String() string {
19261	return awsutil.Prettify(s)
19262}
19263
19264// GoString returns the string representation
19265func (s UpdateNetworkProfileOutput) GoString() string {
19266	return s.String()
19267}
19268
19269// SetNetworkProfile sets the NetworkProfile field's value.
19270func (s *UpdateNetworkProfileOutput) SetNetworkProfile(v *NetworkProfile) *UpdateNetworkProfileOutput {
19271	s.NetworkProfile = v
19272	return s
19273}
19274
19275// Represents a request to the update project operation.
19276type UpdateProjectInput struct {
19277	_ struct{} `type:"structure"`
19278
19279	// The Amazon Resource Name (ARN) of the project whose name to update.
19280	//
19281	// Arn is a required field
19282	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
19283
19284	// The number of minutes a test run in the project executes before it times
19285	// out.
19286	DefaultJobTimeoutMinutes *int64 `locationName:"defaultJobTimeoutMinutes" type:"integer"`
19287
19288	// A string that represents the new name of the project that you are updating.
19289	Name *string `locationName:"name" type:"string"`
19290}
19291
19292// String returns the string representation
19293func (s UpdateProjectInput) String() string {
19294	return awsutil.Prettify(s)
19295}
19296
19297// GoString returns the string representation
19298func (s UpdateProjectInput) GoString() string {
19299	return s.String()
19300}
19301
19302// Validate inspects the fields of the type to determine if they are valid.
19303func (s *UpdateProjectInput) Validate() error {
19304	invalidParams := request.ErrInvalidParams{Context: "UpdateProjectInput"}
19305	if s.Arn == nil {
19306		invalidParams.Add(request.NewErrParamRequired("Arn"))
19307	}
19308	if s.Arn != nil && len(*s.Arn) < 32 {
19309		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
19310	}
19311
19312	if invalidParams.Len() > 0 {
19313		return invalidParams
19314	}
19315	return nil
19316}
19317
19318// SetArn sets the Arn field's value.
19319func (s *UpdateProjectInput) SetArn(v string) *UpdateProjectInput {
19320	s.Arn = &v
19321	return s
19322}
19323
19324// SetDefaultJobTimeoutMinutes sets the DefaultJobTimeoutMinutes field's value.
19325func (s *UpdateProjectInput) SetDefaultJobTimeoutMinutes(v int64) *UpdateProjectInput {
19326	s.DefaultJobTimeoutMinutes = &v
19327	return s
19328}
19329
19330// SetName sets the Name field's value.
19331func (s *UpdateProjectInput) SetName(v string) *UpdateProjectInput {
19332	s.Name = &v
19333	return s
19334}
19335
19336// Represents the result of an update project request.
19337type UpdateProjectOutput struct {
19338	_ struct{} `type:"structure"`
19339
19340	// The project to update.
19341	Project *Project `locationName:"project" type:"structure"`
19342}
19343
19344// String returns the string representation
19345func (s UpdateProjectOutput) String() string {
19346	return awsutil.Prettify(s)
19347}
19348
19349// GoString returns the string representation
19350func (s UpdateProjectOutput) GoString() string {
19351	return s.String()
19352}
19353
19354// SetProject sets the Project field's value.
19355func (s *UpdateProjectOutput) SetProject(v *Project) *UpdateProjectOutput {
19356	s.Project = v
19357	return s
19358}
19359
19360type UpdateTestGridProjectInput struct {
19361	_ struct{} `type:"structure"`
19362
19363	// Human-readable description for the project.
19364	Description *string `locationName:"description" min:"1" type:"string"`
19365
19366	// Human-readable name for the project.
19367	Name *string `locationName:"name" min:"1" type:"string"`
19368
19369	// ARN of the project to update.
19370	//
19371	// ProjectArn is a required field
19372	ProjectArn *string `locationName:"projectArn" min:"32" type:"string" required:"true"`
19373}
19374
19375// String returns the string representation
19376func (s UpdateTestGridProjectInput) String() string {
19377	return awsutil.Prettify(s)
19378}
19379
19380// GoString returns the string representation
19381func (s UpdateTestGridProjectInput) GoString() string {
19382	return s.String()
19383}
19384
19385// Validate inspects the fields of the type to determine if they are valid.
19386func (s *UpdateTestGridProjectInput) Validate() error {
19387	invalidParams := request.ErrInvalidParams{Context: "UpdateTestGridProjectInput"}
19388	if s.Description != nil && len(*s.Description) < 1 {
19389		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
19390	}
19391	if s.Name != nil && len(*s.Name) < 1 {
19392		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
19393	}
19394	if s.ProjectArn == nil {
19395		invalidParams.Add(request.NewErrParamRequired("ProjectArn"))
19396	}
19397	if s.ProjectArn != nil && len(*s.ProjectArn) < 32 {
19398		invalidParams.Add(request.NewErrParamMinLen("ProjectArn", 32))
19399	}
19400
19401	if invalidParams.Len() > 0 {
19402		return invalidParams
19403	}
19404	return nil
19405}
19406
19407// SetDescription sets the Description field's value.
19408func (s *UpdateTestGridProjectInput) SetDescription(v string) *UpdateTestGridProjectInput {
19409	s.Description = &v
19410	return s
19411}
19412
19413// SetName sets the Name field's value.
19414func (s *UpdateTestGridProjectInput) SetName(v string) *UpdateTestGridProjectInput {
19415	s.Name = &v
19416	return s
19417}
19418
19419// SetProjectArn sets the ProjectArn field's value.
19420func (s *UpdateTestGridProjectInput) SetProjectArn(v string) *UpdateTestGridProjectInput {
19421	s.ProjectArn = &v
19422	return s
19423}
19424
19425type UpdateTestGridProjectOutput struct {
19426	_ struct{} `type:"structure"`
19427
19428	// The project, including updated information.
19429	TestGridProject *TestGridProject `locationName:"testGridProject" type:"structure"`
19430}
19431
19432// String returns the string representation
19433func (s UpdateTestGridProjectOutput) String() string {
19434	return awsutil.Prettify(s)
19435}
19436
19437// GoString returns the string representation
19438func (s UpdateTestGridProjectOutput) GoString() string {
19439	return s.String()
19440}
19441
19442// SetTestGridProject sets the TestGridProject field's value.
19443func (s *UpdateTestGridProjectOutput) SetTestGridProject(v *TestGridProject) *UpdateTestGridProjectOutput {
19444	s.TestGridProject = v
19445	return s
19446}
19447
19448type UpdateUploadInput struct {
19449	_ struct{} `type:"structure"`
19450
19451	// The Amazon Resource Name (ARN) of the uploaded test spec.
19452	//
19453	// Arn is a required field
19454	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
19455
19456	// The upload's content type (for example, application/x-yaml).
19457	ContentType *string `locationName:"contentType" type:"string"`
19458
19459	// Set to true if the YAML file has changed and must be updated. Otherwise,
19460	// set to false.
19461	EditContent *bool `locationName:"editContent" type:"boolean"`
19462
19463	// The upload's test spec file name. The name must not contain any forward slashes
19464	// (/). The test spec file name must end with the .yaml or .yml file extension.
19465	Name *string `locationName:"name" type:"string"`
19466}
19467
19468// String returns the string representation
19469func (s UpdateUploadInput) String() string {
19470	return awsutil.Prettify(s)
19471}
19472
19473// GoString returns the string representation
19474func (s UpdateUploadInput) GoString() string {
19475	return s.String()
19476}
19477
19478// Validate inspects the fields of the type to determine if they are valid.
19479func (s *UpdateUploadInput) Validate() error {
19480	invalidParams := request.ErrInvalidParams{Context: "UpdateUploadInput"}
19481	if s.Arn == nil {
19482		invalidParams.Add(request.NewErrParamRequired("Arn"))
19483	}
19484	if s.Arn != nil && len(*s.Arn) < 32 {
19485		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
19486	}
19487
19488	if invalidParams.Len() > 0 {
19489		return invalidParams
19490	}
19491	return nil
19492}
19493
19494// SetArn sets the Arn field's value.
19495func (s *UpdateUploadInput) SetArn(v string) *UpdateUploadInput {
19496	s.Arn = &v
19497	return s
19498}
19499
19500// SetContentType sets the ContentType field's value.
19501func (s *UpdateUploadInput) SetContentType(v string) *UpdateUploadInput {
19502	s.ContentType = &v
19503	return s
19504}
19505
19506// SetEditContent sets the EditContent field's value.
19507func (s *UpdateUploadInput) SetEditContent(v bool) *UpdateUploadInput {
19508	s.EditContent = &v
19509	return s
19510}
19511
19512// SetName sets the Name field's value.
19513func (s *UpdateUploadInput) SetName(v string) *UpdateUploadInput {
19514	s.Name = &v
19515	return s
19516}
19517
19518type UpdateUploadOutput struct {
19519	_ struct{} `type:"structure"`
19520
19521	// A test spec uploaded to Device Farm.
19522	Upload *Upload `locationName:"upload" type:"structure"`
19523}
19524
19525// String returns the string representation
19526func (s UpdateUploadOutput) String() string {
19527	return awsutil.Prettify(s)
19528}
19529
19530// GoString returns the string representation
19531func (s UpdateUploadOutput) GoString() string {
19532	return s.String()
19533}
19534
19535// SetUpload sets the Upload field's value.
19536func (s *UpdateUploadOutput) SetUpload(v *Upload) *UpdateUploadOutput {
19537	s.Upload = v
19538	return s
19539}
19540
19541type UpdateVPCEConfigurationInput struct {
19542	_ struct{} `type:"structure"`
19543
19544	// The Amazon Resource Name (ARN) of the VPC endpoint configuration you want
19545	// to update.
19546	//
19547	// Arn is a required field
19548	Arn *string `locationName:"arn" min:"32" type:"string" required:"true"`
19549
19550	// The DNS (domain) name used to connect to your private service in your VPC.
19551	// The DNS name must not already be in use on the internet.
19552	ServiceDnsName *string `locationName:"serviceDnsName" type:"string"`
19553
19554	// An optional description that provides details about your VPC endpoint configuration.
19555	VpceConfigurationDescription *string `locationName:"vpceConfigurationDescription" type:"string"`
19556
19557	// The friendly name you give to your VPC endpoint configuration to manage your
19558	// configurations more easily.
19559	VpceConfigurationName *string `locationName:"vpceConfigurationName" type:"string"`
19560
19561	// The name of the VPC endpoint service running in your AWS account that you
19562	// want Device Farm to test.
19563	VpceServiceName *string `locationName:"vpceServiceName" type:"string"`
19564}
19565
19566// String returns the string representation
19567func (s UpdateVPCEConfigurationInput) String() string {
19568	return awsutil.Prettify(s)
19569}
19570
19571// GoString returns the string representation
19572func (s UpdateVPCEConfigurationInput) GoString() string {
19573	return s.String()
19574}
19575
19576// Validate inspects the fields of the type to determine if they are valid.
19577func (s *UpdateVPCEConfigurationInput) Validate() error {
19578	invalidParams := request.ErrInvalidParams{Context: "UpdateVPCEConfigurationInput"}
19579	if s.Arn == nil {
19580		invalidParams.Add(request.NewErrParamRequired("Arn"))
19581	}
19582	if s.Arn != nil && len(*s.Arn) < 32 {
19583		invalidParams.Add(request.NewErrParamMinLen("Arn", 32))
19584	}
19585
19586	if invalidParams.Len() > 0 {
19587		return invalidParams
19588	}
19589	return nil
19590}
19591
19592// SetArn sets the Arn field's value.
19593func (s *UpdateVPCEConfigurationInput) SetArn(v string) *UpdateVPCEConfigurationInput {
19594	s.Arn = &v
19595	return s
19596}
19597
19598// SetServiceDnsName sets the ServiceDnsName field's value.
19599func (s *UpdateVPCEConfigurationInput) SetServiceDnsName(v string) *UpdateVPCEConfigurationInput {
19600	s.ServiceDnsName = &v
19601	return s
19602}
19603
19604// SetVpceConfigurationDescription sets the VpceConfigurationDescription field's value.
19605func (s *UpdateVPCEConfigurationInput) SetVpceConfigurationDescription(v string) *UpdateVPCEConfigurationInput {
19606	s.VpceConfigurationDescription = &v
19607	return s
19608}
19609
19610// SetVpceConfigurationName sets the VpceConfigurationName field's value.
19611func (s *UpdateVPCEConfigurationInput) SetVpceConfigurationName(v string) *UpdateVPCEConfigurationInput {
19612	s.VpceConfigurationName = &v
19613	return s
19614}
19615
19616// SetVpceServiceName sets the VpceServiceName field's value.
19617func (s *UpdateVPCEConfigurationInput) SetVpceServiceName(v string) *UpdateVPCEConfigurationInput {
19618	s.VpceServiceName = &v
19619	return s
19620}
19621
19622type UpdateVPCEConfigurationOutput struct {
19623	_ struct{} `type:"structure"`
19624
19625	// An object that contains information about your VPC endpoint configuration.
19626	VpceConfiguration *VPCEConfiguration `locationName:"vpceConfiguration" type:"structure"`
19627}
19628
19629// String returns the string representation
19630func (s UpdateVPCEConfigurationOutput) String() string {
19631	return awsutil.Prettify(s)
19632}
19633
19634// GoString returns the string representation
19635func (s UpdateVPCEConfigurationOutput) GoString() string {
19636	return s.String()
19637}
19638
19639// SetVpceConfiguration sets the VpceConfiguration field's value.
19640func (s *UpdateVPCEConfigurationOutput) SetVpceConfiguration(v *VPCEConfiguration) *UpdateVPCEConfigurationOutput {
19641	s.VpceConfiguration = v
19642	return s
19643}
19644
19645// An app or a set of one or more tests to upload or that have been uploaded.
19646type Upload struct {
19647	_ struct{} `type:"structure"`
19648
19649	// The upload's ARN.
19650	Arn *string `locationName:"arn" min:"32" type:"string"`
19651
19652	// The upload's category. Allowed values include:
19653	//
19654	//    * CURATED: An upload managed by AWS Device Farm.
19655	//
19656	//    * PRIVATE: An upload managed by the AWS Device Farm customer.
19657	Category *string `locationName:"category" type:"string" enum:"UploadCategory"`
19658
19659	// The upload's content type (for example, application/octet-stream).
19660	ContentType *string `locationName:"contentType" type:"string"`
19661
19662	// When the upload was created.
19663	Created *time.Time `locationName:"created" type:"timestamp"`
19664
19665	// A message about the upload's result.
19666	Message *string `locationName:"message" type:"string"`
19667
19668	// The upload's metadata. For example, for Android, this contains information
19669	// that is parsed from the manifest and is displayed in the AWS Device Farm
19670	// console after the associated app is uploaded.
19671	Metadata *string `locationName:"metadata" type:"string"`
19672
19673	// The upload's file name.
19674	Name *string `locationName:"name" type:"string"`
19675
19676	// The upload's status.
19677	//
19678	// Must be one of the following values:
19679	//
19680	//    * FAILED
19681	//
19682	//    * INITIALIZED
19683	//
19684	//    * PROCESSING
19685	//
19686	//    * SUCCEEDED
19687	Status *string `locationName:"status" type:"string" enum:"UploadStatus"`
19688
19689	// The upload's type.
19690	//
19691	// Must be one of the following values:
19692	//
19693	//    * ANDROID_APP
19694	//
19695	//    * IOS_APP
19696	//
19697	//    * WEB_APP
19698	//
19699	//    * EXTERNAL_DATA
19700	//
19701	//    * APPIUM_JAVA_JUNIT_TEST_PACKAGE
19702	//
19703	//    * APPIUM_JAVA_TESTNG_TEST_PACKAGE
19704	//
19705	//    * APPIUM_PYTHON_TEST_PACKAGE
19706	//
19707	//    * APPIUM_NODE_TEST_PACKAGE
19708	//
19709	//    * APPIUM_RUBY_TEST_PACKAGE
19710	//
19711	//    * APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE
19712	//
19713	//    * APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE
19714	//
19715	//    * APPIUM_WEB_PYTHON_TEST_PACKAGE
19716	//
19717	//    * APPIUM_WEB_NODE_TEST_PACKAGE
19718	//
19719	//    * APPIUM_WEB_RUBY_TEST_PACKAGE
19720	//
19721	//    * CALABASH_TEST_PACKAGE
19722	//
19723	//    * INSTRUMENTATION_TEST_PACKAGE
19724	//
19725	//    * UIAUTOMATION_TEST_PACKAGE
19726	//
19727	//    * UIAUTOMATOR_TEST_PACKAGE
19728	//
19729	//    * XCTEST_TEST_PACKAGE
19730	//
19731	//    * XCTEST_UI_TEST_PACKAGE
19732	//
19733	//    * APPIUM_JAVA_JUNIT_TEST_SPEC
19734	//
19735	//    * APPIUM_JAVA_TESTNG_TEST_SPEC
19736	//
19737	//    * APPIUM_PYTHON_TEST_SPEC
19738	//
19739	//    * APPIUM_NODE_TEST_SPEC
19740	//
19741	//    * APPIUM_RUBY_TEST_SPEC
19742	//
19743	//    * APPIUM_WEB_JAVA_JUNIT_TEST_SPEC
19744	//
19745	//    * APPIUM_WEB_JAVA_TESTNG_TEST_SPEC
19746	//
19747	//    * APPIUM_WEB_PYTHON_TEST_SPEC
19748	//
19749	//    * APPIUM_WEB_NODE_TEST_SPEC
19750	//
19751	//    * APPIUM_WEB_RUBY_TEST_SPEC
19752	//
19753	//    * INSTRUMENTATION_TEST_SPEC
19754	//
19755	//    * XCTEST_UI_TEST_SPEC
19756	Type *string `locationName:"type" type:"string" enum:"UploadType"`
19757
19758	// The presigned Amazon S3 URL that was used to store a file using a PUT request.
19759	Url *string `locationName:"url" type:"string"`
19760}
19761
19762// String returns the string representation
19763func (s Upload) String() string {
19764	return awsutil.Prettify(s)
19765}
19766
19767// GoString returns the string representation
19768func (s Upload) GoString() string {
19769	return s.String()
19770}
19771
19772// SetArn sets the Arn field's value.
19773func (s *Upload) SetArn(v string) *Upload {
19774	s.Arn = &v
19775	return s
19776}
19777
19778// SetCategory sets the Category field's value.
19779func (s *Upload) SetCategory(v string) *Upload {
19780	s.Category = &v
19781	return s
19782}
19783
19784// SetContentType sets the ContentType field's value.
19785func (s *Upload) SetContentType(v string) *Upload {
19786	s.ContentType = &v
19787	return s
19788}
19789
19790// SetCreated sets the Created field's value.
19791func (s *Upload) SetCreated(v time.Time) *Upload {
19792	s.Created = &v
19793	return s
19794}
19795
19796// SetMessage sets the Message field's value.
19797func (s *Upload) SetMessage(v string) *Upload {
19798	s.Message = &v
19799	return s
19800}
19801
19802// SetMetadata sets the Metadata field's value.
19803func (s *Upload) SetMetadata(v string) *Upload {
19804	s.Metadata = &v
19805	return s
19806}
19807
19808// SetName sets the Name field's value.
19809func (s *Upload) SetName(v string) *Upload {
19810	s.Name = &v
19811	return s
19812}
19813
19814// SetStatus sets the Status field's value.
19815func (s *Upload) SetStatus(v string) *Upload {
19816	s.Status = &v
19817	return s
19818}
19819
19820// SetType sets the Type field's value.
19821func (s *Upload) SetType(v string) *Upload {
19822	s.Type = &v
19823	return s
19824}
19825
19826// SetUrl sets the Url field's value.
19827func (s *Upload) SetUrl(v string) *Upload {
19828	s.Url = &v
19829	return s
19830}
19831
19832// Represents an Amazon Virtual Private Cloud (VPC) endpoint configuration.
19833type VPCEConfiguration struct {
19834	_ struct{} `type:"structure"`
19835
19836	// The Amazon Resource Name (ARN) of the VPC endpoint configuration.
19837	Arn *string `locationName:"arn" min:"32" type:"string"`
19838
19839	// The DNS name that maps to the private IP address of the service you want
19840	// to access.
19841	ServiceDnsName *string `locationName:"serviceDnsName" type:"string"`
19842
19843	// An optional description that provides details about your VPC endpoint configuration.
19844	VpceConfigurationDescription *string `locationName:"vpceConfigurationDescription" type:"string"`
19845
19846	// The friendly name you give to your VPC endpoint configuration to manage your
19847	// configurations more easily.
19848	VpceConfigurationName *string `locationName:"vpceConfigurationName" type:"string"`
19849
19850	// The name of the VPC endpoint service running in your AWS account that you
19851	// want Device Farm to test.
19852	VpceServiceName *string `locationName:"vpceServiceName" type:"string"`
19853}
19854
19855// String returns the string representation
19856func (s VPCEConfiguration) String() string {
19857	return awsutil.Prettify(s)
19858}
19859
19860// GoString returns the string representation
19861func (s VPCEConfiguration) GoString() string {
19862	return s.String()
19863}
19864
19865// SetArn sets the Arn field's value.
19866func (s *VPCEConfiguration) SetArn(v string) *VPCEConfiguration {
19867	s.Arn = &v
19868	return s
19869}
19870
19871// SetServiceDnsName sets the ServiceDnsName field's value.
19872func (s *VPCEConfiguration) SetServiceDnsName(v string) *VPCEConfiguration {
19873	s.ServiceDnsName = &v
19874	return s
19875}
19876
19877// SetVpceConfigurationDescription sets the VpceConfigurationDescription field's value.
19878func (s *VPCEConfiguration) SetVpceConfigurationDescription(v string) *VPCEConfiguration {
19879	s.VpceConfigurationDescription = &v
19880	return s
19881}
19882
19883// SetVpceConfigurationName sets the VpceConfigurationName field's value.
19884func (s *VPCEConfiguration) SetVpceConfigurationName(v string) *VPCEConfiguration {
19885	s.VpceConfigurationName = &v
19886	return s
19887}
19888
19889// SetVpceServiceName sets the VpceServiceName field's value.
19890func (s *VPCEConfiguration) SetVpceServiceName(v string) *VPCEConfiguration {
19891	s.VpceServiceName = &v
19892	return s
19893}
19894
19895const (
19896	// ArtifactCategoryScreenshot is a ArtifactCategory enum value
19897	ArtifactCategoryScreenshot = "SCREENSHOT"
19898
19899	// ArtifactCategoryFile is a ArtifactCategory enum value
19900	ArtifactCategoryFile = "FILE"
19901
19902	// ArtifactCategoryLog is a ArtifactCategory enum value
19903	ArtifactCategoryLog = "LOG"
19904)
19905
19906// ArtifactCategory_Values returns all elements of the ArtifactCategory enum
19907func ArtifactCategory_Values() []string {
19908	return []string{
19909		ArtifactCategoryScreenshot,
19910		ArtifactCategoryFile,
19911		ArtifactCategoryLog,
19912	}
19913}
19914
19915const (
19916	// ArtifactTypeUnknown is a ArtifactType enum value
19917	ArtifactTypeUnknown = "UNKNOWN"
19918
19919	// ArtifactTypeScreenshot is a ArtifactType enum value
19920	ArtifactTypeScreenshot = "SCREENSHOT"
19921
19922	// ArtifactTypeDeviceLog is a ArtifactType enum value
19923	ArtifactTypeDeviceLog = "DEVICE_LOG"
19924
19925	// ArtifactTypeMessageLog is a ArtifactType enum value
19926	ArtifactTypeMessageLog = "MESSAGE_LOG"
19927
19928	// ArtifactTypeVideoLog is a ArtifactType enum value
19929	ArtifactTypeVideoLog = "VIDEO_LOG"
19930
19931	// ArtifactTypeResultLog is a ArtifactType enum value
19932	ArtifactTypeResultLog = "RESULT_LOG"
19933
19934	// ArtifactTypeServiceLog is a ArtifactType enum value
19935	ArtifactTypeServiceLog = "SERVICE_LOG"
19936
19937	// ArtifactTypeWebkitLog is a ArtifactType enum value
19938	ArtifactTypeWebkitLog = "WEBKIT_LOG"
19939
19940	// ArtifactTypeInstrumentationOutput is a ArtifactType enum value
19941	ArtifactTypeInstrumentationOutput = "INSTRUMENTATION_OUTPUT"
19942
19943	// ArtifactTypeExerciserMonkeyOutput is a ArtifactType enum value
19944	ArtifactTypeExerciserMonkeyOutput = "EXERCISER_MONKEY_OUTPUT"
19945
19946	// ArtifactTypeCalabashJsonOutput is a ArtifactType enum value
19947	ArtifactTypeCalabashJsonOutput = "CALABASH_JSON_OUTPUT"
19948
19949	// ArtifactTypeCalabashPrettyOutput is a ArtifactType enum value
19950	ArtifactTypeCalabashPrettyOutput = "CALABASH_PRETTY_OUTPUT"
19951
19952	// ArtifactTypeCalabashStandardOutput is a ArtifactType enum value
19953	ArtifactTypeCalabashStandardOutput = "CALABASH_STANDARD_OUTPUT"
19954
19955	// ArtifactTypeCalabashJavaXmlOutput is a ArtifactType enum value
19956	ArtifactTypeCalabashJavaXmlOutput = "CALABASH_JAVA_XML_OUTPUT"
19957
19958	// ArtifactTypeAutomationOutput is a ArtifactType enum value
19959	ArtifactTypeAutomationOutput = "AUTOMATION_OUTPUT"
19960
19961	// ArtifactTypeAppiumServerOutput is a ArtifactType enum value
19962	ArtifactTypeAppiumServerOutput = "APPIUM_SERVER_OUTPUT"
19963
19964	// ArtifactTypeAppiumJavaOutput is a ArtifactType enum value
19965	ArtifactTypeAppiumJavaOutput = "APPIUM_JAVA_OUTPUT"
19966
19967	// ArtifactTypeAppiumJavaXmlOutput is a ArtifactType enum value
19968	ArtifactTypeAppiumJavaXmlOutput = "APPIUM_JAVA_XML_OUTPUT"
19969
19970	// ArtifactTypeAppiumPythonOutput is a ArtifactType enum value
19971	ArtifactTypeAppiumPythonOutput = "APPIUM_PYTHON_OUTPUT"
19972
19973	// ArtifactTypeAppiumPythonXmlOutput is a ArtifactType enum value
19974	ArtifactTypeAppiumPythonXmlOutput = "APPIUM_PYTHON_XML_OUTPUT"
19975
19976	// ArtifactTypeExplorerEventLog is a ArtifactType enum value
19977	ArtifactTypeExplorerEventLog = "EXPLORER_EVENT_LOG"
19978
19979	// ArtifactTypeExplorerSummaryLog is a ArtifactType enum value
19980	ArtifactTypeExplorerSummaryLog = "EXPLORER_SUMMARY_LOG"
19981
19982	// ArtifactTypeApplicationCrashReport is a ArtifactType enum value
19983	ArtifactTypeApplicationCrashReport = "APPLICATION_CRASH_REPORT"
19984
19985	// ArtifactTypeXctestLog is a ArtifactType enum value
19986	ArtifactTypeXctestLog = "XCTEST_LOG"
19987
19988	// ArtifactTypeVideo is a ArtifactType enum value
19989	ArtifactTypeVideo = "VIDEO"
19990
19991	// ArtifactTypeCustomerArtifact is a ArtifactType enum value
19992	ArtifactTypeCustomerArtifact = "CUSTOMER_ARTIFACT"
19993
19994	// ArtifactTypeCustomerArtifactLog is a ArtifactType enum value
19995	ArtifactTypeCustomerArtifactLog = "CUSTOMER_ARTIFACT_LOG"
19996
19997	// ArtifactTypeTestspecOutput is a ArtifactType enum value
19998	ArtifactTypeTestspecOutput = "TESTSPEC_OUTPUT"
19999)
20000
20001// ArtifactType_Values returns all elements of the ArtifactType enum
20002func ArtifactType_Values() []string {
20003	return []string{
20004		ArtifactTypeUnknown,
20005		ArtifactTypeScreenshot,
20006		ArtifactTypeDeviceLog,
20007		ArtifactTypeMessageLog,
20008		ArtifactTypeVideoLog,
20009		ArtifactTypeResultLog,
20010		ArtifactTypeServiceLog,
20011		ArtifactTypeWebkitLog,
20012		ArtifactTypeInstrumentationOutput,
20013		ArtifactTypeExerciserMonkeyOutput,
20014		ArtifactTypeCalabashJsonOutput,
20015		ArtifactTypeCalabashPrettyOutput,
20016		ArtifactTypeCalabashStandardOutput,
20017		ArtifactTypeCalabashJavaXmlOutput,
20018		ArtifactTypeAutomationOutput,
20019		ArtifactTypeAppiumServerOutput,
20020		ArtifactTypeAppiumJavaOutput,
20021		ArtifactTypeAppiumJavaXmlOutput,
20022		ArtifactTypeAppiumPythonOutput,
20023		ArtifactTypeAppiumPythonXmlOutput,
20024		ArtifactTypeExplorerEventLog,
20025		ArtifactTypeExplorerSummaryLog,
20026		ArtifactTypeApplicationCrashReport,
20027		ArtifactTypeXctestLog,
20028		ArtifactTypeVideo,
20029		ArtifactTypeCustomerArtifact,
20030		ArtifactTypeCustomerArtifactLog,
20031		ArtifactTypeTestspecOutput,
20032	}
20033}
20034
20035const (
20036	// BillingMethodMetered is a BillingMethod enum value
20037	BillingMethodMetered = "METERED"
20038
20039	// BillingMethodUnmetered is a BillingMethod enum value
20040	BillingMethodUnmetered = "UNMETERED"
20041)
20042
20043// BillingMethod_Values returns all elements of the BillingMethod enum
20044func BillingMethod_Values() []string {
20045	return []string{
20046		BillingMethodMetered,
20047		BillingMethodUnmetered,
20048	}
20049}
20050
20051const (
20052	// CurrencyCodeUsd is a CurrencyCode enum value
20053	CurrencyCodeUsd = "USD"
20054)
20055
20056// CurrencyCode_Values returns all elements of the CurrencyCode enum
20057func CurrencyCode_Values() []string {
20058	return []string{
20059		CurrencyCodeUsd,
20060	}
20061}
20062
20063const (
20064	// DeviceAttributeArn is a DeviceAttribute enum value
20065	DeviceAttributeArn = "ARN"
20066
20067	// DeviceAttributePlatform is a DeviceAttribute enum value
20068	DeviceAttributePlatform = "PLATFORM"
20069
20070	// DeviceAttributeFormFactor is a DeviceAttribute enum value
20071	DeviceAttributeFormFactor = "FORM_FACTOR"
20072
20073	// DeviceAttributeManufacturer is a DeviceAttribute enum value
20074	DeviceAttributeManufacturer = "MANUFACTURER"
20075
20076	// DeviceAttributeRemoteAccessEnabled is a DeviceAttribute enum value
20077	DeviceAttributeRemoteAccessEnabled = "REMOTE_ACCESS_ENABLED"
20078
20079	// DeviceAttributeRemoteDebugEnabled is a DeviceAttribute enum value
20080	DeviceAttributeRemoteDebugEnabled = "REMOTE_DEBUG_ENABLED"
20081
20082	// DeviceAttributeAppiumVersion is a DeviceAttribute enum value
20083	DeviceAttributeAppiumVersion = "APPIUM_VERSION"
20084
20085	// DeviceAttributeInstanceArn is a DeviceAttribute enum value
20086	DeviceAttributeInstanceArn = "INSTANCE_ARN"
20087
20088	// DeviceAttributeInstanceLabels is a DeviceAttribute enum value
20089	DeviceAttributeInstanceLabels = "INSTANCE_LABELS"
20090
20091	// DeviceAttributeFleetType is a DeviceAttribute enum value
20092	DeviceAttributeFleetType = "FLEET_TYPE"
20093
20094	// DeviceAttributeOsVersion is a DeviceAttribute enum value
20095	DeviceAttributeOsVersion = "OS_VERSION"
20096
20097	// DeviceAttributeModel is a DeviceAttribute enum value
20098	DeviceAttributeModel = "MODEL"
20099
20100	// DeviceAttributeAvailability is a DeviceAttribute enum value
20101	DeviceAttributeAvailability = "AVAILABILITY"
20102)
20103
20104// DeviceAttribute_Values returns all elements of the DeviceAttribute enum
20105func DeviceAttribute_Values() []string {
20106	return []string{
20107		DeviceAttributeArn,
20108		DeviceAttributePlatform,
20109		DeviceAttributeFormFactor,
20110		DeviceAttributeManufacturer,
20111		DeviceAttributeRemoteAccessEnabled,
20112		DeviceAttributeRemoteDebugEnabled,
20113		DeviceAttributeAppiumVersion,
20114		DeviceAttributeInstanceArn,
20115		DeviceAttributeInstanceLabels,
20116		DeviceAttributeFleetType,
20117		DeviceAttributeOsVersion,
20118		DeviceAttributeModel,
20119		DeviceAttributeAvailability,
20120	}
20121}
20122
20123const (
20124	// DeviceAvailabilityTemporaryNotAvailable is a DeviceAvailability enum value
20125	DeviceAvailabilityTemporaryNotAvailable = "TEMPORARY_NOT_AVAILABLE"
20126
20127	// DeviceAvailabilityBusy is a DeviceAvailability enum value
20128	DeviceAvailabilityBusy = "BUSY"
20129
20130	// DeviceAvailabilityAvailable is a DeviceAvailability enum value
20131	DeviceAvailabilityAvailable = "AVAILABLE"
20132
20133	// DeviceAvailabilityHighlyAvailable is a DeviceAvailability enum value
20134	DeviceAvailabilityHighlyAvailable = "HIGHLY_AVAILABLE"
20135)
20136
20137// DeviceAvailability_Values returns all elements of the DeviceAvailability enum
20138func DeviceAvailability_Values() []string {
20139	return []string{
20140		DeviceAvailabilityTemporaryNotAvailable,
20141		DeviceAvailabilityBusy,
20142		DeviceAvailabilityAvailable,
20143		DeviceAvailabilityHighlyAvailable,
20144	}
20145}
20146
20147const (
20148	// DeviceFilterAttributeArn is a DeviceFilterAttribute enum value
20149	DeviceFilterAttributeArn = "ARN"
20150
20151	// DeviceFilterAttributePlatform is a DeviceFilterAttribute enum value
20152	DeviceFilterAttributePlatform = "PLATFORM"
20153
20154	// DeviceFilterAttributeOsVersion is a DeviceFilterAttribute enum value
20155	DeviceFilterAttributeOsVersion = "OS_VERSION"
20156
20157	// DeviceFilterAttributeModel is a DeviceFilterAttribute enum value
20158	DeviceFilterAttributeModel = "MODEL"
20159
20160	// DeviceFilterAttributeAvailability is a DeviceFilterAttribute enum value
20161	DeviceFilterAttributeAvailability = "AVAILABILITY"
20162
20163	// DeviceFilterAttributeFormFactor is a DeviceFilterAttribute enum value
20164	DeviceFilterAttributeFormFactor = "FORM_FACTOR"
20165
20166	// DeviceFilterAttributeManufacturer is a DeviceFilterAttribute enum value
20167	DeviceFilterAttributeManufacturer = "MANUFACTURER"
20168
20169	// DeviceFilterAttributeRemoteAccessEnabled is a DeviceFilterAttribute enum value
20170	DeviceFilterAttributeRemoteAccessEnabled = "REMOTE_ACCESS_ENABLED"
20171
20172	// DeviceFilterAttributeRemoteDebugEnabled is a DeviceFilterAttribute enum value
20173	DeviceFilterAttributeRemoteDebugEnabled = "REMOTE_DEBUG_ENABLED"
20174
20175	// DeviceFilterAttributeInstanceArn is a DeviceFilterAttribute enum value
20176	DeviceFilterAttributeInstanceArn = "INSTANCE_ARN"
20177
20178	// DeviceFilterAttributeInstanceLabels is a DeviceFilterAttribute enum value
20179	DeviceFilterAttributeInstanceLabels = "INSTANCE_LABELS"
20180
20181	// DeviceFilterAttributeFleetType is a DeviceFilterAttribute enum value
20182	DeviceFilterAttributeFleetType = "FLEET_TYPE"
20183)
20184
20185// DeviceFilterAttribute_Values returns all elements of the DeviceFilterAttribute enum
20186func DeviceFilterAttribute_Values() []string {
20187	return []string{
20188		DeviceFilterAttributeArn,
20189		DeviceFilterAttributePlatform,
20190		DeviceFilterAttributeOsVersion,
20191		DeviceFilterAttributeModel,
20192		DeviceFilterAttributeAvailability,
20193		DeviceFilterAttributeFormFactor,
20194		DeviceFilterAttributeManufacturer,
20195		DeviceFilterAttributeRemoteAccessEnabled,
20196		DeviceFilterAttributeRemoteDebugEnabled,
20197		DeviceFilterAttributeInstanceArn,
20198		DeviceFilterAttributeInstanceLabels,
20199		DeviceFilterAttributeFleetType,
20200	}
20201}
20202
20203const (
20204	// DeviceFormFactorPhone is a DeviceFormFactor enum value
20205	DeviceFormFactorPhone = "PHONE"
20206
20207	// DeviceFormFactorTablet is a DeviceFormFactor enum value
20208	DeviceFormFactorTablet = "TABLET"
20209)
20210
20211// DeviceFormFactor_Values returns all elements of the DeviceFormFactor enum
20212func DeviceFormFactor_Values() []string {
20213	return []string{
20214		DeviceFormFactorPhone,
20215		DeviceFormFactorTablet,
20216	}
20217}
20218
20219const (
20220	// DevicePlatformAndroid is a DevicePlatform enum value
20221	DevicePlatformAndroid = "ANDROID"
20222
20223	// DevicePlatformIos is a DevicePlatform enum value
20224	DevicePlatformIos = "IOS"
20225)
20226
20227// DevicePlatform_Values returns all elements of the DevicePlatform enum
20228func DevicePlatform_Values() []string {
20229	return []string{
20230		DevicePlatformAndroid,
20231		DevicePlatformIos,
20232	}
20233}
20234
20235const (
20236	// DevicePoolTypeCurated is a DevicePoolType enum value
20237	DevicePoolTypeCurated = "CURATED"
20238
20239	// DevicePoolTypePrivate is a DevicePoolType enum value
20240	DevicePoolTypePrivate = "PRIVATE"
20241)
20242
20243// DevicePoolType_Values returns all elements of the DevicePoolType enum
20244func DevicePoolType_Values() []string {
20245	return []string{
20246		DevicePoolTypeCurated,
20247		DevicePoolTypePrivate,
20248	}
20249}
20250
20251const (
20252	// ExecutionResultPending is a ExecutionResult enum value
20253	ExecutionResultPending = "PENDING"
20254
20255	// ExecutionResultPassed is a ExecutionResult enum value
20256	ExecutionResultPassed = "PASSED"
20257
20258	// ExecutionResultWarned is a ExecutionResult enum value
20259	ExecutionResultWarned = "WARNED"
20260
20261	// ExecutionResultFailed is a ExecutionResult enum value
20262	ExecutionResultFailed = "FAILED"
20263
20264	// ExecutionResultSkipped is a ExecutionResult enum value
20265	ExecutionResultSkipped = "SKIPPED"
20266
20267	// ExecutionResultErrored is a ExecutionResult enum value
20268	ExecutionResultErrored = "ERRORED"
20269
20270	// ExecutionResultStopped is a ExecutionResult enum value
20271	ExecutionResultStopped = "STOPPED"
20272)
20273
20274// ExecutionResult_Values returns all elements of the ExecutionResult enum
20275func ExecutionResult_Values() []string {
20276	return []string{
20277		ExecutionResultPending,
20278		ExecutionResultPassed,
20279		ExecutionResultWarned,
20280		ExecutionResultFailed,
20281		ExecutionResultSkipped,
20282		ExecutionResultErrored,
20283		ExecutionResultStopped,
20284	}
20285}
20286
20287const (
20288	// ExecutionResultCodeParsingFailed is a ExecutionResultCode enum value
20289	ExecutionResultCodeParsingFailed = "PARSING_FAILED"
20290
20291	// ExecutionResultCodeVpcEndpointSetupFailed is a ExecutionResultCode enum value
20292	ExecutionResultCodeVpcEndpointSetupFailed = "VPC_ENDPOINT_SETUP_FAILED"
20293)
20294
20295// ExecutionResultCode_Values returns all elements of the ExecutionResultCode enum
20296func ExecutionResultCode_Values() []string {
20297	return []string{
20298		ExecutionResultCodeParsingFailed,
20299		ExecutionResultCodeVpcEndpointSetupFailed,
20300	}
20301}
20302
20303const (
20304	// ExecutionStatusPending is a ExecutionStatus enum value
20305	ExecutionStatusPending = "PENDING"
20306
20307	// ExecutionStatusPendingConcurrency is a ExecutionStatus enum value
20308	ExecutionStatusPendingConcurrency = "PENDING_CONCURRENCY"
20309
20310	// ExecutionStatusPendingDevice is a ExecutionStatus enum value
20311	ExecutionStatusPendingDevice = "PENDING_DEVICE"
20312
20313	// ExecutionStatusProcessing is a ExecutionStatus enum value
20314	ExecutionStatusProcessing = "PROCESSING"
20315
20316	// ExecutionStatusScheduling is a ExecutionStatus enum value
20317	ExecutionStatusScheduling = "SCHEDULING"
20318
20319	// ExecutionStatusPreparing is a ExecutionStatus enum value
20320	ExecutionStatusPreparing = "PREPARING"
20321
20322	// ExecutionStatusRunning is a ExecutionStatus enum value
20323	ExecutionStatusRunning = "RUNNING"
20324
20325	// ExecutionStatusCompleted is a ExecutionStatus enum value
20326	ExecutionStatusCompleted = "COMPLETED"
20327
20328	// ExecutionStatusStopping is a ExecutionStatus enum value
20329	ExecutionStatusStopping = "STOPPING"
20330)
20331
20332// ExecutionStatus_Values returns all elements of the ExecutionStatus enum
20333func ExecutionStatus_Values() []string {
20334	return []string{
20335		ExecutionStatusPending,
20336		ExecutionStatusPendingConcurrency,
20337		ExecutionStatusPendingDevice,
20338		ExecutionStatusProcessing,
20339		ExecutionStatusScheduling,
20340		ExecutionStatusPreparing,
20341		ExecutionStatusRunning,
20342		ExecutionStatusCompleted,
20343		ExecutionStatusStopping,
20344	}
20345}
20346
20347const (
20348	// InstanceStatusInUse is a InstanceStatus enum value
20349	InstanceStatusInUse = "IN_USE"
20350
20351	// InstanceStatusPreparing is a InstanceStatus enum value
20352	InstanceStatusPreparing = "PREPARING"
20353
20354	// InstanceStatusAvailable is a InstanceStatus enum value
20355	InstanceStatusAvailable = "AVAILABLE"
20356
20357	// InstanceStatusNotAvailable is a InstanceStatus enum value
20358	InstanceStatusNotAvailable = "NOT_AVAILABLE"
20359)
20360
20361// InstanceStatus_Values returns all elements of the InstanceStatus enum
20362func InstanceStatus_Values() []string {
20363	return []string{
20364		InstanceStatusInUse,
20365		InstanceStatusPreparing,
20366		InstanceStatusAvailable,
20367		InstanceStatusNotAvailable,
20368	}
20369}
20370
20371const (
20372	// InteractionModeInteractive is a InteractionMode enum value
20373	InteractionModeInteractive = "INTERACTIVE"
20374
20375	// InteractionModeNoVideo is a InteractionMode enum value
20376	InteractionModeNoVideo = "NO_VIDEO"
20377
20378	// InteractionModeVideoOnly is a InteractionMode enum value
20379	InteractionModeVideoOnly = "VIDEO_ONLY"
20380)
20381
20382// InteractionMode_Values returns all elements of the InteractionMode enum
20383func InteractionMode_Values() []string {
20384	return []string{
20385		InteractionModeInteractive,
20386		InteractionModeNoVideo,
20387		InteractionModeVideoOnly,
20388	}
20389}
20390
20391const (
20392	// NetworkProfileTypeCurated is a NetworkProfileType enum value
20393	NetworkProfileTypeCurated = "CURATED"
20394
20395	// NetworkProfileTypePrivate is a NetworkProfileType enum value
20396	NetworkProfileTypePrivate = "PRIVATE"
20397)
20398
20399// NetworkProfileType_Values returns all elements of the NetworkProfileType enum
20400func NetworkProfileType_Values() []string {
20401	return []string{
20402		NetworkProfileTypeCurated,
20403		NetworkProfileTypePrivate,
20404	}
20405}
20406
20407const (
20408	// OfferingTransactionTypePurchase is a OfferingTransactionType enum value
20409	OfferingTransactionTypePurchase = "PURCHASE"
20410
20411	// OfferingTransactionTypeRenew is a OfferingTransactionType enum value
20412	OfferingTransactionTypeRenew = "RENEW"
20413
20414	// OfferingTransactionTypeSystem is a OfferingTransactionType enum value
20415	OfferingTransactionTypeSystem = "SYSTEM"
20416)
20417
20418// OfferingTransactionType_Values returns all elements of the OfferingTransactionType enum
20419func OfferingTransactionType_Values() []string {
20420	return []string{
20421		OfferingTransactionTypePurchase,
20422		OfferingTransactionTypeRenew,
20423		OfferingTransactionTypeSystem,
20424	}
20425}
20426
20427const (
20428	// OfferingTypeRecurring is a OfferingType enum value
20429	OfferingTypeRecurring = "RECURRING"
20430)
20431
20432// OfferingType_Values returns all elements of the OfferingType enum
20433func OfferingType_Values() []string {
20434	return []string{
20435		OfferingTypeRecurring,
20436	}
20437}
20438
20439const (
20440	// RecurringChargeFrequencyMonthly is a RecurringChargeFrequency enum value
20441	RecurringChargeFrequencyMonthly = "MONTHLY"
20442)
20443
20444// RecurringChargeFrequency_Values returns all elements of the RecurringChargeFrequency enum
20445func RecurringChargeFrequency_Values() []string {
20446	return []string{
20447		RecurringChargeFrequencyMonthly,
20448	}
20449}
20450
20451const (
20452	// RuleOperatorEquals is a RuleOperator enum value
20453	RuleOperatorEquals = "EQUALS"
20454
20455	// RuleOperatorLessThan is a RuleOperator enum value
20456	RuleOperatorLessThan = "LESS_THAN"
20457
20458	// RuleOperatorLessThanOrEquals is a RuleOperator enum value
20459	RuleOperatorLessThanOrEquals = "LESS_THAN_OR_EQUALS"
20460
20461	// RuleOperatorGreaterThan is a RuleOperator enum value
20462	RuleOperatorGreaterThan = "GREATER_THAN"
20463
20464	// RuleOperatorGreaterThanOrEquals is a RuleOperator enum value
20465	RuleOperatorGreaterThanOrEquals = "GREATER_THAN_OR_EQUALS"
20466
20467	// RuleOperatorIn is a RuleOperator enum value
20468	RuleOperatorIn = "IN"
20469
20470	// RuleOperatorNotIn is a RuleOperator enum value
20471	RuleOperatorNotIn = "NOT_IN"
20472
20473	// RuleOperatorContains is a RuleOperator enum value
20474	RuleOperatorContains = "CONTAINS"
20475)
20476
20477// RuleOperator_Values returns all elements of the RuleOperator enum
20478func RuleOperator_Values() []string {
20479	return []string{
20480		RuleOperatorEquals,
20481		RuleOperatorLessThan,
20482		RuleOperatorLessThanOrEquals,
20483		RuleOperatorGreaterThan,
20484		RuleOperatorGreaterThanOrEquals,
20485		RuleOperatorIn,
20486		RuleOperatorNotIn,
20487		RuleOperatorContains,
20488	}
20489}
20490
20491const (
20492	// SampleTypeCpu is a SampleType enum value
20493	SampleTypeCpu = "CPU"
20494
20495	// SampleTypeMemory is a SampleType enum value
20496	SampleTypeMemory = "MEMORY"
20497
20498	// SampleTypeThreads is a SampleType enum value
20499	SampleTypeThreads = "THREADS"
20500
20501	// SampleTypeRxRate is a SampleType enum value
20502	SampleTypeRxRate = "RX_RATE"
20503
20504	// SampleTypeTxRate is a SampleType enum value
20505	SampleTypeTxRate = "TX_RATE"
20506
20507	// SampleTypeRx is a SampleType enum value
20508	SampleTypeRx = "RX"
20509
20510	// SampleTypeTx is a SampleType enum value
20511	SampleTypeTx = "TX"
20512
20513	// SampleTypeNativeFrames is a SampleType enum value
20514	SampleTypeNativeFrames = "NATIVE_FRAMES"
20515
20516	// SampleTypeNativeFps is a SampleType enum value
20517	SampleTypeNativeFps = "NATIVE_FPS"
20518
20519	// SampleTypeNativeMinDrawtime is a SampleType enum value
20520	SampleTypeNativeMinDrawtime = "NATIVE_MIN_DRAWTIME"
20521
20522	// SampleTypeNativeAvgDrawtime is a SampleType enum value
20523	SampleTypeNativeAvgDrawtime = "NATIVE_AVG_DRAWTIME"
20524
20525	// SampleTypeNativeMaxDrawtime is a SampleType enum value
20526	SampleTypeNativeMaxDrawtime = "NATIVE_MAX_DRAWTIME"
20527
20528	// SampleTypeOpenglFrames is a SampleType enum value
20529	SampleTypeOpenglFrames = "OPENGL_FRAMES"
20530
20531	// SampleTypeOpenglFps is a SampleType enum value
20532	SampleTypeOpenglFps = "OPENGL_FPS"
20533
20534	// SampleTypeOpenglMinDrawtime is a SampleType enum value
20535	SampleTypeOpenglMinDrawtime = "OPENGL_MIN_DRAWTIME"
20536
20537	// SampleTypeOpenglAvgDrawtime is a SampleType enum value
20538	SampleTypeOpenglAvgDrawtime = "OPENGL_AVG_DRAWTIME"
20539
20540	// SampleTypeOpenglMaxDrawtime is a SampleType enum value
20541	SampleTypeOpenglMaxDrawtime = "OPENGL_MAX_DRAWTIME"
20542)
20543
20544// SampleType_Values returns all elements of the SampleType enum
20545func SampleType_Values() []string {
20546	return []string{
20547		SampleTypeCpu,
20548		SampleTypeMemory,
20549		SampleTypeThreads,
20550		SampleTypeRxRate,
20551		SampleTypeTxRate,
20552		SampleTypeRx,
20553		SampleTypeTx,
20554		SampleTypeNativeFrames,
20555		SampleTypeNativeFps,
20556		SampleTypeNativeMinDrawtime,
20557		SampleTypeNativeAvgDrawtime,
20558		SampleTypeNativeMaxDrawtime,
20559		SampleTypeOpenglFrames,
20560		SampleTypeOpenglFps,
20561		SampleTypeOpenglMinDrawtime,
20562		SampleTypeOpenglAvgDrawtime,
20563		SampleTypeOpenglMaxDrawtime,
20564	}
20565}
20566
20567const (
20568	// TestGridSessionArtifactCategoryVideo is a TestGridSessionArtifactCategory enum value
20569	TestGridSessionArtifactCategoryVideo = "VIDEO"
20570
20571	// TestGridSessionArtifactCategoryLog is a TestGridSessionArtifactCategory enum value
20572	TestGridSessionArtifactCategoryLog = "LOG"
20573)
20574
20575// TestGridSessionArtifactCategory_Values returns all elements of the TestGridSessionArtifactCategory enum
20576func TestGridSessionArtifactCategory_Values() []string {
20577	return []string{
20578		TestGridSessionArtifactCategoryVideo,
20579		TestGridSessionArtifactCategoryLog,
20580	}
20581}
20582
20583const (
20584	// TestGridSessionArtifactTypeUnknown is a TestGridSessionArtifactType enum value
20585	TestGridSessionArtifactTypeUnknown = "UNKNOWN"
20586
20587	// TestGridSessionArtifactTypeVideo is a TestGridSessionArtifactType enum value
20588	TestGridSessionArtifactTypeVideo = "VIDEO"
20589
20590	// TestGridSessionArtifactTypeSeleniumLog is a TestGridSessionArtifactType enum value
20591	TestGridSessionArtifactTypeSeleniumLog = "SELENIUM_LOG"
20592)
20593
20594// TestGridSessionArtifactType_Values returns all elements of the TestGridSessionArtifactType enum
20595func TestGridSessionArtifactType_Values() []string {
20596	return []string{
20597		TestGridSessionArtifactTypeUnknown,
20598		TestGridSessionArtifactTypeVideo,
20599		TestGridSessionArtifactTypeSeleniumLog,
20600	}
20601}
20602
20603const (
20604	// TestGridSessionStatusActive is a TestGridSessionStatus enum value
20605	TestGridSessionStatusActive = "ACTIVE"
20606
20607	// TestGridSessionStatusClosed is a TestGridSessionStatus enum value
20608	TestGridSessionStatusClosed = "CLOSED"
20609
20610	// TestGridSessionStatusErrored is a TestGridSessionStatus enum value
20611	TestGridSessionStatusErrored = "ERRORED"
20612)
20613
20614// TestGridSessionStatus_Values returns all elements of the TestGridSessionStatus enum
20615func TestGridSessionStatus_Values() []string {
20616	return []string{
20617		TestGridSessionStatusActive,
20618		TestGridSessionStatusClosed,
20619		TestGridSessionStatusErrored,
20620	}
20621}
20622
20623const (
20624	// TestTypeBuiltinFuzz is a TestType enum value
20625	TestTypeBuiltinFuzz = "BUILTIN_FUZZ"
20626
20627	// TestTypeBuiltinExplorer is a TestType enum value
20628	TestTypeBuiltinExplorer = "BUILTIN_EXPLORER"
20629
20630	// TestTypeWebPerformanceProfile is a TestType enum value
20631	TestTypeWebPerformanceProfile = "WEB_PERFORMANCE_PROFILE"
20632
20633	// TestTypeAppiumJavaJunit is a TestType enum value
20634	TestTypeAppiumJavaJunit = "APPIUM_JAVA_JUNIT"
20635
20636	// TestTypeAppiumJavaTestng is a TestType enum value
20637	TestTypeAppiumJavaTestng = "APPIUM_JAVA_TESTNG"
20638
20639	// TestTypeAppiumPython is a TestType enum value
20640	TestTypeAppiumPython = "APPIUM_PYTHON"
20641
20642	// TestTypeAppiumNode is a TestType enum value
20643	TestTypeAppiumNode = "APPIUM_NODE"
20644
20645	// TestTypeAppiumRuby is a TestType enum value
20646	TestTypeAppiumRuby = "APPIUM_RUBY"
20647
20648	// TestTypeAppiumWebJavaJunit is a TestType enum value
20649	TestTypeAppiumWebJavaJunit = "APPIUM_WEB_JAVA_JUNIT"
20650
20651	// TestTypeAppiumWebJavaTestng is a TestType enum value
20652	TestTypeAppiumWebJavaTestng = "APPIUM_WEB_JAVA_TESTNG"
20653
20654	// TestTypeAppiumWebPython is a TestType enum value
20655	TestTypeAppiumWebPython = "APPIUM_WEB_PYTHON"
20656
20657	// TestTypeAppiumWebNode is a TestType enum value
20658	TestTypeAppiumWebNode = "APPIUM_WEB_NODE"
20659
20660	// TestTypeAppiumWebRuby is a TestType enum value
20661	TestTypeAppiumWebRuby = "APPIUM_WEB_RUBY"
20662
20663	// TestTypeCalabash is a TestType enum value
20664	TestTypeCalabash = "CALABASH"
20665
20666	// TestTypeInstrumentation is a TestType enum value
20667	TestTypeInstrumentation = "INSTRUMENTATION"
20668
20669	// TestTypeUiautomation is a TestType enum value
20670	TestTypeUiautomation = "UIAUTOMATION"
20671
20672	// TestTypeUiautomator is a TestType enum value
20673	TestTypeUiautomator = "UIAUTOMATOR"
20674
20675	// TestTypeXctest is a TestType enum value
20676	TestTypeXctest = "XCTEST"
20677
20678	// TestTypeXctestUi is a TestType enum value
20679	TestTypeXctestUi = "XCTEST_UI"
20680
20681	// TestTypeRemoteAccessRecord is a TestType enum value
20682	TestTypeRemoteAccessRecord = "REMOTE_ACCESS_RECORD"
20683
20684	// TestTypeRemoteAccessReplay is a TestType enum value
20685	TestTypeRemoteAccessReplay = "REMOTE_ACCESS_REPLAY"
20686)
20687
20688// TestType_Values returns all elements of the TestType enum
20689func TestType_Values() []string {
20690	return []string{
20691		TestTypeBuiltinFuzz,
20692		TestTypeBuiltinExplorer,
20693		TestTypeWebPerformanceProfile,
20694		TestTypeAppiumJavaJunit,
20695		TestTypeAppiumJavaTestng,
20696		TestTypeAppiumPython,
20697		TestTypeAppiumNode,
20698		TestTypeAppiumRuby,
20699		TestTypeAppiumWebJavaJunit,
20700		TestTypeAppiumWebJavaTestng,
20701		TestTypeAppiumWebPython,
20702		TestTypeAppiumWebNode,
20703		TestTypeAppiumWebRuby,
20704		TestTypeCalabash,
20705		TestTypeInstrumentation,
20706		TestTypeUiautomation,
20707		TestTypeUiautomator,
20708		TestTypeXctest,
20709		TestTypeXctestUi,
20710		TestTypeRemoteAccessRecord,
20711		TestTypeRemoteAccessReplay,
20712	}
20713}
20714
20715const (
20716	// UploadCategoryCurated is a UploadCategory enum value
20717	UploadCategoryCurated = "CURATED"
20718
20719	// UploadCategoryPrivate is a UploadCategory enum value
20720	UploadCategoryPrivate = "PRIVATE"
20721)
20722
20723// UploadCategory_Values returns all elements of the UploadCategory enum
20724func UploadCategory_Values() []string {
20725	return []string{
20726		UploadCategoryCurated,
20727		UploadCategoryPrivate,
20728	}
20729}
20730
20731const (
20732	// UploadStatusInitialized is a UploadStatus enum value
20733	UploadStatusInitialized = "INITIALIZED"
20734
20735	// UploadStatusProcessing is a UploadStatus enum value
20736	UploadStatusProcessing = "PROCESSING"
20737
20738	// UploadStatusSucceeded is a UploadStatus enum value
20739	UploadStatusSucceeded = "SUCCEEDED"
20740
20741	// UploadStatusFailed is a UploadStatus enum value
20742	UploadStatusFailed = "FAILED"
20743)
20744
20745// UploadStatus_Values returns all elements of the UploadStatus enum
20746func UploadStatus_Values() []string {
20747	return []string{
20748		UploadStatusInitialized,
20749		UploadStatusProcessing,
20750		UploadStatusSucceeded,
20751		UploadStatusFailed,
20752	}
20753}
20754
20755const (
20756	// UploadTypeAndroidApp is a UploadType enum value
20757	UploadTypeAndroidApp = "ANDROID_APP"
20758
20759	// UploadTypeIosApp is a UploadType enum value
20760	UploadTypeIosApp = "IOS_APP"
20761
20762	// UploadTypeWebApp is a UploadType enum value
20763	UploadTypeWebApp = "WEB_APP"
20764
20765	// UploadTypeExternalData is a UploadType enum value
20766	UploadTypeExternalData = "EXTERNAL_DATA"
20767
20768	// UploadTypeAppiumJavaJunitTestPackage is a UploadType enum value
20769	UploadTypeAppiumJavaJunitTestPackage = "APPIUM_JAVA_JUNIT_TEST_PACKAGE"
20770
20771	// UploadTypeAppiumJavaTestngTestPackage is a UploadType enum value
20772	UploadTypeAppiumJavaTestngTestPackage = "APPIUM_JAVA_TESTNG_TEST_PACKAGE"
20773
20774	// UploadTypeAppiumPythonTestPackage is a UploadType enum value
20775	UploadTypeAppiumPythonTestPackage = "APPIUM_PYTHON_TEST_PACKAGE"
20776
20777	// UploadTypeAppiumNodeTestPackage is a UploadType enum value
20778	UploadTypeAppiumNodeTestPackage = "APPIUM_NODE_TEST_PACKAGE"
20779
20780	// UploadTypeAppiumRubyTestPackage is a UploadType enum value
20781	UploadTypeAppiumRubyTestPackage = "APPIUM_RUBY_TEST_PACKAGE"
20782
20783	// UploadTypeAppiumWebJavaJunitTestPackage is a UploadType enum value
20784	UploadTypeAppiumWebJavaJunitTestPackage = "APPIUM_WEB_JAVA_JUNIT_TEST_PACKAGE"
20785
20786	// UploadTypeAppiumWebJavaTestngTestPackage is a UploadType enum value
20787	UploadTypeAppiumWebJavaTestngTestPackage = "APPIUM_WEB_JAVA_TESTNG_TEST_PACKAGE"
20788
20789	// UploadTypeAppiumWebPythonTestPackage is a UploadType enum value
20790	UploadTypeAppiumWebPythonTestPackage = "APPIUM_WEB_PYTHON_TEST_PACKAGE"
20791
20792	// UploadTypeAppiumWebNodeTestPackage is a UploadType enum value
20793	UploadTypeAppiumWebNodeTestPackage = "APPIUM_WEB_NODE_TEST_PACKAGE"
20794
20795	// UploadTypeAppiumWebRubyTestPackage is a UploadType enum value
20796	UploadTypeAppiumWebRubyTestPackage = "APPIUM_WEB_RUBY_TEST_PACKAGE"
20797
20798	// UploadTypeCalabashTestPackage is a UploadType enum value
20799	UploadTypeCalabashTestPackage = "CALABASH_TEST_PACKAGE"
20800
20801	// UploadTypeInstrumentationTestPackage is a UploadType enum value
20802	UploadTypeInstrumentationTestPackage = "INSTRUMENTATION_TEST_PACKAGE"
20803
20804	// UploadTypeUiautomationTestPackage is a UploadType enum value
20805	UploadTypeUiautomationTestPackage = "UIAUTOMATION_TEST_PACKAGE"
20806
20807	// UploadTypeUiautomatorTestPackage is a UploadType enum value
20808	UploadTypeUiautomatorTestPackage = "UIAUTOMATOR_TEST_PACKAGE"
20809
20810	// UploadTypeXctestTestPackage is a UploadType enum value
20811	UploadTypeXctestTestPackage = "XCTEST_TEST_PACKAGE"
20812
20813	// UploadTypeXctestUiTestPackage is a UploadType enum value
20814	UploadTypeXctestUiTestPackage = "XCTEST_UI_TEST_PACKAGE"
20815
20816	// UploadTypeAppiumJavaJunitTestSpec is a UploadType enum value
20817	UploadTypeAppiumJavaJunitTestSpec = "APPIUM_JAVA_JUNIT_TEST_SPEC"
20818
20819	// UploadTypeAppiumJavaTestngTestSpec is a UploadType enum value
20820	UploadTypeAppiumJavaTestngTestSpec = "APPIUM_JAVA_TESTNG_TEST_SPEC"
20821
20822	// UploadTypeAppiumPythonTestSpec is a UploadType enum value
20823	UploadTypeAppiumPythonTestSpec = "APPIUM_PYTHON_TEST_SPEC"
20824
20825	// UploadTypeAppiumNodeTestSpec is a UploadType enum value
20826	UploadTypeAppiumNodeTestSpec = "APPIUM_NODE_TEST_SPEC"
20827
20828	// UploadTypeAppiumRubyTestSpec is a UploadType enum value
20829	UploadTypeAppiumRubyTestSpec = "APPIUM_RUBY_TEST_SPEC"
20830
20831	// UploadTypeAppiumWebJavaJunitTestSpec is a UploadType enum value
20832	UploadTypeAppiumWebJavaJunitTestSpec = "APPIUM_WEB_JAVA_JUNIT_TEST_SPEC"
20833
20834	// UploadTypeAppiumWebJavaTestngTestSpec is a UploadType enum value
20835	UploadTypeAppiumWebJavaTestngTestSpec = "APPIUM_WEB_JAVA_TESTNG_TEST_SPEC"
20836
20837	// UploadTypeAppiumWebPythonTestSpec is a UploadType enum value
20838	UploadTypeAppiumWebPythonTestSpec = "APPIUM_WEB_PYTHON_TEST_SPEC"
20839
20840	// UploadTypeAppiumWebNodeTestSpec is a UploadType enum value
20841	UploadTypeAppiumWebNodeTestSpec = "APPIUM_WEB_NODE_TEST_SPEC"
20842
20843	// UploadTypeAppiumWebRubyTestSpec is a UploadType enum value
20844	UploadTypeAppiumWebRubyTestSpec = "APPIUM_WEB_RUBY_TEST_SPEC"
20845
20846	// UploadTypeInstrumentationTestSpec is a UploadType enum value
20847	UploadTypeInstrumentationTestSpec = "INSTRUMENTATION_TEST_SPEC"
20848
20849	// UploadTypeXctestUiTestSpec is a UploadType enum value
20850	UploadTypeXctestUiTestSpec = "XCTEST_UI_TEST_SPEC"
20851)
20852
20853// UploadType_Values returns all elements of the UploadType enum
20854func UploadType_Values() []string {
20855	return []string{
20856		UploadTypeAndroidApp,
20857		UploadTypeIosApp,
20858		UploadTypeWebApp,
20859		UploadTypeExternalData,
20860		UploadTypeAppiumJavaJunitTestPackage,
20861		UploadTypeAppiumJavaTestngTestPackage,
20862		UploadTypeAppiumPythonTestPackage,
20863		UploadTypeAppiumNodeTestPackage,
20864		UploadTypeAppiumRubyTestPackage,
20865		UploadTypeAppiumWebJavaJunitTestPackage,
20866		UploadTypeAppiumWebJavaTestngTestPackage,
20867		UploadTypeAppiumWebPythonTestPackage,
20868		UploadTypeAppiumWebNodeTestPackage,
20869		UploadTypeAppiumWebRubyTestPackage,
20870		UploadTypeCalabashTestPackage,
20871		UploadTypeInstrumentationTestPackage,
20872		UploadTypeUiautomationTestPackage,
20873		UploadTypeUiautomatorTestPackage,
20874		UploadTypeXctestTestPackage,
20875		UploadTypeXctestUiTestPackage,
20876		UploadTypeAppiumJavaJunitTestSpec,
20877		UploadTypeAppiumJavaTestngTestSpec,
20878		UploadTypeAppiumPythonTestSpec,
20879		UploadTypeAppiumNodeTestSpec,
20880		UploadTypeAppiumRubyTestSpec,
20881		UploadTypeAppiumWebJavaJunitTestSpec,
20882		UploadTypeAppiumWebJavaTestngTestSpec,
20883		UploadTypeAppiumWebPythonTestSpec,
20884		UploadTypeAppiumWebNodeTestSpec,
20885		UploadTypeAppiumWebRubyTestSpec,
20886		UploadTypeInstrumentationTestSpec,
20887		UploadTypeXctestUiTestSpec,
20888	}
20889}
20890